Senior Embedded Software Engineer
Job Description
NextGen RF Design is seeking a Senior Embedded Software Engineer in North Mankato, MN on a hybrid work arrangement. The role offers a competitive annual salary of $100,000 to $135,000, a 401(k) plan, and health insurance. This is a hands-on, ownership-centric position responsible for low-level firmware across microcontrollers, SoCs, and embedded Linux, with close collaboration alongside hardware, FPGA, and DSP engineers.
Benefits
- 401(k)
- Health insurance
Responsibilities
- Embedded Software Development: design, implement, and maintain firmware in C and C++ for MCU- and SoC-based systems; develop real-time software within RTOS environments such as FreeRTOS or equivalent; build and sustain low-level drivers, BSPs, bootloaders, and hardware abstraction layers; produce efficient, deterministic, and maintainable code for interrupt-driven and time-critical tasks; utilize Embedded Linux where appropriate to complement MCU/RTOS implementations, including kernel configuration as needed
- System Architecture & Integration: partner with hardware, FPGA, and DSP teams to define software/hardware partitioning; translate requirements into clear software designs and interfaces; participate in design reviews to ensure scalable, testable, and production-ready architectures; support integration of software into complete RF systems
- Debugging & Bring-Up: lead board bring-up and system-level debugging on new hardware; diagnose memory corruption, stack overflows, race conditions, timing issues, watchdog resets, and hard faults; address kernel panics and low-level Linux issues; use JTAG/SWD, logic analyzers, oscilloscopes, and trace tools to debug across hardware, firmware, and OS boundaries
- Customer & Business Alignment: work directly with customers to capture requirements, translate them into system-level specs, and communicate design tradeoffs; represent the company in customer design reviews and technical groups as needed
- Verification, Quality & Production Support: develop and execute unit, integration, and system-level test strategies; ensure software meets performance, reliability, and maintainability targets; support manufacturing test, field issues, and long-term product sustainment; contribute to coding standards, documentation, and software best practices; support requirements traceability, documentation, and formal verification activities in line with structured product development and quality systems
- Technical Leadership & Mentorship: provide technical guidance to junior and mid-level engineers; demonstrate code quality, design discipline, and effective problem solving; influence engineering best practices without formal management responsibilities
Requirements
- BS in Computer Engineering, Electrical Engineering, Computer Science, or a related field
- 10+ years of professional embedded software development experience
- Solid background in embedded Linux with kernel-level debugging
- Experience with interrupts, DMA, and memory-mapped I/O
- Multithreading, synchronization, and real-time constraints
- Device driver development
- Deep debugging skills using both software and hardware tools
- C and C++ for embedded systems, including bare metal and RTOS contexts
- Git-based version control and CI/CD workflows
- Experience with LoRa, Wi-Fi, Bluetooth, LTE/5G, or proprietary modulations
- Atlassian JIRA or other software tracking tools
- Demonstrated experience leading engineering teams or mentoring junior engineers
- Strong written and verbal communication skills, with the ability to explain technical tradeoffs to engineers and executives
- Experience with ISO 9001 or other regulated development environments preferred
- End-to-end ownership: define requirements, document designs, develop and verify firmware; proficient with interrupt-driven, real-time systems and device drivers
- Ability to evaluate and partition functions across CPU, FPGA, and peripherals, balancing cost, performance, and schedule tradeoffs
Technologies
- C
- C++
- FreeRTOS
- Embedded Linux
- Kernel-level debugging
- JTAG
- SWD
- Logic analyzers
- Oscilloscopes
- Trace tools
- Git
- CI/CD
- LoRa
- Wi-Fi
- Bluetooth
- LTE/5G
- FPGA
- DSP
- Atlassian JIRA
- BSPs
- Bootloaders