
Principal Engineer, Software
- Hyderabad, Telangana
- Permanent
- Full-time
- Architect and develop firmware components including device drivers, hardware abstraction layers, diagnostics, and manufacturing test software.
- Lead technical efforts in BIOS and BMC development, ensuring robust integration with microcontrollers and IO subsystems.
- Collaborate with cross-functional teams (hardware, systems, validation, manufacturing) to define technical requirements and troubleshoot system-level issues.
- Design and maintain automation infrastructure for testing and validation.
- Design, develop, and debug BMC firmware for server platforms using C and C++
- Develop and maintain firmware components including device drivers, diagnostics, and hardware abstraction layers.
- Design and implement software in Python, Golang, and Shell for embedded platforms.
- Participate in code reviews, architecture discussions, and process improvements.
- Support network device integration (PHYs, NICs, Ethernet switches) and protocol-level debugging.
- Ensure compliance with security standards, including Platform Firmware Resilience (PFR) and Platform Root of Trust (PRoT)
- Guide and mentor engineers in best practices for embedded software development and test automation.
- Drive continuous improvement in development processes, tooling, and engineering standards.
- Strong experience with embedded firmware development and system bring-up.
- In-depth knowledge of BMC CPU architectures (e.g., ARM, RISC-V, or similar).
- Familiarity with the OpenBMC software stack, including build processes, configuration, and customization.
- Proficiency in Python and Bash; experience with Pytest and modern automation frameworks.
- Working knowledge of communication protocols: I2C/I3C, SPI, UART, USB, PCIe.
- Familiarity with network devices such as PHYs, NICs, and Ethernet switches is a plus.
- Experience with Linux, container technologies (Docker, Kubernetes), and CI/CD pipelines.
- Excellent debugging and traffic analysis skills (e.g., tcpdump, Wireshark).
- Strong proficiency in C and C++ programming for embedded systems.
- Understanding of system-level debugging tools and techniques (e.g., JTAG, oscilloscopes, logic analyzers).
- Knowledge of Platform Firmware Resilience (PFR) and Platform Root of Trust (PRoT) security frameworks is preferred.
- Strong analytical and troubleshooting skills.
- Excellent communication and collaboration abilities.
- Strong interpersonal and communication skills; ability to lead and collaborate effectively.
- Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or related field.
- 7+ years of experience in firmware/software development.