Lead Software Engineer
Location: Farnborough, United Kingdom
Join our team and help shape the future of global communication. For over 35 years, we've been delivering cutting-edge solutions that empower consumers, businesses, governments, and militaries worldwide. We're looking for a bold, innovative, and collaborative Lead Software Engineer - Embedded C to lead the charge in designing, developing, and testing advanced software systems.
About the Role
As a Lead Software Engineer, you will play a pivotal role in driving technical excellence and leading a talented team of software developers. This role blends hands-on technical contributions with leadership responsibilities, including approximately 20% line management duties.
Key Responsibilities
Analyse software requirements and design high-quality software solutions from architecture to implementation.
Create and maintain estimates, supporting the planning and execution of projects.
Lead and mentor a team of engineers, fostering professional development and ensuring successful project delivery.
Supervise progress, resolve design challenges, and ensure adherence to software development best practices.
Drive the evolution of software development methodologies and tools.
Essential Qualifications and Experience
Comprehensive experience in the full software development lifecycle.
Proficiency in C or C++ for embedded applications (experience with PC environments is advantageous).
Sole British Nationality with eligibility for UK Security Clearance (SC).
Deep understanding of operating system concepts, including multi-threading, process scheduling, and memory management.
Strong scripting skills (e.g., bash, Python).
Expertise in Object-Oriented Design (OOD) and programming.
Proficiency in version control and configuration management (e.g., GitHub).
Proven track record in leading software development teams, including mentoring and guidance.
Desirable Skills
Experience with security-focused design and digital security technologies.
Familiarity with:
Continuous integration, unit testing, and static analysis tools.
x86 architecture, hardware programming, and device drivers.
Developing graphical user interfaces (GUIs) and working with NVMe.
Microcontroller development, particularly RISC-V.
Encryption and network security technologies.
Knowledge of tools like IBM Rational DOORS for requirements analysis.
Proficiency in C++ (including STL) on Linux and/or Windows platforms.
RUST programming experience.
Familiarity with cross-compilation toolchains and on-target debugging.
Why Join Us?
Be part of a mission to transform global communication.
Collaborate with world-class teams in a forward-thinking and inclusive environment.
Opportunities for professional growth and exposure to cutting-edge technologies