Senior Engineer I - Software
On-siteChennai, Tamil Nadu, India
Job Summary
Develop embedded firmware and software for PCIe products, including bare-metal and RTOS-based solutions, device drivers, and protocol stacks. Create software design specifications, test plans, and implementation details while managing developer testing and sustenance. Participate in feasibility studies, code reviews, and debugging activities to resolve technical issues across pre- and post-silicon stages. Collaborate with cross-functional teams to deliver high-complexity software deliverables adhering to product specifications and industry coding standards. Work on multiple parallel projects while demonstrating self-leadership and problem-solving skills.
Required Qualifications
- B.Tech (preferably ECE/CSE/EEE)
- Good Knowledge and hands-on software development experience in PCIe standards, protocols like NVMe, NTB, SRIOV, Virtualization
- Hands-on embedded software/Firmware development experience for PCIe based products, Ethernet NIC, Switches, PHYs
- Experience in Embedded firmware development with either NVMe SSD controllers (either SSD host driver or SSD device FW) or PCIe Gen4/Gen5 devices
- Experience in one or more of the following: ASPICE, Automotive Functional Safety ISO26262, Industrial functional safety ISO61508, Cyber security ISO21434
- Experience in MISRA C, CERT C, and CWE (Common Weakness Enumeration) guidelines and making embedded firmware codebases compliant to these coding standards
- Very strong in C programming
- Hands-on in assembly language basics
- Good understanding and hands-on experience in Micro controllers, Operating Systems and RTOS internals
- Experience in low level embedded software/firmware design, development, testing and deployment with any Micro controllers
- Ability to understand datasheets, Application notes, PCB schematics
- Good problem-solving skills
- Good verbal and written communication skills
- Open minded person who is willing to reach out to different stakeholders in a cross functional project team to resolve issues as situations demand
- Self-motivated, self-driven person
- Good team player willing to multitask within projects tasks according to set priorities
- Adherence to standards, guidelines, and best practices in the industry
- 5 to 7 years experienced embedded Software/Firmware Engineer
Desired Qualifications
- Good Knowledge and hands-on software development experience in PCIe standards, protocols like NVMe, NTB, SRIOV, Virtualization
- Hands-on embedded software/Firmware development experience for PCIe based products, Ethernet NIC, Switches, PHYs
- Experience in Embedded firmware development with either NVMe SSD controllers (either SSD host driver or SSD device FW) or PCIe Gen4/Gen5 devices
- Experience in one or more of the following: ASPICE, Automotive Functional Safety ISO26262, Industrial functional safety ISO61508, Cyber security ISO21434
- Experience in MISRA C, CERT C, and CWE (Common Weakness Enumeration) guidelines and making embedded firmware codebases compliant to these coding standards
- Hands-on in assembly language basics
- Experience in low level embedded software/firmware design, development, testing and deployment with any Micro controllers
- Exposure to interface protocols like UART, SPI, I2C, CAN, USB, Ethernet
- Familiarity in using Logic analyzers, Debuggers, Oscilloscope, Protocol analyzers
- Experience in PCIe based protocols and related software stack development
- Good understanding of PCIe standards, Ethernet basics - Layer 2, 3 protocols, Switches, PHYs, knowledge of USB
- Experience in software development in one or more of the following: Linux kernel drivers, Windows device drivers, QNX / VxWorks device drivers, PCIe protocol, Ethernet Switches
- Experience in embedded software development for Automotive/Industrial sectors
- Basic knowledge on security standards, DES, AES, SHA-1
- Familiarity in scripting language like Python
Hiring someone like this?
Get your role in front of qualified candidates on Sorce.