Embedded Software Engineer
Listed on 2026-10-15
-
Software Development
Software Engineer, Python, Embedded Software Engineer, Embedded Systems/ Firmware/ IoT
Elemental Machines is looking for a Software Engineer to join our Device Engineering Team in the creation of new IoT sensors and modules. We are looking for someone who is excited about the challenges that come with the development of high-volume embedded systems that are used in life-changing applications.
In this role, you will work closely with hardware, firmware and applications software developers and our verification team in the development of IoT devices and gateways.
Employment type:Full-time
Pay:$90,000 per year
Responsibilities:- Write embedded software applications in Python and C/C++ that run on our IoT gateways and devices.
- Collaborate with team members to develop system architecture for a robust, scalable platform.
- Understand user requirements, contribute to the development of product requirements and participate in the entire product development life cycle.
- Document your code, APIs and design decisions.
- Participate in code reviews, giving and receiving feedback.
- A bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering or a related field, or equivalent practical experience.
- 0–3 years of experience building software including internships, co-ops, research or personal projects.
- Programming experience in Python, C/C++ is a plus.
- Confident use of the Linux command line, Bash scripting and Git.
- Working knowledge of containerization tools such as Docker.
- A habit of writing clean, testable code and a willingness to ask questions and learn quickly.
- Familiarity with software testing methodologies and design patterns.
- Understanding of application design: state machines, event-driven architecture.
- Understanding of concurrency on constrained devices: threads or tasks, queues, mutexes and avoiding race conditions.
- Exposure to application-level communication such as TCP/IP, MQTT, BLE/Wi-Fi or serial command protocols.
- Experience with embedded development, including microcontroller platforms such as Arduino or ESP
32, and RTOS concepts. - Experience interacting with hardware / low-level protocols (e.g. I2C, UART, Modbus, CAN)
- Debugging on real hardware with JTAG/SWD debuggers, oscilloscopes and logic analyzers.
- Experience with device fleet management platforms.
- Exposure to cloud platforms such as AWS, Azure or GCP.
Today’s research, clinical, and quality control labs are expected to discover and produce at a pace once considered unimaginable. Now, to lead is to be led by data. The Elemental Machines platform elevates Lab Ops teams in charge of machines, instruments, data, facilities, training, quality, and compliance to lead data-driven discovery, development, and delivery. But there are over 300 million physical instruments, devices, and machines not yet connected to the cloud.
We are simplifying the connection between the physical and digital worlds using IoT and AI-driven insights. The result is a lab united by a universal cloud-connected dashboard and operations.
is on a mission to enable intelligent operations by connecting the physical and digital infrastructure to optimize outcomes. Science and technology leaders trust Elemental Machines' ecosystem of hardware and software to deliver actionable insights that accelerate their pace of innovation.
We enable data-driven discovery, development, and delivery within organizations ranging from biopharma labs to biobanks, analytical labs, and manufacturers in the life sciences and beyond.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).