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
+13 more
Job description
As our first Embedded Software Engineer, you will be given a clean slate to architect and build the Embedded layer of a next-generation utility-scale power system. This is a high-agency role for any Engineer who wants to build software that controls massive amounts of energy in the physical world. You will take ownership of initial architectural decisions, from the communication stack to cloud telemetry, building an ecosystem without the burden of legacy technical debt., * System Integration: Design and deploy comprehensive software solutions for supervisory control, OTA updates, telemetry, and manufacturing self-test protocols across solar, storage, and load subsystems.
- Hardware Interfacing: Develop low-level drivers and communication stacks for power electronics using RS232/RS485, Modbus RTU, and CANbus to ensure seamless hardware-to-software connectivity.
- Lead board bring-up efforts, ensuring hardware-firmware integration from power-on to full functionality.
- Conduct comprehensive microcontroller and peripheral evaluations to select optimal components for system performance.
- Architect and maintain robust device infrastructure, including secure bootloaders, automated firmware provisioning, and system diagnostics.
- Safety-Critical Logic: Engineer high-reliability monitoring systems for arc fault detection and thermal management, implementing rapid software responses to hardware-level interrupts and fault signals.
- Architecture: Take ownership of initial decisions for Linux-based gateways and communication layers from a clean slate.
- Real-Time Control: Develop, enhance, and debug new and existing real-time software in embedded Linux and RTOS environments.
- Validation: Drive a test-driven mentality where unit testing, software-in-the-loop (SIL), and hardware-in-the-loop (HIL) are as important as developing new firmware.
- Collaboration: Work with hardware teams to co-design optimal solutions for low-latency control, signal conditioning (level shifting), and system stability in high-noise DC environments.
Requirements
- Education: BS or MS in Computer Engineering, Computer Science, Electrical Engineering, or a related field.
- Languages: Proficiency in modern C/C++, with a strong preference for Rust or Go in high-concurrency systems.
- Experience: 5+ years of hands-on experience in embedded systems, specifically with complex, physical hardware products from prototype to production.
- Embedded Fundamentals: Experience with board bring-up, bootloaders, and kernel/driver development on embedded Linux or RTOS platforms.
- Power Electronics: Proven experience in the control and monitoring of power conversion systems, including inverters, converters, and battery management systems (BMS).
- Power Electronics & Protocols: Proven experience in the control and monitoring of power conversion systems (inverters, BMS) and a strong grasp of system-level power architecture and communication protocols (Modbus, CANbus, SPI, I2C).
- Hardware Literacy: Ability to read schematics and understand signal conditioning (e.g., interfacing +/-12V RS232 signals with 3.3V MCUs) and the use of optoisolators for noise immunity.
- Domain Knowledge: Basic understanding of Utility grid electrical architectures, MPPT charging algorithms, and power electronics concepts.
- Hardware/Diagnostic Skills: Advanced proficiency in using laboratory equipment (oscilloscopes, logic analyzers) for hardware debugging and system-level troubleshooting.
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
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Is Software Engineering Hard?
Software Engineer Career: Things You Should Know
The Best Software Developer Blogs to Read
Where to Find Entry-Level Software Engineering Jobs