Senior Embedded Software Engineer
Job Description
The Senior Embedded Software Engineer position at NextGen RF Design is based in North Mankato, MN with a hybrid work arrangement. The role encompasses designing, implementing, debugging, and maintaining low-level firmware across microcontrollers, SoCs, and embedded Linux. It is a hands-on, ownership-focused role that collaborates closely with hardware, FPGA, and DSP engineers. Salary: USD 100,000 - 135,000 per year.
Responsibilities
- Embedded Software Development: Design, implement, and maintain embedded C/C++ firmware for microcontroller and SoC based systems. Implement real-time software in RTOS environments such as FreeRTOS or similar. Develop and maintain low-level drivers, BSPs, bootloaders, and hardware abstraction layers. Write efficient, deterministic, and maintainable code for interrupt-driven and time-critical tasks. Embedded Linux is used where appropriate to complement MCU/RTOS-based systems. Kernel configurations.
- System Architecture & Integration: Collaborate with hardware, FPGA, and DSP engineers to define hardware/software partitioning. Translate system requirements into clear, testable software designs and interfaces. Participate in design reviews to ensure architectures are scalable, testable, and production-ready. Support integration of embedded software into complete RF and embedded systems.
- Debugging & Bring-Up: Lead board bring-up and system-level debugging on new hardware. Diagnose and resolve complex issues including memory corruption, stack overflows, race conditions, timing issues, watchdog resets, hard faults, kernel panics, and low-level Linux problems. Utilize JTAG/SWD debuggers, logic analyzers, oscilloscopes, and trace tools to debug across hardware, firmware, and OS boundaries.
- Customer & Business Alignment: Work with customers to capture requirements and translate them into system-level specifications, communicating design tradeoffs. Represent the company at customer design reviews, technical working groups, and industry events as needed.
- Verification, Quality & Production Support: Develop and execute unit, integration, and system-level tests. 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 consistent with structured product development and quality systems.
- Technical Leadership & Mentorship: Provide technical guidance and mentorship to junior and mid-level engineers. Lead by example in code quality, design rigor, and problem solving. Influence engineering practices without formal management responsibility.
Requirements
- BS in Computer Engineering, Electrical Engineering, Computer Science, or related field.
- 10+ years of professional embedded software development experience.
- Strong background in embedded Linux, including kernel-level debugging.
- Experience with interrupts, DMA, and memory-mapped I/O.
- Multithreading, synchronization, and real-time constraints experience.
- Device driver development expertise.
- Deep debugging skills using software and hardware tools.
- C/C++ development for embedded systems, including bare metal and RTOS contexts.
- Git-based version control and CI/CD workflows familiarity.
- Experience with LoRa, Wi-Fi, Bluetooth, LTE/5G, or proprietary modulations.
- Familiarity with Atlassian JIRA or equivalent tracking tools.
- Proven ability to lead engineering teams or mentor junior engineers.
- Strong written and verbal communication skills to convey technical tradeoffs to engineers and executives.
- Experience with ISO 9001 or other regulated development environments is preferred.
- End-to-end ownership mindset: define requirements, document designs, develop and verify firmware, and work with interrupt-driven, real-time systems and device drivers.
- Ability to evaluate and partition functions across CPU, FPGA, and peripherals with clear 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
Benefits
- 401(k)
- Health insurance
Job Snapshot
- Base Pay: Competitive; commensurate with experience
- Employment: Full-Time, OnSite/Hybrid
- Job Type: Engineering, Embedded Design
- Education: BSCE/BSEE required
- Experience: 7 years experience preferred
- Manages Others: No
- Industry: RF Engineering Services
- Required Travel: Not Specified