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
- Investigative / Realistic
Knowledge
- 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.
- 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.
- 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.
- Unified modelling language
The general-purpose modelling language used in software development to offer a standard visualisation of system designs.
- 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.
Skills
- 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.
- 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.
- 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.
- 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.
- 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 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.
- 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.
- Define software architecture
Create and document the structure of software products including components, coupling and interfaces. Ensure feasibility, functionality and compatibility with existing platforms.
- 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.
- 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.
- 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.
- Create flowchart diagram
Compose a diagram that illustrates systematic progress through a procedure or system using connecting lines and a set of symbols.