Job Opportunity
We are seeking an Embedded Linux Engineer to join our team.
This is a fixed-term contract opportunity that will allow you to develop and maintain custom Linux distributions using Yocto or similar build systems.
As an Embedded Linux Engineer, you will integrate and configure device drivers, bootloaders, and kernel modules for embedded platforms.
You will collaborate with hardware engineers to bring up new boards and debug low-level issues.
Additionally, you will 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.
Escalate issues when they become apparent with respect to software estimate to complete, technical risks, etc.
The ideal candidate will have a degree in computer systems or software engineering, electronics engineering, or mechatronics engineering.
Strong experience with Embedded Linux development, including kernel and user-space programming is required.
Hands-on experience with Yocto Project, Buildroot, or similar embedded build systems is necessary.
Proficiency in C/C++ and scripting languages (e.g., Bash, Python) is expected.
1. Familiarity with cross-compilation, toolchains, and debugging tools (e.g., JTAG, GDB).
2. Experience with version control systems (e.g., Git) and CI/CD pipelines.
Understanding of networking protocols, system security, and resource-constrained environments is beneficial.
A Bachelor's degree in one of the following disciplines: Computer Science or Software Engineering, Electronics engineering, Mechatronics engineering is required.
Citizenship of Australia is mandatory.