Embedded Systems Engineer
The Embedded Systems Engineer envisions, designs, implements, tests, and delivers embedded systems in a product development environment. He/She contributes to the definition of requirement, product, design specifications and collaborates with hardware team throughout the software development lifecycle. He defines innovative approaches to embedded systems development and integration of security aspects. He develops prototypes, creates software tools for test and automation, and evaluates latest technologies. He works with a team setting and is proficient in programming languages required by the organization. He is also knowledgeable of microprocessor and microcontroller based hardware components. The Embedded Systems Engineer is methodical in the development and integration of embedded systems, and also creative in exploring ways to enhance embedded system solutions further. He works effectively in a team, guides junior team members and is able to engage others when presenting his ideas to both internal and external stakeholders.
Skills and Competencies
Technical Skills & Competencies
Generic Skills & Competencies
Critical Work Functions and Key Tasks
• Determine user requirements based on business needs
• Perform requirements analysis
• Formulate specifications on delivery platforms for embedded systems
• Develop understanding of hardware schematics and datasheets
• Determine approaches that balance security, stability, and performance needs
• Identify system-level traceability requirements and tools
• Develop project documentation, business cases, proposals, and communication materials
• Lead the design of specific modules for development of software for embedded systems
• Generate design specification and test cases and/or scripts
• Define test frameworks and environments
• Create software tools for tests and automation
• Participate in hardware design and security architecture reviews
• Evaluate software resilience against reverse engineering
• Define best design practices for development and testing
• Analyse and enhance efficiency, stability and scalability of system and resources
• Optimise codes for implementation in various platforms
• Develop new processes and tools to speed up the testing process
• Recommend ways to improve performance and robustness
• Oversee the development of technical guides for internal and external users
• Support software quality assurance to optimise I/O performance
• Test software and hardware interactions from prototype to manufacturing release
• Validate the integration of software with hardware
• Review codes and design to propose improvements
• Diagnose and rectify technical problems in embedded software
• Evaluate failed system scenarios