Senior Embedded Software Engineer
Job Description
Key Responsibilities
Develop and Enhance Embedded Systems: Implement new features and modifications to Embedded Operating Systems, ensuring they meet product
requirements. Conduct thorough engineering tests to validate functionality.
Integrate and Maintain Third-Party Code: Adapt, port, and maintain third-party libraries, making necessary code changes or extensions to align with product
specifications. Perform rigorous engineering tests to verify successful integration.
Contribute to Project Planning: Actively participate in team planning sessions, providing accurate estimates of time and effort for software development tasks.
Ensure Code Quality: Conduct thorough code reviews of code developed by team members, ensuring adherence to coding standards and best practices.
Collaborate on Software Design: Participate in software design reviews, offering insights to improve code reusability, address potential issues, and prevent design flaws.
Test and Validate Software: Work closely with other team members to define and execute appropriate tests to ensure software quality and reliability.
Manage Software Releases: Configure and generate software releases, ensuring proper version control and documentation.
Provide Support and Debugging: Troubleshoot and debug software issues, providing timely solutions to ensure smooth product operation.
Document Development Processes: Maintain comprehensive documentation of software development activities, including design specifications, code comments, and test results.
Occasional Travel: Be prepared for occasional travel as required for project needs or collaboration with other teams.
Required Skills and Experience
Tertiary degree in a relevant field or equivalent practical experience.
5+ years of experience in C++ software programming, demonstrating strong proficiency.
Solid understanding of C++ and Object-Oriented design principles.
Hands-on experience with Embedded Linux, including the ability to build the OS and develop applications.
Proficiency with Git for source code management.
Excellent teamwork, communication, and interpersonal skills.
Ability to work effectively within project schedules and deadlines.
Solid understanding of both microcontroller and System-on-a-Chip (SoC) architectures.
Preferred Skills and Expertise:
Experience with QT for application development.
Experience with Yocto and Buildroot for embedded Linux development (Yocto preferred).
Experience with SWUpdate is a plus
Familiarity with NFC devices, RFID tags, and/or Apple/Google Wallets.
Experience with ARM processors, from v5 to Cortex-A.
Experience with Atmel/Microchip AVR processors.
Job Description
Key Responsibilities
Develop and Enhance Embedded Systems: Implement new features and modifications to Embedded Operating Systems, ensuring they meet product
requirements. Conduct thorough engineering tests to validate functionality.
Integrate and Maintain Third-Party Code: Adapt, port, and maintain third-party libraries, making necessary code changes or extensions to align with product
specifications. Perform rigorous engineering tests to verify successful integration.
Contribute to Project Planning: Actively participate in team planning sessions, providing accurate estimates of time and effort for software development tasks.
Ensure Code Quality: Conduct thorough code reviews of code developed by team members, ensuring adherence to coding standards and best practices.
Collaborate on Software Design: Participate in software design reviews, offering insights to improve code reusability, address potential issues, and prevent design flaws.
Test and Validate Software: Work closely with other team members to define and execute appropriate tests to ensure software quality and reliability.
Manage Software Releases: Configure and generate software releases, ensuring proper version control and documentation.
Provide Support and Debugging: Troubleshoot and debug software issues, providing timely solutions to ensure smooth product operation.
Document Development Processes: Maintain comprehensive documentation of software development activities, including design specifications, code comments, and test results.
Occasional Travel: Be prepared for occasional travel as required for project needs or collaboration with other teams.
Required Skills and Experience
Tertiary degree in a relevant field or equivalent practical experience.
5+ years of experience in C++ software programming, demonstrating strong proficiency.
Solid understanding of C++ and Object-Oriented design principles.
Hands-on experience with Embedded Linux, including the ability to build the OS and develop applications.
Proficiency with Git for source code management.
Excellent teamwork, communication, and interpersonal skills.
Ability to work effectively within project schedules and deadlines.
Solid understanding of both microcontroller and System-on-a-Chip (SoC) architectures.
Preferred Skills and Expertise:
Experience with QT for application development.
Experience with Yocto and Buildroot for embedded Linux development (Yocto preferred).
Experience with SWUpdate is a plus
Familiarity with NFC devices, RFID tags, and/or Apple/Google Wallets.
Experience with ARM processors, from v5 to Cortex-A.
Experience with Atmel/Microchip AVR processors.