Embedded Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+23 more
Job description
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., * 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.
Requirements
- 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 ESP32, 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.
Benefits & conditions
- 401(k)
- Dental insurance
- Health insurance
- Health savings account
- Paid time off
- Stock options
- Vision insurance
About the company
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 LabOps 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.
Elemental Machines 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.
Pay: $90,000.00 per year
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Loading talks and stories from around this role…