Firmware Engineer

Base Power CompanyAustin, TX
31d

About The Position

The firmware team at Base designs and implements the firmware that controls the Base energy fleet. They are responsible for the grid balancing provided by the Base systems as well as keeping the lights on when the grid has issues. High rate telemetry, automated fault detection and response, reliable communications, fast commissioning, and other core system behaviors are owned by the firmware engineers at Base. As a member of this team, you will be responsible for designing and distributing high-reliability software to our ever-growing fleet of power systems.

Requirements

  • A first-principles mindset with a proven track record of finding the simplest, most elegant solution to complex engineering challenges.
  • 5+ years of hands-on experience in embedded software development on bare-metal systems, real-time operating systems (RTOS), or Embedded Linux.
  • Deep expertise in developing low-level embedded software and applying low-latency software design to ensure highly deterministic and real-time system responses.
  • Demonstrated ability to build reliable, deterministic software from the ground up and write exceptionally clean, maintainable code.
  • Experience with test-driven development and utilizing CI/CD methods to maintain high velocity and quality.

Nice To Haves

  • Direct experience with reading and interpreting hardware schematics and datasheets to inform software design and integration.
  • Experience with the Embedded Linux ecosystem, including kernel configuration, driver development, and deployment/update mechanisms.
  • Familiarity with various computer architectures (e.g., ARM, RISC-V) and the trade-offs involved in processor family selection for performance-critical applications.
  • Experience designing and debugging software for custom hardware.
  • Working knowledge of power electronics and power systems software integration.
  • Familiarity with safety and regulatory certification processes (e.g., UL1998, UL1741, or UL1547).

Responsibilities

  • Architect, design, and deliver mission-critical, reliable firmware for our fleet, primarily written in C/C++. This includes development on both bare-metal/RTOS platforms and Embedded Linux distributions.
  • Dive deep into computer architecture to understand system behavior at the lowest levels, enabling you to select and utilize optimal processors and microcontrollers. You'll use this knowledge to influence system-level design and achieve minimal latency and maximum performance.
  • Contribute across the full embedded software stack, from designing and implementing bootloaders and device drivers (both bare-metal and Linux kernel-level) all the way up through the application layer to deliver robust and high-performance features.
  • Collaborate closely with board designers / power electronics engineers to define interfaces, troubleshoot complex integration issues, and ensure seamless performance across the hardware/software boundary.
  • Lead the full lifecycle of new embedded systems, from initial processor selection and custom hardware definition through to implementation, rigorous testing, and fleet deployment.
  • Analyze and interpret hardware schematics to understand component interactions, debug complex system-level issues, and guide the software/hardware interface design.
  • Champion a world-class engineering culture by participating actively in code reviews, ensuring high-quality, reliable software, and optimizing deployment processes.

Stand Out From the Crowd

Upload your resume and get instant feedback on how well it matches this job.

Upload and Match Resume

What This Job Offers

Job Type

Full-time

Career Level

Mid Level

Education Level

No Education Listed

Number of Employees

101-250 employees

© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service