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.