Senior Technical Staff Engineer - Software
Listed on 2026-06-03
-
Software Development
Embedded Software Engineer, Software Engineer
Position Summary
We are looking for a Senior Technical Staff Embedded Systems Software Engineer to join our Development team in San Jose, CA. The successful candidate will be responsible for working on platform and technology building blocks for our network timing and synchronization range of products and will bring strong background in embedded systems and complex technical problem solving.
Responsibilities- Design, develop, and optimize scalable software solutions for embedded devices and systems using embedded Linux operating system.
- Develop, customize, and maintain Pre-loader, U-Boot boot loader, and Linux kernel modules to support new hardware platforms and features.
- Design and deliver high‑quality Linux kernel drivers for diverse peripherals, ensuring robust hardware‑software integration.
- Collaborate cross‑functionally with hardware engineering, software QA, operations, and global development teams to align on technical strategy, troubleshoot complex issues, and drive project delivery.
- Perform board bring‑up activities for newly designed hardware.
- Troubleshoot, analyze, and resolve technical problems as they arise.
- Create and maintain custom Ethernet drivers tailored to specific requirements.
- Prepare design documentation and functional specifications for new software modules.
- Bachelor’s or Master’s degree in Computer Science, Electronics Engineering, or a related field, with a minimum of 15 years of experience developing embedded platform software.
- Hands‑on experience with Linux kernel internals and peripheral driver development (Ethernet, Flash, SPI, I²C, UART).
- Expertise in U‑Boot boot loader customization and Linux kernel porting across embedded platforms.
- Experience with board bring‑up on ARM‑based systems.
- Experience in IP protocols and networking software development.
- Skilled in Linux Ethernet device driver development.
- Knowledge of networking technologies including Firewall, Routing, IPv4/IPv6, and VLANs.
- Strong understanding of embedded software design on Linux‑based systems.
- Deep knowledge of OS coding techniques such as processes, threads, interrupts, etc.
- Proficient in C programming and shell scripts.
- Strong debugging skills using tools such as GDB and Lauterbach.
- Experience in Yocto framework.
- Familiar with QorIQ Layerscape family of processors.
- Familiar with PCI Express controllers and bus specifications.
U.S. Export Controls Requirements: This job requires access to technology, materials, software or hardware that is controlled by the export laws of the United States. Candidates must provide proof of U.S. citizenship, permanent U.S. residency or classification as a protected individual.
Travel Time: 0% - 25%
Physical Attributes: Feeling, Hearing, Other, Seeing, Talking, Works Alone, Works Around Others
Physical Requirements: 10% walking, 10% standing, 80% sitting; 100% in doors;
Usual business hours
We offer a total compensation package that ranks among the best in the industry. It consists of competitive base pay, restricted stock units, quarterly bonus payments, health benefits that begin day one, retirement savings plans, and an industry‑leading ESPP program with a 2‑year look back feature.
Annual base salary range for this position in the U.S. is $91,000 - $232,000, dependent on location, skills, and experience.
Equal Opportunity EmploymentMicrochip Technology Inc. is an equal opportunity/affirmative action employer. All qualified applicants will receive consideration for employment without regard to sex, gender identity, sexual orientation, race, color, religion, national origin, disability, protected Veteran status, age, or any other characteristic protected by law.
For more information on applicable equal employment regulations, please refer to the Know Your Rights:
Workplace Discrimination is Illegal Poster.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).