Embedded C++ Software Engineer Role
We are seeking an experienced Embedded C++ software developer to join our team at a leading technology company.
About the Position:
* Develop and maintain custom Linux distributions using Yocto or similar build systems.
* Integrate and configure device drivers, bootloaders, and kernel modules for embedded platforms.
* Collaborate with hardware engineers to bring up new boards and debug low-level issues.
* Optimize system performance, boot time, and resource usage for embedded environments.
* Implement secure and reliable software update mechanisms for deployed devices.
* Document system architecture, build processes, and configuration details.
* Develop embedded software implementation in accordance with the chosen architecture and detailed design inputs.
* Work on tasks in accordance with approved project plans/work breakdown structure and the defined software development process.
* Contribute to software documentation such as architectures, design documentation, requirements, etc.
* Confirm requirements have been satisfied by developing unit and integration test plans, implementing automated tests, and performing manual testing.
* Participate constructively in reviews of software artefacts and software implementation.
* Build knowledge of development tools and processes used on assigned projects.
* Evaluate technical risks and escalate issues when necessary.
Key Qualifications:
* Bachelor's degree in engineering within one of the following disciplines: Electronics engineering, Mechatronics engineering, Computer Science or Software Engineering.
* Australian citizenship.
* Demonstrated experience with:
o C++ (17 or greater).
o Embedded device experience, such as STM32.
o Hard-real time/ISR handling and device drivers for time-critical applications.
o Familiarity with standard interfaces and devices such as DACs, ADCs, etc.
o GoogleTest & GoogleMock.
o Cross compilation on Windows or Linux hosts.
Desirable Skills:
* Experience with custom Linux distributions and Yocto build systems.
* Knowledge of device drivers, bootloaders, and kernel modules.
* Strong understanding of embedded software development principles.
* Excellent problem-solving skills and ability to work independently.
* Effective communication and collaboration skills.
Why Work with Us:
We value diversity, inclusivity, and employee well-being. We offer competitive salaries, comprehensive benefits, and opportunities for professional growth and development.
Apply today and be part of a dynamic team dedicated to improving lives through innovative solutions!