Profession software architect
Software architects create the technical design and the functional model of a software system, based on functional specifications. They also design the architecture of the system or different modules and components related to the business' or customer requirements, technical platform, computer language or development environment.
Would you like to know what kind of career and professions suit you best? Take our free Holland code career test and find out.
Personality Type
Knowledge
- Object-oriented modelling
The object-oriented paradigm, which is based on classes, objects, methods and interfaces and their application in software design and analysis, programming organisation and techniques.
- Unified modelling language
The general-purpose modelling language used in software development to offer a standard visualisation of system designs.
- Business process modelling
The tools, methods and notations such as Business Process Model and Notation (BPMN) and Business Process Execution Language (BPEL), used to describe and analyse the characteristics of a business process and model its further development.
- Systems development life-cycle
The sequence of steps, such as planning, creating, testing and deploying and the models for the development and life-cycle management of a system.
- Tools for software configuration management
The software programs to perform configuration identification, control, status accounting and audit, such as CVS, ClearCase, Subversion, GIT and TortoiseSVN perform this management.
Skills
- Create flowchart diagram
Compose a diagram that illustrates systematic progress through a procedure or system using connecting lines and a set of symbols.
- Define technical requirements
Specify technical properties of goods, materials, methods, processes, services, systems, software and functionalities by identifying and responding to the particular needs that are to be satisfied according to customer requirements.
- Oversee development of software
Organise, plan and supervise the development of the applications and frameworks in order to create a software product, from the earliest planning stages to the final product test.
- Analyse business requirements
Study clients' needs and expectations for a product or service in order to identify and resolve inconsistencies and possible disagreements of involved stakeholders.
- Build business relationships
Establish a positive, long-term relationship between organisations and interested third parties such as suppliers, distributors, shareholders and other stakeholders in order to inform them of the organisation and its objectives.
- Align software with system architectures
Put system design and technical specifications in line with software architecture in order to ensure the integration and interoperability between components of the system.
- Define software architecture
Create and document the structure of software products including components, coupling and interfaces. Ensure feasibility, functionality and compatibility with existing platforms.
- Provide cost benefit analysis reports
Prepare, compile and communicate reports with broken down cost analysis on the proposal and budget plans of the company. Analyse the financial or social costs and benefits of a project or investment in advance over a given period of time.
- Collect customer feedback on applications
Gather a response and analyse data from customers to identify requests or problems in order to improve applications and overall customer satisfaction.
- Design process
Identify the workflow and resource requirements for a particular process, using a variety of tools such as process simulation software, flowcharting and scale models.
- Create software design
Transpose a series of requirements into a clear and organised software design.
- Analyse software specifications
Assess the specifications of a software product or system to be developed by identifying functional and non-functional requirements, constraints and possible sets of use cases which illustrate interactions between the software and its users.
- Provide technical documentation
Prepare documentation for existing and upcoming products or services, describing their functionality and composition in such a way that it is understandable for a wide audience without technical background and compliant with defined requirements and standards. Keep documentation up to date.
Optional knowledge and skills
haskell computer programming ict project management methodologies pascal (computer programming) web programming c# ansible staf assembly (computer programming) utilise computer-aided software engineering tools asp.net java (computer programming) sap r3 implement data warehousing techniques apache maven javascript manage staff design database scheme abap python (computer programming) systems theory lisp coffeescript matlab swift (computer programming) common lisp smalltalk (computer programming) puppet (tools for software configuration management) visual studio .net ml (computer programming) provide ict consulting advice openedge advanced business language groovy erlang develop software prototype ruby (computer programming) ajax use markup languages php ict security legislation microsoft visual c++ prolog (computer programming) jenkins (tools for software configuration management) scala perform resource planning cobol perform risk analysis apl typescript vbscript salt (tools for software configuration management) perl c++ perform ict troubleshooting scratch (computer programming) task algorithmisation lean project management r agile project management objective-c sas language apply ict systems theory process-based managementSource: Sisyphus ODB