Summary
Karman is an NVIDIA-backed AI company developing platforms that help power infrastructure and AI data centers dynamically orchestrate energy resources. The Embedded Firmware Engineer will develop, test, and deploy production-grade firmware for power grid edge computing platforms, while contributing to hardware bring-up, communications, CI/CD, testing, diagnostics, and cross-functional delivery.
Responsibilities
- Develop, test, and deploy firmware features across multiple hardware platforms, contributing scalable and fault-tolerant components
- Assist with hardware bring-up efforts and collaborate directly with hardware engineering teams during development cycles
- Write and debug real-time embedded software in C/C++ on resource-constrained microcontrollers, using the RTOS and bare-metal patterns established by the team
- Implement and debug communication protocols (SPI, I2C, UART, CAN, Ethernet, LTE, WiFi) for IoT device connectivity
- Uphold firmware engineering standards, including coding conventions, testing protocols, and documentation requirements
- Build and maintain CI/CD pipelines, HIL (hardware-in-the-loop) test infrastructure, and automated release tooling using Python, Docker, and GitHub Actions
- Extend logging, telemetry, and diagnostic subsystems, including dissectors and lab tooling
- Collaborate cross-functionally with external contractors, cloud infrastructure, AI/algorithms, and product teams to deliver integrated solutions
Skills
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field, or equivalent experience
- 0–3 years of embedded firmware experience, including internships, coursework projects, capstone work, or a first full-time role
- Working proficiency in C (and ideally C++) with exposure to RTOS or bare-metal programming on a microcontroller
- Familiarity with common embedded interfaces — at least two of SPI, I2C, UART, or Ethernet
- Hands-on experience with hardware — bench work, board bring-up, personal projects, or hardware-adjacent internships
- Comfort with debugging tools such as oscilloscopes, logic analyzers, or JTAG debuggers
- Working knowledge of Git and exposure to a CI/CD system (GitHub Actions or similar)
- Python scripting comfort for test harnesses, build tooling, or automation
- Strong written and verbal communication, and a collaborative work style with cross-functional teams
- Curiosity, willingness to ask clarifying questions, and eagerness to learn from senior engineers
- This position can be performed remotely from anywhere in the United States, preference will be given to candidates based in Michigan with the ability to work on site in Utilidata's headquarters
- Experience or coursework involving FPGA development
- Any STM32 development experience or Cortex-M33-class parts (e.g., STM32H5)
- Docker experience for reproducible build environments
- Experience writing hardware-in-the-loop or bench-automation tests
- Exposure to embedded security fundamentals
- Wireshark, protocol analysis, or Lua dissector experience
- Static analysis or code-formatting tooling exposure (clang-format, clang-tidy, cppcheck, or similar)
- Rust or other modern systems-programming language exposure
- Personal or academic projects involving robotics, PCB design, or embedded work
- Interest in the physics, mathematics, and hardware components which underlie the U.S. electricity grid and evolving power systems
- Familiarity with linux systems (e.g., NVIDIA Jetson, AMD/XILINX Kria)
- Familiarity with Agile development methodologies
Qualifications
Must Haves
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field, or equivalent experience
- 0–3 years of embedded firmware experience, including internships, coursework projects, capstone work, or a first full-time role
- Working proficiency in C (and ideally C++) with exposure to RTOS or bare-metal programming on a microcontroller
- Familiarity with common embedded interfaces — at least two of SPI, I2C, UART, or Ethernet
- Hands-on experience with hardware — bench work, board bring-up, personal projects, or hardware-adjacent internships
- Comfort with debugging tools such as oscilloscopes, logic analyzers, or JTAG debuggers
- Working knowledge of Git and exposure to a CI/CD system (GitHub Actions or similar)
- Python scripting comfort for test harnesses, build tooling, or automation
- Strong written and verbal communication, and a collaborative work style with cross-functional teams
- Curiosity, willingness to ask clarifying questions, and eagerness to learn from senior engineers
- This position can be performed remotely from anywhere in the United States, preference will be given to candidates based in Michigan with the ability to work on site in Utilidata's headquarters
Nice to Haves
- Experience or coursework involving FPGA development
- Any STM32 development experience or Cortex-M33-class parts (e.g., STM32H5)
- Docker experience for reproducible build environments
- Experience writing hardware-in-the-loop or bench-automation tests
- Exposure to embedded security fundamentals
- Wireshark, protocol analysis, or Lua dissector experience
- Static analysis or code-formatting tooling exposure (clang-format, clang-tidy, cppcheck, or similar)
- Rust or other modern systems-programming language exposure
- Personal or academic projects involving robotics, PCB design, or embedded work
- Interest in the physics, mathematics, and hardware components which underlie the U.S. electricity grid and evolving power systems
- Familiarity with linux systems (e.g., NVIDIA Jetson, AMD/XILINX Kria)
- Familiarity with Agile development methodologies
Benefits
- Stock options
- Providing mentorship and growth opportunities as part of a collaborative team
- A flexible work environment with flexible paid time off
- Health, dental, vision, and employer-match 401k
- Remote work from anywhere in the United States
- Ability to work on site in Utilidata’s headquarters for candidates based in Michigan