Summary
✨ AI‑Generated
We are seeking an Embedded Linux Software Engineer to develop and maintain Linux-based software on embedded hardware. The role involves configuring and building the platform, writing and debugging applications and services, working with the kernel and drivers, and maintaining build systems. You will use C and C++ to create new features, fix defects, and ensure automated builds and tests run cleanly.
Highlights
Work across the entire embedded Linux software stack, develop on real hardware, write new features, fix defects, and maintain automated builds and tests.
Description
An established software engineering firm that builds embedded and desktop systems for its clients is now hiring an Embedded Linux Software Engineer on contract to develop and maintain Linux based software on embedded hardware.
Experience in a specific industry is not required.
What matters is genuine competence with embedded Linux and strong C and C++ engineering, rather than the sector you have applied them in.
In this role you will work across the embedded Linux software stack, from configuring and building the platform through to writing and debugging the applications and services that run on it.
You will develop in C and C++ on target hardware, work with the kernel, drivers, and board support where the project calls for it, and maintain the build system and toolchain that produce the images.
Day to day that means writing new features, finding and fixing defects on real hardware, reviewing code, and keeping automated builds and tests running cleanly.
You will work directly with the engineering lead delivering the project, taking a problem from a loose description through to working, tested software with little hand holding.
This is a senior contract position for someone who has shipped embedded Linux products before and can become productive in an unfamiliar codebase quickly.
It is a small, lean engineering environment that makes heavy use of modern tooling, so it suits someone who is self-directed, communicates clearly while working remotely, and uses sound judgement about what does and does not need building.
This is a contract role of approximately 38-40 hours per week.
It is fully remote and open to candidates based anywhere in Australia or New Zealand.
Due to the nature of the work, Australian or New Zealand Citizenship is required.
Key Responsibilities:
Design, develop, and maintain C and C++ software for embedded Linux platforms.Configure, build, and maintain Linux images, including kernel configuration, device tree, and root file system, using tools such as Yocto or Buildroot.Develop and debug device drivers and board support code where the hardware requires it.Write userspace applications and services that integrate with hardware peripherals and communication interfaces.Maintain CMake and other build systems, cross compilation toolchains, and supporting scripts.Contribute to CI/CD pipelines so every change is built and tested automatically.Debug and resolve issues on target hardware using tools such as GDB, logging, and tracing.Write unit and integration tests and take part in structured code review.Produce clear technical documentation covering the code, build process, and deployment.Work closely with the engineering lead to scope tasks, estimate effort, and report progress while working remotely.
Requirements:
Degree in Computer Science, Software Engineering, Computer Engineering, Electrical or Electronics Engineering, or a closely related discipline.Several years of commercial experience developing software for embedded Linux platforms.Strong C and C++ skills, with a solid understanding of Linux internals including processes, memory management, and interprocess communication.Proven ability to take embedded software from early development through integration, testing, and delivery on real hardware.Sound engineering discipline, including coding standards, testing, version control with Git, and CI/CD practice.Hands-on experience with embedded Linux build systems such as Yocto or Buildroot, along with CMake.A seasoned profile comfortable working independently in an existing codebase and delivering quickly as a contractor.Clear written and verbal communication, and the ability to work productively as part of a remote team.
Desirable but not essential:
Kernel and device driver development, including board bring up on new hardware.Python or Go for tooling, test automation, and scripting.Bare metal or RTOS firmware experience alongside embedded Linux.Comfortable using AI coding tools and critically reviewing the code they produce.
Please reach out to harold@profoundpeople.com.au for more info