Job Title : Principal Software Engineer
Location : Eden Prairie, Minnesota
Work Style : Full-time onsite (some flexibility on Fridays)
Salary : $120,000 – $145,000 per year (no bonus or additional compensation currently)
Projected Total Compensation : $120,000 – $145,000 annually
Start : ASAP
Duration : Full-time / Direct Hire
Interview Process :
- Round 1 : 30-minute phone screen with hiring manager
- Round 2 : Onsite interview with engineering team
About the Role (Summary of project)
Gentis Solutions is seeking a Principal Software Engineer to design, develop, and customize Linux board support packages (BSPs) , focusing primarily on bootloaders (U-Boot) and Linux kernel development for Yocto and Buildroot-based distributions .
This role is not an IT or application development position—it is deeply embedded, system-level engineering, supporting processor platforms, device drivers, bare-metal systems, RTOS environments, and board bring-up.
The Principal Software Engineer will provide technical leadership , mentor other engineers, and collaborate cross-functionally to deliver cutting-edge embedded solutions across multiple processor architectures.
What You’ll Do (Job Description) :
Technical Leadership & Architecture
Translate product requirements into scalable, implementable system architectures.Provide day-to-day mentorship and technical leadership to design engineers.Lead multi-discipline engineering projects and occasionally manage customer project deliverables.Embedded Software Development
Develop software for 32-bit and 64-bit processor platforms .Build and customize bootloaders (U-Boot) and Linux kernel components .Develop software for bare metal , RTOS , Linux , Android , and QNX platforms.Design and implement device drivers for USB, Video, Audio, Ethernet, CAN, NAND / NOR flash, DDR / SDRAM, HDMI, PCIe, SPI, I2C, etc.Develop software for wireless technologies : Wi-Fi, Bluetooth, 802.11, GPS, cellular .System Debug & Hardware Integration
Support hardware and electrical engineering teams with board bring-up , debugging, and validation.Read and interpret complex electrical schematics and datasheets.Utilize oscilloscopes, JTAG debuggers, spectrum analyzers, and related tools.Documentation & Project Execution
Prepare verification test plans, development plans, software specifications, and requirements documents.Complete projects within budget and timeline requirements.Communicate technical details and project status across internal and external stakeholders.Engage with external technical communities through writing or speaking engagements.What We’re Looking For (Must Haves) :
Bachelor’s degree in Computer Science, Computer Engineering, Software Engineering , or similar.7–12+ years of embedded software development experience (flexible — right fit prioritized).Strong experience with embedded processor platforms (ARM, PowerPC, MSP430, PIC32, x86 preferred).Expertise with embedded Linux, device drivers, BSPs, bootloaders, Yocto, Buildroot .Experience with bare-metal development , RTOS platforms, and low-level system programming.Strong understanding of CPU internals (caches, MMU, interrupts, DMA, power states).Experience working with cross-functional engineering teams on product design.Ability to write detailed technical documentation and proposals.Hands-on experience with Ethernet, USB, I2C, CAN, Flash, SPI , and other embedded peripherals.Strong communication skills—able to present to leadership and engineering groups.Experience with Agile / Scrum development environments.Preferred (Nice-to-Have Skills) :
Experience managing offshore engineering teams or partner organizations.Experience working on wireless technologies like Bluetooth, Wi-Fi, GPS, cellular .Familiarity with TCP / IP networking, routing protocols , and similar technologies.Experience using oscilloscopes, JTAG tools, and system debuggers.Experience contributing to technical blogs, conferences, or community events.