Sr. Engineer, Software
Position Summary
We are looking for a Senior Software Engineer with strong firmware and software development skills to contribute to the design and implementation of embedded systems.
You will play a critical role in designing, implementing, and optimizing firmware for our server infrastructure, ensuring robust system management, security, and performance.
This role focuses on developing scalable, high-performance solutions involving BIOS, BMC, microcontrollers, IO peripherals, and sensors. You will work closely with cross-functional teams to deliver robust and secure software for our next-generation platforms.
Key Responsibilities
- 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.
- Collaborate with hardware, systems, and validation teams to define requirements and troubleshoot integration issues.
- Contribute to the development of manufacturing test software and automation tools.
- 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)
Required Skills
- Strong proficiency in C and C++ programming for embedded systems.
- 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.
- Experience with embedded systems development, including low-level hardware interfaces (I2C, SPI, UART, etc.).
- 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.
-
- Proficiency in Python, Golang, and Shell scripting.
- Working knowledge of I2C/I3C, SPI, UART, USB, PCIe protocols.
- Familiarity with networking concepts and devices (L2 L7, TCP/IP, load balancers).
- Experience with Docker, Kubernetes, and CI/CD workflows.
- Strong analytical and troubleshooting skills.
- Excellent communication and collaboration abilities.
Qualifications
- Bachelor s degree in Computer Science, Electrical Engineering, or related field.
- 8+ years of experience in software development, with emphasis on embedded systems.
Equal Employment Opportunity
.