Job Description
We are looking for an Embedded Software Engineer to join our mission-driven team. This role blends software engineering (35%), embedded firmware development (40%), and hardware & PCBA development (25%), contributing to the Python-based backend systems that power our platform while owning and maintaining the firmware running on our IoT devices. You will play a key role in ensuring seamless communication between hardware and software, as well as planning the evolution of our embedded systems towards on-chip computing.
If you’re excited about working across the software stack—from scalable backend services to embedded C firmware—and making a real impact on decarbonizing home heating, this is the role for you.
About us
Adia's mission is to try and decarbonise home heating - a sector which represents up to 30% of emissions in Europe. We operate across a spectrum of interesting engineering problems - electronics, IoT, thermodynamics, full stack software, controls and more. You can expect to own large problems and stretch your abilities, being exposed to new problems all the time.
Key Responsibilities
Software Engineering (35%)
* Design, develop, and maintain scalable backend systems for home heating control in Python, ensuring reliability and performance.
* Develop robust software to integrate IoT devices and manage communication with hardware components like heat pumps and valves.
* Develop simulation environments to test and validate control strategies for heat pumps, valves, and other system components, enabling robust and efficient performance under diverse operating conditions.
* Create secure, scalable APIs to support seamless data flow across the system.
* Ensure system robustness, scalability, and reliability when processing large data sets and performing complex computations.
Embedded Firmware Development (40%)
* Own the development, optimization, and maintenance of firmware for IoT devices, written in C, with a focus on energy efficiency and reliability.
* Plan and contribute to the shift toward on-chip computing, ensuring balance between edge processing and cloud operations whilst considering cost implications.
* Implement and manage over-the-air (OTA) firmware updates for secure, remote device upgrades.
* Define and implement the testing, quality assurance (QA), and quality control (QC) strategy for firmware, ensuring reliable performance and smooth hardware-software integration.
* Develop control algorithms to optimize real-time operation of valves, pumps, and other system components.
Hardware & PCBA Development (25%)
* Develop test fixtures and testing scripts for outsourced manufacturing, work with the Operations team to put those test fixtures and testing scripts into practice
* Develop a strong understanding of our current PCB designs and suggest improvements, especially as it relates to wireless communication
* Support or lead conversations on PCB re-design and cost down efforts - component selection, supplier interaction and selection, PCB design feedback, PCB layout and design as needed
* Develop and lead hardware lifecycle testing on an as needed
* Support on testing and integrating any hardware revisions into the Adia Hub and associated components on an as needed
Collaboration & Cross-Functional Support
* Work closely with backend engineers, hardware teams, and control engineers to ensure seamless system integration.
* Partner with manufacturing teams to validate and support IoT devices during production and deployment.
* Participate in system-level design discussions to define scalable solutions across hardware and software domains.
RequirementsEducation
* Bachelor’s degree or higher in Computer Science, Software Engineering, Embedded Systems, or a related field.
Experience
* Minimum of 5–7 years of experience in software and embedded systems development, with significant expertise in Python and C.
Technical Skills
* Embedded C: Proven experience in developing and maintaining firmware for embedded systems, including real-time IoT applications and other resource-constrained environments.
* IoT and Embedded Communication: Familiarity with communication protocols and frameworks such as MQTT, CoAP, REST APIs, or other protocols commonly used in Embedded Linux, RTOS, or IoT ecosystems.
* Testing & Debugging: Proficiency in hardware-software integration testing and debugging for IoT systems.
* PCBA Design and Debugging: Reading and reviewing schematics, contributing to electrical design. While we don’t expect this role to involve driving electrical designs, you have the skils to review a schematic, grab a soldering iron and quickly solve a problem.
* Edge Computing: Understanding of edge computing principles and their trade-offs with cloud-based operations.
* Manufacturing Experience: Real-world experience with scaling up / offshoring manufacture of products - implementing and putting in place appropriate QA and QC. Experience with certifying products (e.g. CE marking, EMC testing).
* Python (or similar): Experience in other areas of full stack software development e.g. backend.
* RF Electronics: (Nice to have) A strong understanding of antenna design, tuning etc will be invaluable in helping our product have good performance in the real world.
Soft Skills
* Strong problem-solving skills and ability to thrive in a fast-paced, collaborative environment.
* Self starter - at times working along on a problem and needing to be the expert in the room.
* A passion for sustainability and interest in decarbonizing home heating.