Embedded Software Engineer
This leading company based in Cambridge are looking a Embedded Software Engineer to join there team.
Core Responsibilities:
- Spearheading the design and development of embedded systems firmware in alignment with project objectives, under the direction of senior leadership in R&D.
- Defining the scope of assigned tasks and providing an initial project estimate.
- Operating in a high-paced environment, ensuring timely completion of tasks to meet product specifications.
- Analyzing and resolving software defects by identifying root causes and implementing effective solutions.
- Collaborating independently and in close cooperation with project teams, engaging with colleagues across departments to exchange knowledge, contribute ideas, and develop technical solutions.
- Adhering to software development lifecycle (SDLC) processes, promoting best practices, conducting code reviews, and ensuring automated testing for code quality.
- Documenting all stages of development in accordance with established processes.
- Providing mentorship and guidance to junior team members.
Preferred Qualifications:
- Bachelor’s degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field.
- Extensive experience in firmware development, with expertise in embedded C and/or C++.
- Proficient in microprocessor or System-on-Chip (SoC) development (e.g., ARM, PIC).
- Experience with communication protocols and peripherals such as UART, I2C, SPI, Ethernet, BLE, Wi-Fi, CAN, Modbus, and others.
- Demonstrated experience working with RTOS (e.g., FreeRTOS, ThreadX) for firmware development.
- Hands-on experience with IoT technologies, including MQTT, Protobuf, cryptography, secure boot, etc.
- Proficient in bare metal driver development and board bring-up (BSP).
- Basic electronics knowledge, including reading schematics and using test equipment like digital voltmeters and oscilloscopes.
- Familiarity with the full software development lifecycle, including tools like Git, Confluence, and Linear.
- Experience in automated testing frameworks for unit, functional, and integration tests.
- Ability to address complex technical challenges with confidence.
- A foundational understanding of electrical principles (voltage, current, power) and technologies such as inverters, batteries, and renewable energy sources like solar would be advantageous.