Embedded Software Engineer
Summary
Develops and maintains embedded, user-space software on Linux for Motorola Solutions' distributed spectral monitoring systems in Cambridge, UK, working primarily in modern C++17 and Rust with test automation and AI-assisted development.
- Creation and development of embedded software for advanced distributed spectral monitoring systems using modern C++17 and Rust in user space on Linux
- Working independently under general supervision, you will execute larger, moderately complex software assignments and contribute to departmental objectives
- Where appropriate, development is accelerated using AI tooling, with individual responsibility for code quality. This role is ideal for an established engineer looking to deepen their technical experience within a collaborative team
- Develop, test, and maintain embedded software using C++17 and Rust across the software development lifecycle under general supervision
- Solve general technical problems by applying prior experience and analysis of system requirements
- Recommend local adjustments or enhancements to software systems, tools, and development processes
- Implement test automation, including unit, regression, and performance tests, to ensure high software quality
- Participate in peer code and AI reviews, applying quality standards and providing construct feedback
- Communicate clear technical information to departmental team members to reach agreement on tasks and implementation details
- Provide guidance and assistance to entry-level professionals or support staff as needed
Benefits
- Flexible work models
- Paid time off
- Paid parental and family leave
- Health care benefits
- Global wellness resources
- Employee assistance programs
- Rotation programs
- Mentor relationships
- Learning and development opportunities
- Retirement benefits
- Employee bonuses
- Stock grants & employee stock purchase plans
- Clear communication skills with experience explaining technical facts and practices to internal team members
- Practical knowledge and experience programming in Rust within a Linux or embedded environment
- Solid modern C++17 (ISO/IEC 14882:2017) programming skills on Linux
- Good problem-solving ability with strong attention to software detail
- Minimum 2 years of prior relevant software development experience
- Demonstrated ability to deliver on moderately complex assignments under general supervision
- University degree in Computer Science, Electronics, or a related engineering discipline (or equivalent practical experience)
- Basic understanding or background in signal processing principles
- Experience using AI development tools to accelerate workflow while maintaining code quality
- Experience guiding or assisting junior engineers and entry-level staff
- Practical experience with Python, Docker, Git, and Linux shell scripting
- Exposure to distributed or networked systems