Microchip products are at the heart of millions of consumer devices and networks, and we are looking for an exceptional person to join our team.
A candidate placed in this position will be an important contributor to the USB and Networking Drivers and Applications Team, whose focus is bringing advanced connectivity devices to market.
The candidate should have experience with the development of products with high-speed interfaces and be capable of authoring and delivering complex device driver and system software solutions.
The most desirable candidates will also have the skills and experience required to support Microchip field engineers to solve the most complex customer challenges.
Job Requirements :
Holds a bachelor’s or master’s degree in Computer Science or related discipline.
5+ Years combined experience in one or more of the following : Developing of Linux device drivers (C) Windows device drivers (C / C++) Embedded Linux BSP (C) RTOS (C ), FreeRTOS, automotive RTOS Mac OS X device drivers (C / C++)
Expert knowledge of C programming language
Solid understanding of RISC (ARM, MIPS) architecture : caches, MMU, implications of DMA transfers, ability to read ARM assembly
Kernel debugging and tracing, crash dump analysis, profiling, code optimizations
Hands on knowledge of I2C, SPI
Ethernet 10 / 100 / 1GigE, OSI, IP stacks
Linux drivers : Ethernet, NAPI, buffer management
USB2, USB3 architecture, software stack
Strong working knowledge of Ethernet switching and related protocols : RSTP etc
Familiarity with Electronics Lab equipment, e.g., Oscilloscope, Logic Analyzer, Protocol Analyzer (any protocol)
Ability to read schematics, IC datasheets, errata document
Must be self-motivated and able to work in collaborative group environment.
Must be highly motivated and able to work independently with minimal supervision.
Develop and maintain device drivers
Document changes and bugs
Debug both kernel and user space code
Specify and design test environments including Software requirements Lab Equipment requirements Test board designs
Perform lab-based post-silicon validation data collection and document results.
Work with Design Engineering, Product Engineering, and Applications Engineering to validate new silicon products.
Work in the lab to replicate customer issues and, when necessary, interface directly with field engineers to root cause a customer problem.
Lead small teams to achieve program goals on firm timelines.
Manage resolution of silicon issues found during product life cycle.
Desired Skills / Knowledge :
Understanding of one of more of the following protocols : Ethernet (10 / 100 / 1000), Ethernet Switching Protocols, PCIe, Flash Media Standards, USB (USB3.
0, USB2.0), USB Power Delivery,
Experience in direct support of customers and Field Applications Engineers
Automotive Software : AutoSAR, adaptive AutoSAR