Sr. Engineer II-Firmware
Employment Type : Full-Time
Company DescriptionMicrochip 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 DescriptionAs a Firmware engineer, you will join the Storage Firmware Development team involved in building world-class, high performance SAS Storage Controller products for the Server OEMs and Data Centers
- You will participate in every stage of the firmware development starting with design, development and validation for the storage controller products
- You will build storage controller firmware, which runs on an embedded multi-core microprocessor such as MIPS and ARM that provides functions such as SAS & SATA RAID, virtualization, Tiering, Caching & other Storage Virtualization technologies
- You will participate in the requirement analysis and create detailed firmware and driver design documents based on the requirements. The creation of such documents include thorough analysis of available design options and selecting the most appropriate design, data structures & algorithms for the given problem set.
- You will develop the firmware and driver code along with the unit test framework and run the unit tests to meet the requirements. You will also be using the test automation infrastructure to automate the unit test cases
- You will also work across different functional teams such as Operating System Drivers, Management Applications and ASIC teams in coming up with firmware interfaces optimized for the best performance and ease of use.
- You will use programming languages such as C and assembly language for the embedded environment on the custom RTOS, Linux and Thread-X kernels and use tool chains such as Green Hills Software and GNU tool chain along with EJTAG debuggers to develop the firmware
- You also have the need to triage the functional and performance issues reported by both internal & external customers and be able to lead the resolution across multiple functional areas. You will also use the hardware tools such as SAS and PCIe analyzers, Logic analyzer and probes to triage the issues surrounding the Hardware-Firmware interactions
- You are expected to author and maintain the existing engineering design documents, provide inputs in creating end-user documentation
- You will also get to work on the Linux and Windows drivers, which interacts with the SAS controller firmware.
Job Requirements- B.S with 7 years of experience or M.S with 6 years of experience. Computer Science or Electrical or Electronics Engineering
- Must be able to demonstrate strong embedded "C" skills. Knowledge of any assembly language is a plus.
- Must have expertise of embedded firmware development experience in the direct attached storage , RAID, SAS, SATA, FC or iSCSI products
- Must have Knowledge of Embedded firmware development as well as RTOS constructs including processes, threads, scheduling, synchronization mechanisms, events, memory management
- Must have at least 3+ years of product development experience in implementing RAID and Caching algorithms. Must have in-depth understanding on the performance aspects of various caching architectures and RAID levels.
- Must have prior work embedded firmware development experience with multi-core environments using the embedded CPUs such as MIPS, ARM architectures. Any prior experience with Greenhills or GNU tool chain is a plus.
- Must have hands-on experience with Storage Protocols such as a SAS or FC or SATA or iSCSI.
- Must have prior work experience with hardware & software debugging tools such as EJTAG debugger, GDB.
- Must be able to demonstrate the storage performance analysis and tuning skills. Hands on experience with performance tuning tools with different Operating Systems is a plus.
- Highly motivated, sets personal goals, and achieves goals without supervision.
- Demonstrated ability to conceive, design, implement and document complex firmware systems.
- Demonstrated ability to complete software product development (through commercial release).
- Should possess good presentation skills to present the technical ideas to customers or team of principal engineers.
- Should be able to demonstrate the problem analytical solving skills
- Hands on experience with PCI-e and SAS analyzers is a plus.
- Capable of working with customers and technology partners in architecture development
- Exposure to SSD and flash technology is a plus
#LI-MD1
Equal Opportunity EmployerMicrochip is an Equal Opportunity/Affirmative Action Employer of Disabled / Veterans / Minorities / Women. We provide equal employment and affirmative action opportunities to applicants and employees without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, protected veteran status, disability, or any other basis protected under applicable federal, state or local laws.
For more information on applicable equal employment regulations, please refer to the EEO is the Law Poster and the EEO is the Law Poster Supplement. Please also refer to the Pay Transparency Policy Statement.
Applicants with DisabilitiesIf you need accommodation for any part of the employment process because of a medical condition or disability, please send us an email here with "Applicant Accommodation Request" in the subject line of the email. Alternatively, you may call us at 480-730-7330 to let us know the nature of your request.