Principal Engineer, Software

7 - 12 years

12 - 17 Lacs

Posted:6 hours ago| Platform: Naukri logo

Apply

Work Mode

Work from Office

Job Type

Full Time

Job Description

Position Summary

We are seeking a Principal Software Engineer with deep technical expertise in embedded systems and firmware development. This role is critical to driving innovation and execution across our platform, with a focus on BIOS, BMC, microcontrollers, IO peripherals, and sensors. You will lead technical initiatives, mentor engineers, and collaborate across teams to define requirements, architect solutions, and resolve complex issues.
Key Responsibilities
  • 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.
Required Skills
  • 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.
Qualifications
  • Bachelors or Masters degree in Computer Science, Electrical Engineering, or related field.
  • 7+ years of experience in firmware/software development.
  • Proven track record of leading technical projects and mentoring engineers.

Mock Interview

Practice Video Interview with JobPe AI

Start Python Interview
cta

Start Your Job Search Today

Browse through a variety of job opportunities tailored to your skills and preferences. Filter by location, experience, salary, and more to find your perfect fit.

Job Application AI Bot

Job Application AI Bot

Apply to 20+ Portals in one click

Download Now

Download the Mobile App

Instantly access job listings, apply easily, and track applications.

coding practice

Enhance Your Python Skills

Practice Python coding challenges to boost your skills

Start Practicing Python Now

RecommendedJobs for You

Hyderabad, Telangana, India