About this role
About the Role The Specialty Camera Engineering team in Ware, UK is responsible for developing cameras for long-range surveillance applications. As a Senior Software Engineer, you will contribute across the full software development lifecycle, designing robust C++ software for high-speed data processing and imaging, and collaborating closely with hardware engineers to bring sophisticated camera systems to life. What You'll Do
- Design and implement robust, scalable, multi-threaded C++ software for high-speed data processing and networking
- Architect and develop advanced software modules utilizing modern C++ design patterns
- Analyze, identify, and optimize low-level system performance issues
- Develop innovative algorithms for image acquisition control and environmental parameter management
- Produce comprehensive design documentation detailing software architecture, algorithms, and implementation strategies
- Collaborate with hardware engineers during board bring-up, system integration, and debugging
- Conduct thorough peer code reviews to ensure coding standards and maintainability
- Work with Quality Assurance to define test cases for new features and plan regression testing
- Adhere to and continuously improve development processes and participate in Git-based workflows What We're Looking For
- Bachelor’s or Master’s degree in Computer Engineering, Software Engineering, Electronics, or Electrical Engineering
- At least 3 years of hands-on embedded systems development
- Advanced proficiency in C and C++ for embedded applications
- Solid understanding of OS concepts (processes, threads, mutexes, exceptions)
- Proficiency with C/C++ compilers, debugging tools, and memories
- Experience with build systems, especially CMake, and related toolchains
- Experience with scripting languages, build systems, and version control (Git)
- Proven experience developing in a Linux environment for ARM targets
- In-depth understanding of embedded design principles, including memory management, microprocessor architectures, I/O timing
- Fluent in English (spoken and written) Nice to Have
- C++17; Python and/or C# familiarity
- Image processing techniques or libraries
- Camera hardware/software interfaces experience
- Docker/containerization experience
- GitLab, GitLab CI/CD or similar CI/CD platforms
- Experience collaborating within distributed teams using Git and GitLab
- Personal attributes: problem-solving, collaboration, adaptability, initiative Compensation & Benefits
- Competitive salary and bonus schemes
- Two weeks annual holiday bonus
- 25 days holiday entitlement + bank holidays
- Attractive defined contribution pension scheme
- Employee stock purchase plan
- Flexible working options
- Private medical care
- Life assurance
- Enhanced maternity and paternity pay
- Career development support and learning opportunities
- Employee health and wellbeing support (EAP, wellbeing guidance)
- Carbon neutral initiatives/goals
- Corporate social responsibility initiatives including volunteering days
- Well-known company discount scheme