Profession embedded systems software developer
Embedded systems software developers program, implement, document and maintain software to be run on an embedded system.
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
- Integrated development environment software
The 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.
- Computer programming
The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms (e.g. object oriented programming, functional programming) and of programming languages.
- Internet of Things
The general principles, categories, requirements, limitations and vulnerabilities of smart connected devices (most of them with intended internet connectivity).
- ICT debugging tools
The 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.
- Embedded systems
The 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 principles and development tools.
- 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
- Use software libraries
Utilise collections of codes and software packages which capture frequently used routines to help programmers simplify their work.
- Debug software
Repair computer code by analysing testing results, locating the defects causing the software to output an incorrect or unexpected result and removing these faults.
- 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.
- Create flowchart diagram
Compose a diagram that illustrates systematic progress through a procedure or system using connecting lines and a set of symbols.
- 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.
- Use software design patterns
Utilise reusable solutions, formalised best practices, to solve common ICT development tasks in software development and design.
- Develop software prototype
Create a first incomplete or preliminary version of a piece of software application to simulate some specific aspects of the final product.
- Develop ICT device driver
Create a software program that controls the working of an ICT device and its interaction with other applications.
- Interpret technical texts
Read and understand technical texts that provide information on how to perform a task, usually explained in steps.
- Utilise computer-aided software engineering tools
Use software tools (CASE) to support the development lifecycle, design and implementation of software and applications of high-quality that can be easily maintained.
Optional knowledge and skills
xcode use functional programming lisp ict security legislation design user interface groovy adapt to changes in technological development plans c++ use concurrent programming salt (tools for software configuration management) ruby (computer programming) staf typescript ml (computer programming) c# javascript scala puppet (tools for software configuration management) sas language ansible apache maven jenkins (tools for software configuration management) develop automated migration methods swift (computer programming) php scratch (computer programming) openedge advanced business language object-oriented modelling perl use automatic programming kdevelop r collect customer feedback on applications software anomalies objective-c eclipse (integrated development environment software) microsoft visual c++ cobol ajax visual studio .net asp.net abap use object-oriented programming java (computer programming) common lisp develop creative ideas sap r3 vbscript use logic programming python (computer programming) world wide web consortium standards matlab pascal (computer programming) prolog (computer programming) haskell assembly (computer programming) apl integrate system componentsSource: Sisyphus ODB