Principal Engineer - Software
MicrochipJob Title
Principal Engineer - Software
Role Summary
Develop, integrate, and maintain Ethernet device drivers and supporting software for Microchip USB- and PCIe-based network interface devices. Work across operating systems (Linux, Windows, QNX, VxWorks, and other embedded/real-time platforms) and collaborate with hardware, firmware, validation, applications, and customer-support teams in the US, Denmark, and India.
Position is based in Hauppauge, NY or Austin, TX and is part of a global networking and connectivity engineering organization.
Experience Level
Senior-level. The posting indicates approximately 10+ years of relevant experience.
Responsibilities
The principal responsibilities include design, implementation, integration, debugging, and customer support for Ethernet network controller drivers and tools.
- Develop detailed understanding of USB- and PCIe-based Ethernet NIC architecture and apply that knowledge to driver design and debugging.
- Design, implement, and maintain device drivers and supporting tools for multiple operating systems.
- Create and maintain design, development, and support documentation.
- Reproduce system-level issues, analyze driver/protocol/performance/hardware interactions, identify root causes, and deliver verified resolutions.
- Collaborate with hardware, firmware, validation, applications, and customer-support teams across multiple locations.
Requirements
Must-have technical skills and experience for the role; preferred items listed separately.
- 10+ years developing embedded software, device drivers, or low-level networking software.
- Experience with one or more operating systems: Linux, QNX, Windows, macOS, or RTOS platforms.
- Strong programming skills in C/C++; practical experience with Python.
- Knowledge of processor architectures and OS internals: concurrency, interrupts, DMA, memory management, and device I/O.
- Ability to read board-level schematics and perform hardware/driver bring-up and system debugging using protocol analyzers, oscilloscopes, and logic analyzers.
- Strong written and verbal communication skills and ability to take ownership of complex technical work across distributed teams.
- Preferred: experience developing for ARM or x86 platforms; knowledge of Ethernet, PCIe, USB, or other bus communication protocols.
Education Requirements
Bachelor's or master’s degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field. The posting pairs the degree expectation with ~10+ years of relevant experience.
About the Company
Company: Microchip
Headquarters: Chandler, Arizona, USA
Microchip is a leading semiconductor company focused on developing innovative solutions to enhance the human experience. With a commitment to empowering innovation, Microchip prioritizes the value of its employees by fostering a culture that supports their growth and contributions.
