Description
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.
EssentialOptional
Theoretical Knowledge
systems development life-cycleobject-oriented modellingbusiness process modellingtools for software configuration managementunified modelling languagesystem designErlangSmalltalk (computer programming)COBOLsystems theoryVisual BasicHaskellPuppet (tools for software configuration management)CoffeeScriptRObjective-CPerlICT security legislationScalaPython (computer programming)APLSwift (computer programming)VBScriptScratch (computer programming)Pascal (computer programming)Ruby (computer programming)TypeScriptC#ICT project management methodologiesML (computer programming)lean project managementProlog (computer programming)Assembly (computer programming)OpenEdge Advanced Business LanguageAnsiblesecurity engineeringJenkins (tools for software configuration management)Apache MavenGroovytask algorithmisationSAP R3JavaScriptSPARKProcess-based managementABAPPHPSalt (tools for software configuration management)Agile project managementJava (computer programming)Common LispSTAFMATLABASP.NETWildFlySAS languageweb programmingLispAJAXMicrosoft Visual C++computer programmingC++
Practical Skills
create software designoversee development of softwaredesign processprovide cost benefit analysis reportsanalyse software specificationsbuild business relationshipsalign software with system architecturesdefine software architectureanalyse business requirementscreate flowchart diagramcollect customer feedback on applicationsuse an application-specific interfacedefine technical requirementsdesign database schemedesign cloud architecturedo cloud refactoringimplement data warehousing techniquesapply ICT systems theoryperform risk analysisdesign database in the cloudmanage staffperform resource planningprovide ICT consulting adviceuse query languagesutilise computer-aided software engineering toolsdevelop software prototypeuse markup languagesperform ICT troubleshooting