Microchip Technology Inc. is a leading provider of embedded control applications. Our product portfolio comprises general purpose and specialized 8-bit, 16-bit, and 32-bit microcontrollers, 32-bit microprocessors, field-programmable gate array (FPGA) products, a broad spectrum of high-performance linear, mixed-signal, power management, thermal management, radio frequency (RF), timing, safety, security, wired connectivity and wireless connectivity devices, as well as serial Electrically Erasable Programmable Read Only Memory (EEPROM), Serial Flash memories, Parallel Flash memories, and serial Static Random Access Memory (SRAM). We also license Flash-IP solutions that are incorporated in a broad range of products.Job Description
Microchip Technology Inc. has an Engineer I - Software Development opening based in Houston, Texas. The successful candidate will be responsible for designing, developing and supporting several different operating system drivers for server storage applications. In this role you will be working within a team of other software engineers delivering industry-leading storage products for the Enterprise and Data Center environments. You will work closely with hardware, ASIC, storage management, firmware and test teams to deliver complete solutions.
- Design, develop and unit test high quality OS drivers within a formal SCRUM process.
- Develop features for new generations of products as well as supporting current ones.
- Interface with other teams to build a complete software stack solution.
- Deliver storage drivers that meets all customer requirements and are optimized for industry-leading quality and performance (bandwidth and latency).
- Be proficient in all storage technologies.
- Interface with program management, providing status updates and meeting commitments.
- Bachelor's degree in CS, CprE, or EE.
- Proficient in C/C++ programming.
- Proficient with scripting languages (Shell, Perl, Python or similar).
- Excellent verbal and written communication skills.
- Strong interpersonal skills and experience as part of a collaborative development team.
- Strong problem-solving, hands-on debugging, lab skills and use of test equipment.
- Highly motivated and can achieve goals with minimal supervision.
- Knowledge of Agile methodologies and with the formal SCRUM software development process.
- Familiar with typical development environments and source code management systems like Visual Studio, git, jira.
- Experience with OS driver development (Windows, Linux, VMware) or similar.
- Knowledge of PCI/PCI Express system architectures.
- Knowledge of storage concepts and interfaces (e.g. RAID, SCSI, SAS, SATA, NVMe).