Infocomm TechnologyInformation and communications technology professionalsISCO 2512
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.
European Skills Framework
Skills and knowledge areas required for this occupation based on European classification.
Essential (18)
systems development life-cyclesystems development life-cycleThe sequence of steps, such as planning, creating, testing and deploying and the models for the development and life-cycle management of a system.object-oriented modellingobject-oriented modellingThe 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 languageunified modelling languageThe general-purpose modelling language used in software development to offer a standard visualisation of system designs.business process modellingbusiness process modellingThe 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 proce...system designsystem designThe process of defining the architecture for different components and modules of a system, as well as the relevant data, for satisfying specific requirements.use an application-specific interfaceuse an application-specific interfaceUnderstand and use interfaces particular to an application or use case.align software with system architecturesalign software with system architecturesPut system design and technical specifications in line with software architecture in order to ensure the integration and interoperability between components of the system.design processdesign processIdentify 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 designcreate software designTranspose a series of requirements into a clear and organised software design.provide cost benefit analysis reportsprovide cost benefit analysis reportsPrepare, 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 i...collect customer feedback on applicationscollect customer feedback on applicationsGather a response and analyse data from customers to identify requests or problems in order to improve applications and overall customer satisfaction.oversee development of softwareoversee development of softwareOrganise, 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 diagramcreate flowchart diagramCompose a diagram that illustrates systematic progress through a procedure or system using connecting lines and a set of symbols.analyse business requirementsanalyse business requirementsStudy clients' needs and expectations for a product or service in order to identify and resolve inconsistencies and possible disagreements of involved stakeholders.define technical requirementsdefine technical requirementsSpecify 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 acc...build business relationshipsbuild business relationshipsEstablish 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 orga...analyse software specificationsanalyse software specificationsAssess 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 interac...define software architecturedefine software architectureCreate and document the structure of software products including components, coupling and interfaces. Ensure feasibility, functionality and compatibility with existing platforms.
Optional (70)
HaskellHaskellThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Haskell.ErlangErlangThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Erlang.SAS languageSAS languageThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in SAS language.Agile project managementAgile project managementThe agile project management approach is a methodology for planning, managing and overseeing of ICT resources in order to meet specific goals and using project management ICT tools.Ruby (computer programming)Ruby (computer programming)The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Ruby.Common LispCommon LispThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Common Lisp.Apache MavenApache MavenThe tool Apache Maven is a software program to perform configuration identification, control, status accounting and audit of software during its development and maintenance.LispLispThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Lisp.Visual BasicVisual BasicThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Visual Basic.Java (computer programming)Java (computer programming)The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Java.computer programmingcomputer programmingThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms (e.g. object oriented programming, functional programming) a...Prolog (computer programming)Prolog (computer programming)The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Prolog.OpenEdge Advanced Business LanguageOpenEdge Advanced Business LanguageThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in OpenEdge Advanced Business Language.JavaScriptJavaScriptThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in JavaScript.PerlPerlThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Perl.Smalltalk (computer programming)Smalltalk (computer programming)The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Smalltalk.PHPPHPThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in PHP.Assembly (computer programming)Assembly (computer programming)The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Assembly.C#C#The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in C#.RRThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in R.GroovyGroovyThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Groovy.ASP.NETASP.NETThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in ASP.NET.APLAPLThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in APL.Puppet (tools for software configuration management)Puppet (tools for software configuration management)The tool Puppet is a software program to perform configuration identification, control, status accounting and audit.web programmingweb programmingThe programming paradigm that is based on combining markup (which adds context and structure to text) and other web programming code, such as AJAX, javascript and PHP, in order to carry out appropriat...STAFSTAFThe tool STAF is a software program to perform configuration identification, control, status accounting and audit.security engineeringsecurity engineeringInterdisciplinary field of study that focuses on the realisation of secure systems and the technology to protect individuals or information from malice, errors, or unauthorized access. It involves def...AnsibleAnsibleThe tool Ansible is a software program to perform configuration identification, control, status accounting and audit.task algorithmisationtask algorithmisationThe techniques to convert unstructured descriptions of a process into step-by-step sequence of actions of a finite number of steps.ICT security legislationICT security legislationThe set of legislative rules that safeguards information technology, ICT networks and computer systems and legal consequences which result from their misuse. Regulated measures include firewalls, intr...Microsoft Visual C++Microsoft Visual C++The computer program Visual C++ is a suite of software development tools for writing programs, such as compiler, debugger, code editor, code highlights, packaged in a unified user interface. It is dev...TypeScriptTypeScriptThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in TypeScript.CoffeeScriptCoffeeScriptThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in CoffeeScript.Objective-CObjective-CThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Objective-C.ML (computer programming)ML (computer programming)The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in ML.SPARKSPARKThe Java micro framework software development environment which provide specific features and components that support and guide web applications development.WildFlyWildFlyThe open-source application server JBoss is a Linux based platform which supports Java applications and large websites.AJAXAJAXThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in AJAX.C++C++The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in C++.SAP R3SAP R3The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in SAP R3.Swift (computer programming)Swift (computer programming)The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Swift.ICT project management methodologiesICT project management methodologiesThe methodologies or models for planning, managing and overseeing of ICT resources in order to meet specific goals, such methodologies are Waterfall, Incremental, V-Model, Scrum or Agile and using pro...MATLABMATLABThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in MATLAB.Salt (tools for software configuration management)Salt (tools for software configuration management)The tool Salt is a software program to perform configuration identification, control, status accounting and audit.Python (computer programming)Python (computer programming)The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Python.systems theorysystems theoryThe principles that can be applied to all types of systems at all hierarchical levels, which describe the system's internal organisation, its mechanisms of maintaining identity and stability and achie...Scratch (computer programming)Scratch (computer programming)The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Scratch.Process-based managementProcess-based managementThe process-based management approach is a methodology for planning, managing and overseeing of ICT resources in order to meet specific goals and using project management ICT tools.lean project managementlean project managementThe lean project management approach is a methodology for planning, managing and overseeing of ICT resources in order to meet specific goals and using project management ICT tools.VBScriptVBScriptThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in VBScript.COBOLCOBOLThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in COBOL.Pascal (computer programming)Pascal (computer programming)The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Pascal.ABAPABAPThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in ABAP.Jenkins (tools for software configuration management)Jenkins (tools for software configuration management)The tool Jenkins is a software program to perform configuration identification, control, status accounting and audit of software during its development and maintenance.ScalaScalaThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Scala.use markup languagesuse markup languagesUtilise computer languages that are syntactically distinguishable from the text, to add annotations to a document, specify layout and process types of documents such as HTML.design cloud architecturedesign cloud architectureDesign a multi-tier cloud architecture solution, which tolerates faults and is fit for the workload and other business needs. Identify elastic and scalable computing solutions, select high-performing ...utilise computer-aided software engineering toolsutilise computer-aided software engineering toolsUse software tools (CASE) to support the development lifecycle, design and implementation of software and applications of high-quality that can be easily maintained.perform risk analysisperform risk analysisIdentify and assess factors that may jeopardise the success of a project or threaten the organisation's functioning. Implement procedures to avoid or minimise their impact.provide ICT consulting adviceprovide ICT consulting adviceAdvise on appropriate solutions in the field of ICT by selecting alternatives and optimising decisions while taking into account potential risks, benefits and overall impact to professional customers.manage staffmanage staffManage employees and subordinates, working in a team or individually, to maximise their performance and contribution. Schedule their work and activities, give instructions, motivate and direct the wor...do cloud refactoringdo cloud refactoringOptimise application to best use cloud services and features, migrate existing application code to run on cloud infrastructure.design database schemedesign database schemeDraft a database scheme by following the Relational Database Management System (RDBMS) rules in order to create a logically arranged group of objects such as tables, columns and processes.perform ICT troubleshootingperform ICT troubleshootingIdentify problems with servers, desktops, printers, networks, and remote access, and perform actions which solve the problems.use query languagesuse query languagesRetrieve information from a database or information system using computer languages designed for the retrieval of data.develop software prototypedevelop software prototypeCreate a first incomplete or preliminary version of a piece of software application to simulate some specific aspects of the final product.design database in the clouddesign database in the cloudApply design principles for an adaptive, elastic, automated, loosely coupled databases making use of cloud infrastructure. Aim to remove any single point of failure through distributed database design...apply ICT systems theoryapply ICT systems theoryImplement principles of ICT systems theory in order to explain and document system characteristics that can be applied universally to other systems.perform resource planningperform resource planningEstimate the expected input in terms of time, human and financial resources necessary to achieve the project objectives.implement data warehousing techniquesimplement data warehousing techniquesApply models and tools such as online analytical processing (OLAP) and Online transaction processing (OLTP), to integrate structured or unstructured data from sources, in order to create a central dep...
Related Occupations
Other occupations in the Other category that share similar skill requirements.
AI Replacement Risk
82/ 100
Very High Risk
Low riskHigh risk