Job description
About 42T
42 Technology is a successful and growing consultancy specialising in innovation, design, and development. Our work with world leading clients in a range of industries takes products and processes from ideas to reality. We have built a reputation for challenging the status quo and finding creative and pragmatic solutions to difficult technical problems.
Our employees love the variety and challenge of our work. We have a stimulating and open culture, an excellent team, and a great location in the historic town of St. Ives, close to Cambridge.
The Role
We have an exciting opportunity for an Embedded Firmware Engineer to join the Systems and Software group at 42T. You will contribute to 42T’s client projects that have electronics and/or software content. The role will involve embedded firmware and software development skills whilst also developing electronics circuit and system design knowledge.
Main Duties/Key Responsibilities:
- Development of firmware for embedded products and systems employing wired or wireless communications, sensors, user interfaces and control.
- Software development in C.
- Development on both bare metal platforms and with embedded OS such as FreeRTOS & Linux.
- Definition of software system architecture, functional requirements, features and use cases.
- Development of high-quality code for production systems.
- Building in software quality from the outset through design, implementation and the use of appropriate tools and processes.
- Working with multidisciplinary teams to take products from initial concept through to delivery / transfer to manufacture.
- Enhancing 42 Technology’s software development capability.
About You
Knowledge and Skills:
Essential:
- Development of firmware for embedded products using C.
- Experience of working with the following:
- A range of microcontroller/microprocessor types including Arm-based devices.
- Interfacing to peripheral devices such as sensors over SPI, I2C.
- Wired communications such as CAN, RS232, RS485, USB.
- Wireless communications such as Bluetooth, WLAN, cellular, low power radio.
- Real-time signal conditioning and filtering.
- Low power or battery powered systems.
- Ability to read and interpret analogue and digital electronic schematics.
- Competent in using electronic test equipment such as oscilloscopes and logic analysers.
- A thorough understanding and experience of the processes and tools needed to develop maintainable high quality embedded firmware.
Desirable:
- Other languages including, but not limited to, C++, C#, Python, assembler.
- Experience of modern CI/CD pipelines and tools, such as Bitbucket pipelines, GitHub actions, Jenkins, and the use of Docker within those environments.
- Experience of developing on Linux, especially building (e.g. with Yocto), configuration, debug, and applications in both user and kernel space.
- Some experience of defining software architectures, including the use of software modelling diagrams such as UML class, state, timing or sequence diagrams.
- Test-driven development.
- Team use of source control systems such as Git.
- Experience of working in an agile production software development environment, using tools such as Jira.
Independent Working and Team Working
Essential:
- Capable of working to requirements defined by project technical leads.
- Capable of defining and structuring a programme of software development work to meet project objectives.
Verbal and Written Communication Skills
Essential:
- Good verbal and written skills including report writing and presenting technical content to small groups.
- Ability to discuss software technical terms and content in a way that is understandable to clients and colleagues from other disciplines.
Desirable:
-
Experience presenting technical material to both technical and non-technical audiences.
Personal Skills/Behaviours/Qualities:
Essential:
- Attention to detail.
- Good problem-solving skills.
- Motivated by the desire to produce high quality work.
- Flexible approach to changing work tasks.
- Openness to other’s ideas and approaches.
- Desire to learn and grow.
Desirable:
- Mentoring other team members.
Closing date of 8th May.