Overview
Active Silicon is a market leader in the design and manufacture of leading-edge computer imaging products. These products are used in many areas of science and industry, including manufacturing, life sciences, medical imaging, robotics and security, with many products targeted to specific customer requirements. The current range of products can be seen on the company’s website. The type of customers we have, are in general, medium to large companies with which we forge strong long-term relationships and are located all over the world. Active Silicon is part of the Solid State Plc group, listed on the AIM stock market under code SOLI.
This job description is for the role of Senior Software Engineer – C/C++, with responsibility for the development and maintenance of new and existing products.
The current product range is here – https://www.activesilicon.com/products/
Summary details
Job Type: Permanent, Full Time
Job Title: Senior Software Engineer – C/C++
Location: Flexible blend of working from home and office-based work at Iver, UK (just outside M25, NW London).
Hours: 37.5 hours per week, 25 days annual holiday (plus public holidays).
Salary: Circa £85k depending on skills and experience, plus salary-sacrifice pension (5% employer, 3% employee) and discretionary bonus scheme. Life assurance at 4x basic salary. Salary sacrifice EV scheme (subject to eligibility).
Access to Westfield Health Scheme including:
- Corporate Health Cash Plan including cover for dependents
- Employee Assistance Programme
- Discounted gym membership
- Retail discount scheme
- Wellbeing app
Qualifications: A Bachelors or Masters in Computer Science or Electrical Engineering.
Experience: 5+ years of professional experience working with C/C++.
The type of person we are looking for
The right candidate is likely to have a good Computer Science or Electrical Engineering degree, plus perhaps other post-graduate qualifications and a track-record of software development in C/C++. One of the most important traits is the desire, drive and enthusiasm to produce the world’s best-in-class products.
The role
This is an opportunity to join a diverse development team designing, producing and delivering specialized digital image acquisition products and technologies throughout the world, and across multiple client sectors.
- Take ownership of new and existing software projects and products, working to develop, enhance and maintain them.
- Architect software solutions, breaking down business requirements into individual components, setting coding standards, choosing the tools, frameworks and languages to be used.
- Participating in all phases of software development – including design, implementation, testing, code review and documentation.
- Maintain, design, develop and test the GUIs, applications and libraries running under Windows and Linux for our imaging devices.
- Ownership of the software infrastructure and processes to ensure seamless software releases. Adoption of best practices for software development. Developing and refining processes for better efficiency.
- Drive consistent standards and approaches throughout the team.
- Debug complex, system-level, multi-component issues that typically span across multiple layers from hardware to application.
- Leading and coaching/developing junior engineers.
Key competencies
- Cross-platform software development (Windows, Linux).
- Ability to design, implement and test cross-platform software in C/C++ and at least one other programming language (C#, Python).
- Leadership – being able to confidently take ownership of new and existing software projects and products, working to develop, enhance and maintain them.
- Organisation – being able to think in a methodical and systematic manner to create software architecture plans that are pragmatic and workable.
- Experience with hardware integration.
- Able to write well-structured, supportable code.
- Excellent attention to detail and the ability to work as part of a collaborative team.
- Focussed – able to work to deadlines and meet targets.
- Success driven – having the desire to produce the best products, right first time.
- Communication – good written, verbal and presentation skills – the ability to communicate to the rest of the engineering team, to suppliers and sub-contractors, as well sometimes direct to customers.
Useful additional expertise
- Experience working with imaging devices, GenICam software standard, video processing/streaming, working with cameras, codecs and streaming protocols.
- Experience of C#, Python, Qt, WPF, Visual Studio.
- Experience working with Windows and Linux device drivers.
- Experience with Nvidia Jetson.
- Experience creating CI/CD and automated test infrastructure with hardware in the loop.
- Experience building CI/CD pipelines with GitLab or GitHub.
- Familiarity with I2C, SPI, CoaXPress protocols.
- Familiarity reading schematics and using lab equipment such as oscilloscopes.