- Company Name
- Singular Recruitment
- Job Title
- Senior Embedded Linux Software Engineer
- Job Description
-
**Job Title**
Senior Embedded Linux Software Engineer
**Role Summary**
Design, develop, and maintain high‑performance Embedded Linux systems for new products and enhancements. Lead software architecture decisions, collaborate with hardware and firmware teams, and ensure optimal system performance, reliability, and compliance with industry standards.
**Expactations**
- 7+ years of embedded Linux development experience.
- Proficiency in C/C++ and assembly for low‑level programming.
- Strong understanding of Linux kernel subsystems, device drivers, and real‑time extensions.
- Experience with cross‑compile toolchains, Yocto/Buildroot, and Build system automation.
- Familiarity with hardware interfaces (SPI, I²C, UART, PCIe, USB, CAN).
- Proven track record delivering production‑ready firmware on ARM, PowerPC, or MIPS platforms.
- Ability to debug hardware/software interactions using GDB, kgdb, strace, perf, and hardware debug tools.
- Excellent written and verbal communication skills for technical documentation and cross‑functional collaboration.
**Key Responsibilities**
- Architect and implement device drivers, file systems, and networking modules for embedded Linux distributions.
- Integrate hardware peripherals, perform reverse engineering, and develop firmware interfaces.
- Conduct performance profiling, memory usage analysis, and power‑management optimizations.
- Write and maintain comprehensive documentation, including API references and setup guides.
- Mentor junior developers, conduct code reviews, and enforce coding standards.
- Coordinate with QA to create automated test suites for functional and regression testing.
- Collaborate with product managers and HW engineers to define system requirements and feasibility assessments.
- Stay current with Linux kernel releases, security patches, and emerging embedded technologies.
**Required Skills**
- Advanced C/C++ programming for embedded systems.
- In‑depth Linux kernel knowledge (modules, initramfs, kernel configuration).
- Experience with embedded build environments (Yocto, Buildroot).
- Debugging expertise (GDB, kgdb, printk, ltrace).
- Knowledge of real‑time operating system concepts and RT preemption.
- Familiarity with version control (Git, GitLab, Gerrit).
- Strong problem‑solving ability and analytical mindset.
**Required Education & Certifications**
- Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or related field.
- Certifications such as Linux Professional Institute Certification (LPIC) or Intel Embedded Training (preferred).
Edinburgh, United kingdom
On site
Senior
13-01-2026