Senior Software Engineer
Company Our client is a specialist engineering and technology business developing innovative, real-world solutions. Their technology combines advanced software with intelligent hardware to deliver systems that operate reliably in demanding environments.With a strong reputation for technical excellence and a growing portfolio of projects, they are seeking an experienced Software Engineer to join a highly skilled team working on complex, challenging products where software directly influences performance, reliability and user experience.This is an opportunity to work on genuinely interesting engineering problems, collaborating with talented engineers from a variety of scientific, mathematical and software backgrounds.Role As a Senior Software Engineer, you will play a key role in the design, architecture and development of software running on embedded and Linux-based platforms.Working as a senior member of a multidisciplinary engineering team, you will take ownership of significant development projects, contribute to architectural decisions and help shape the future direction of products and platforms.Key responsibilities include:
- Designing and developing high-quality software in C/C++
- Creating applications that operate efficiently within constrained computing environments
- Designing software architectures for embedded and Linux-based systems
- Working with networking technologies including TCP/IP and UDP
- Optimising applications for memory usage, performance and reliability
- Contributing to technical strategy, engineering standards and best practices
- Collaborating closely with software, hardware and product teams
- Supporting code reviews, mentoring colleagues and sharing technical knowledge
- Taking ownership of complex technical challenges from concept through to deployment
- Strong commercial experience in C and/or C++
- Experience developing software for Linux environments
- Knowledge of networking protocols such as TCP/IP and UDP
- Understanding of software architecture and engineering best practices
- Experience developing software for embedded or resource-constrained systems
- Strong problem-solving and analytical abilities
- Excellent communication and stakeholder engagement skills
- The confidence to contribute technical ideas and influence engineering decisions