Role: Bare-Metal embedded software engineer
Location: Cambridge – 50% homeworking
Salary: £50,000 - £70,000 approx.
Who you are:
We’re looking for a motivated and passionate engineer who has a strong interest in embedded software.
You enjoy writing code, and you are very comfortable probing hardware and using lab equipment. You’re organized, methodical and take pride in doing things well. You love debugging code and always seek to understand the root cause of issues.
You are capable of developing code from either a blank slate or building on an existing codebase.
You understand the need for good documentation and don't see them as impediments. You are a team player and like bouncing technical ideas with your colleagues.
You deliver complete embedded software for al products, with responsibility for all software development activities within the company.
What you’ll be doing:
· Take full ownership of embedded software development for new products, as well as maintenance, debugging, bug fixing, and adding features to existing products.
· Involvement in system-level design and collaboration with electronics engineers in specifying and selecting appropriate microcontroller / processors to meet product requirements.
· Troubleshooting faults at code and system level in collaboration with other engineers to identify the root cause of problems and implement corrective action.
· Develop a reusable code base and software libraries to enable scalability and speed up development.
· Generating necessary documentation, i.e writing software requirements specification, design documents & validation and verification documentation.
· Keeping up to date with developments in technology, tools and regulations.
Skills, Knowledge & Competencies:
· Experience in developing embedded software for commercial consumer electronics products.
· Bare metal & RTOS microcontroller software development in C on resource-constrained devices (8-bit / 1 6-bit / 32-bit microcontrollers).
· Detailed understanding of microcontroller peripherals down to register level and have experience writing low-level drivers for SPI / I2C / UART / ADC / PWM / DMA /etc.
· Complex problem-solving skills, attention to details, methodical mindset and a fast learner.
· Able to write non-blocking, clean, maintainable and reusable code from general requirements.
· Development experience of IoT related connectivity technologies e.g. Wi-Fi, BLE, ZigBee, Ethernet.
· Experience with microcontrollers development tools, compilers and debuggers.
· Good understanding of basic hardware and its interfaces with software systems. Ability to read electronics schematic diagrams, component data sheets and use standards hardware bench equipment (digital oscilloscope, logic analysers, signal generators, etc).
Desirable Skills & Experience (Beneficial but not essential):
· Experience with Microchip PIC, Infineon XMC & Arm Cortex-M devices.
· Knowledge of IEC 62304 (Class A).
· Experience of working within a Quality System ideally EN ISO 13485 or ISO 9001 and awareness of validation and verification procedures.
· Experience in C# and scripting languages.
· App development experience for iOS / Android devices.
Qualifications & Professional Experience:
· Degree in Electronics Engineering, Computer Science or related field.
· At least 4 - 5 years of industrial experience in embedded software design.
· Prior experience developing embedded software for commercial products.
· Competitive Salary
· Discretionary Bonus Scheme
· 25 days holiday + bank holidays
· Enhanced parental leave
· Generous discounts on products
· Socials and team lunches
· AND a genuine opportunity to be a very key part of a high growth business.
How to apply?
Please send a CV to email@example.com