Firmware Engineer
Mill is all about answering a simple question: how can we prevent waste? Less waste can save time, money, energy, maybe even our planet. And there’s no better place to start than food. Food waste is one of the most solvable climate problems facing us today. Plus, our trash really stinks. It’s gross, heavy, and our least favorite chore. At Mill we are striving to build a better environment for all, as we take on climate and kitchen change.
We're seeking a Senior Firmware Engineer to design, develop, and implement low-level firmware for our next-generation connected product. You'll work closely with cloud services, mobile app, product and hardware teams to integrate Wi-Fi, Bluetooth, and other connectivity features seamlessly, while actively collaborating and contributing as a key team player.
Key Responsibilities
- Design and implement robust firmware on MCU platforms, ensuring support for wireless connectivity, OTA updates, sensor integration, and other core functionalities.
- Develop and optimize communication stacks for Wi-Fi, Bluetooth, and other wireless protocols, ensuring reliable pairing, network configuration, and data exchange.
- Write efficient low-level code that integrates with hardware peripherals (e.g., RF modules, sensors) using standard interfaces such as GPIO, I2C, SPI, and UART.
- Apply best practices for error handling and performance optimization to support robust connectivity features.
- Work closely with cross-functional teams to rigorously debug, test, and troubleshoot firmware, ensuring optimal performance, reliability, and security.
- Engage actively with multidisciplinary teams, sharing insights and aligning on system-level requirements to drive cohesive project success.
- Contribute to the deployment readiness of our systems for large-scale production.
- Evaluate code from peers to maintain best practices in style, accuracy, and efficiency.
Required Qualifications
- Bachelor’s degree in Computer Science, Electrical Engineering, or equivalent experience, with 5+ years in embedded systems development.
- Deep understanding of computer networking and firmware for data-intensive applications.
- Strong expertise in C programming for embedded systems, with a solid grasp of memory management and real-time operating system principles.
- Hands-on experience with connectivity modules (Wi-Fi, Bluetooth) and RTOS (FreeRTOS preferred).
- Proficiency in hardware-software interfacing, including protocols like GPIO, I2C, SPI, and JTAG.
- Proficiency with troubleshooting tools (debuggers, Wireshark) and measurement equipment (multimeters, oscilloscopes, logic analyzers).
- Demonstrated expertise in debugging and rigorous testing to quickly identify and resolve complex issues.
- Familiarity with version control, CI, and build systems.
Preferred Skills
- Experience with ESP32 microcontrollers.
- Working knowledge of cloud computing protocols (e.g., MQTT) and platforms like AWS (AWS CDK is a plus).
- Experience with cellular connectivity.
- Familiarity with or knowledge of mobile app development is a plus.
- Excellent communication and interpersonal skills to foster a collaborative, team-oriented environment.
The estimated base salary range for this position is $170k to $225k, which does not include the any benefits or equity. Various factors are considered in making compensation decisions, including but not limited to experience, training, licensure and certifications, and business and organizational needs.
Apply for this job
*
indicates a required field