Infocomm TechnologyInformation and communications technology professionalsISCO 2514
embedded systems software developer
Embedded systems software developers program, implement, document and maintain software to be run on an embedded system.
European Skills Framework
Skills and knowledge areas required for this occupation based on European classification.
Essential (15)
embedded systemsembedded systemsThe computer systems and components with a specialised and autonomous function within a larger system or machine such as embedded systems software architectures, embedded peripherals, design principle...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...digital systemsdigital systemsSystems to store, process and spread information in digital form. They are hardware, software and networks, as well as the ways in which these can be employed.ICT debugging toolsICT debugging toolsThe ICT tools used to test and debug programs and software code, such as GNU Debugger (GDB), Intel Debugger (IDB), Microsoft Visual Studio Debugger, Valgrind and WinDbg.integrated development environment softwareintegrated development environment softwareThe suite of software development tools for writing programs, such as compiler, debugger, code editor, code highlights, packaged in a unified user interface, such as Visual Studio or Eclipse.Internet of ThingsInternet of ThingsThe general principles, categories, requirements, limitations and vulnerabilities of smart connected devices (most of them with intended internet connectivity).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.debug softwaredebug softwareRepair computer code by analysing testing results, locating the defects causing the software to output an incorrect or unexpected result and remove these faults.use software design patternsuse software design patternsUtilise reusable solutions, formalised best practices, to solve common ICT development tasks in software development and design.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.develop ICT device driverdevelop ICT device driverCreate a software program that controls the working of an ICT device and its interaction with other applications.interpret technical textsinterpret technical textsRead and understand technical texts that provide information on how to perform a task, usually explained in steps.use software librariesuse software librariesUtilise collections of codes and software packages which capture frequently used routines to help programmers simplify their work.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 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...
Optional (60)
HaskellHaskellThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Haskell.KDevelopKDevelopThe computer program KDevelop 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 devel...SAS languageSAS languageThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in SAS language.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.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.PHPPHPThe techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in PHP.software anomaliessoftware anomaliesThe deviations of what is standard and exceptional events during software system performance, identification of incidents that can alter the flow and the process of system execution.XcodeXcodeThe computer program Xcode 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 develope...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.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.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.STAFSTAFThe tool STAF is a software program to perform configuration identification, control, status accounting and audit.Eclipse (integrated development environment software)Eclipse (integrated development environment software)The computer program Eclipse 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 develo...AnsibleAnsibleThe tool Ansible is a software program to perform configuration identification, control, status accounting and audit.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.World Wide Web Consortium standardsWorld Wide Web Consortium standardsThe standards, technical specifications and guidelines developed by the international organisation World Wide Web Consortium (W3C) which allow the design and development of web applications.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.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++.trading softwaretrading softwareThe finance and trading integrated software solutions.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.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.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.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.develop automated migration methodsdevelop automated migration methodsCreate automated transfer of ICT information between storage types, formats and systems to save human resources from performing the task manually.use concurrent programminguse concurrent programmingUtilise specialised ICT tools to create programs that can execute concurrent operations by splitting programs into parallel processes and, once computed, combining the outcomes together.use logic programminguse logic programmingUtilise specialised ICT tools to create computer code composed of series of sentences in logical form, expressing rules and facts about some problem domain. Use programming languages which support thi...use object-oriented programminguse object-oriented programmingUtilise specialised ICT tools for programming paradigm based on the concept of objects, which can contain data in the form of fields and code in the form of procedures. Use programming languages which...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.use automatic programminguse automatic programmingUtilise specialised software tools to generate computer code from specifications, such as diagrams, structured informations or other means of describing functionality.develop creative ideasdevelop creative ideasDeveloping new artistic concepts and creative ideas.use functional programminguse functional programmingUtilise specialised ICT tools to create computer code which treats computation as the evaluation of mathematical functions and seeks to avoid state and mutable data. Use programming languages which su...integrate system componentsintegrate system componentsSelect and use integration techniques and tools to plan and implement integration of hardware and software modules and components in a system.adapt to changes in technological development plansadapt to changes in technological development plansModify the current design and development activities of technological projects to meet changes in requests or strategies. Ensure that the organisation's or client's needs are met and that any sudden r...design user interfacedesign user interfaceCreate software or device components which enable interaction between humans and systems or machines, using appropriate techniques, languages and tools so as to streamline interaction while using the ...
Related Occupations
Other occupations in the Other category that share similar skill requirements.
AI Replacement Risk
81/ 100
Very High Risk
Low riskHigh risk