ARCHIVED
This job listing has been archived and is no longer accepting applications.
MisuJob - AI Job Search Platform MisuJob

Senior Firmware Engineer - User Interface

Mill

San Bruno, California (Mill) permanent

Posted: December 8, 2025

Interested in this position?

Create a free account to apply with AI-powered matching

Job Description

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 are seeking an extraordinary Firmware Engineer to lead development of the embedded software platform for our next-generation product. You will work across Linux-based systems (e.g., Raspberry Pi–class SoCs) and microcontrollers to bring up hardware, integrate sensors and actuators, and power the product’s user interface and overall experience. Collaborating closely with hardware designers, product, and software teams, your work will be crucial in turning innovative concepts into reliable, delightful products in people’s homes.

Key Responsibilities

• Design, implement, and maintain firmware and Linux-based services for our core product platform (e.g., Raspberry Pi or similar SoCs plus companion MCUs).

• Bring up new hardware: bootloaders, board support packages, device trees, and low-level drivers for sensors, motors, connectivity modules, and other peripherals.

• Implement and debug drivers and application-level interfaces for I²C, SPI, UART, GPIO, PWM, and other common embedded buses.

• Integrate and support displays (HDMI/DSI/LVDS), working closely with design and product teams to deliver responsive, reliable UIs.

• Collaborate with software/UI engineers to enable embedded UI frameworks (e.g., Qt, LVGL, or browser-based UIs) and ensure smooth interaction between firmware, UI, and cloud services.

• Define and implement inter-processor communication between Linux SoCs and MCUs for telemetry, control, and safety-critical paths.

• Profile and optimize system performance and robustness, ensuring that UI, connectivity, sensors, and actuators coexist without performance degradation.

Required Qualifications

• Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or related discipline, or equivalent experience.

• 5+ years of experience in embedded firmware/software engineering, working on real products that ship to customers.

• Strong proficiency in C/C++ for embedded systems (MCUs and/or Linux), with a solid understanding of memory management, interrupts, DMA, and real-time constraints.

• Hands-on experience developing on Linux-based embedded platforms (e.g., Raspberry Pi, SoMs/compute modules, or similar SBCs): cross-compilation, toolchains, and debugging on target.

• Solid understanding of I²C, SPI, UART, GPIO, and related low-level interfaces; comfortable reading schematics and hardware datasheets.

• Experience bringing up new boards or hardware revisions and integrating drivers into a Linux system (kernel modules and/or device-tree-level configuration).

• Proven prototyping ability—quickly translating high-level product requirements into

• Strong debugging skills, including use of JTAG, GDB, logging/tracing, and lab instruments (oscilloscope, logic analyzer).

• Excellent communication skills, capable of producing clear documentation, architecture diagrams, and collaborating effectively across disciplines.

Preferred Skills

• Experience integrating and tuning display pipelines and touchscreens for embedded products.

• Experience with embedded UI frameworks or stacks (e.g., Qt Embedded, LVGL, Flutter, or web-based UIs on embedded browsers).

• Familiarity with Linux system architecture for embedded devices: systemd, device trees, kernel configuration, packaging, and build systems (Yocto, Buildroot, Debian-based, etc.).

• Experience with OTA firmware/software update mechanisms for both MCUs (bootloaders) and Linux SoCs (partitioning, rollback strategies).

• Exposure to camera or vision systems (e.g., basic camera bring-up, simple image capture pipelines) is a plus but not required.

• Previous experience in startups or rapid prototyping environments, comfortable working through ambiguity and iterating quickly.

• Familiarity with Agile methodologies, version control (Git/GitHub), CI/CD pipelines, and project management tools (e.g., JIRA).

The estimated base salary range for this position is $170k to $225k, which does not include the value of benefits or a potential equity grant. A wide range of factors are considered in making compensation decisions, including but not limited to skill sets, market conditions, experience and training, licensure and certifications, and business and organizational needs.

Why Apply Through MisuJob?

AI-Powered Job Matching: MisuJob uses advanced artificial intelligence to analyze your skills, experience, and career goals. Our matching algorithm compares your profile against thousands of job requirements to find positions where you have the highest chance of success. This saves you hours of manual job searching and ensures you only see relevant opportunities.

One-Click Applications: Once you create your profile, applying to jobs is effortless. Your resume and cover letter are automatically tailored to highlight the most relevant experience for each position. You can apply to multiple jobs in minutes, not hours.

Career Intelligence: Beyond job matching, MisuJob provides valuable career insights. See how your skills compare to market demands, identify skill gaps to address, and understand salary benchmarks for your experience level. Make data-driven decisions about your career path.

Frequently Asked Questions

How do I apply for this position?

Click the "Register to Apply" button above to create a free MisuJob account. Once registered, you can apply with one click and track your application status in your dashboard.

Is MisuJob free for job seekers?

Yes, MisuJob is completely free for job seekers. Create your profile, get matched with jobs, and apply without any cost. We help you find your dream job without any hidden fees.

How does AI matching work?

Our AI analyzes your resume, skills, and experience to understand your professional profile. It then compares this against job requirements using natural language processing to calculate a match percentage. Higher matches mean better fit for the role.

Can I apply to jobs in other countries?

Absolutely. MisuJob features jobs from companies worldwide, including remote positions. Filter by location or look for remote opportunities to find jobs that match your preferences.

Ready to Apply?

Join thousands of job seekers using MisuJob's AI to find and apply to their dream jobs automatically.

Register to Apply