Senior Software Engineer - Embedded

  • Monday - Friday
  • AS R&D
  • Pinewood Mews

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 - Embedded, 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


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, 26 days annual holiday (plus public holidays)


Salary Package: 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 developing Linux-based embedded systems 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 embedded 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.

· Design, develop and test system services and hardware-dependent software applications.

· Ownership of the software infrastructure for embedded systems and processes to ensure seamless software deployments. Adoption of best practices for embedded 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

· Experience in developing embedded software for SoCs (e.g. i.MX8) with embedded Linux.

· Ability to design, implement and test embedded software in C and modern C++.

· Experience working with custom Linux build systems (e.g. Yocto).

· Expert knowledge of Linux environments and embedded Linux.

· 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 system bring up and 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 Experience

· Experience of C#, Python, GStreamer, Yocto, Visual Studio.

· Experience working with imaging devices, video processing/streaming, working with cameras, codecs and streaming protocols (e.g. UVC, ONVIF).

· Experience working with Linux device drivers (V4L2, I2C, SPI, etc.), device trees and the kernel.

· Experience developing websites to control embedded platforms (HTML, Javascript, REST).

· Experience creating CI/CD and automated test infrastructure with hardware in the loop.

· Experience building CI/CD pipelines with GitLab or GitHub.

· Familiarity with MIPI CSI-2, I2C, SPI, SDI protocols.

· Familiarity reading schematics and using lab equipment such as oscilloscopes.