BSP Engineer (Linux Kernel, C)
Location: Austin, Texas (onsite)
About the role
The Senior Lead Software Engineer designs, develops, and maintains software across all levels—from firmware to application—while adhering to established development processes (e.g., Agile) and product lifecycle standards. This role requires close collaboration with cross-functional teams to integrate feedback and ensure robust, high-quality product development in data-center environments.
You will work with customers, product-line management, manufacturing engineering, hardware engineering, quality assurance, and project leadership to deliver high-quality software for board management controllers and orchestration systems.
Responsibilities
- Lead the design, development, and implementation of software for board management controllers (BMC) and orchestration software that monitors and maintains a fleet of devices in data-center environments.
- Provide technical leadership and direction to a team of engineers; act as a recognized expert in one or more technical areas.
- Review and interpret customer requirements/specifications; may serve as the primary customer contact.
- Analyze trade-offs in complex systems and recommend solutions.
- Perform project planning and raise risk warnings to management.
- Develop deployment strategies and plans.
- Manage relationships with key vendors and partners.
- Analyze, design, and develop tests and test-automation suites.
- Collaborate cross-functionally with customers, users, project managers, and engineers.
- Provide recommendations for continuous improvement.
Requirements
- Solid C programming skills with working C++ knowledge.
- In-depth understanding of Linux kernel, device drivers, IPC, and U-boot.
- Familiarity with Linux application development.
- Knowledge of BMC including IPMI, SDR, SEL, FRU records, SOL, IPMB, side-band LAN, KCS, and KVM.
- Knowledge of Redfish and other management protocols.
- Experience with board bring-up.
- Working knowledge of BMC-related hardware such as ARM, BMC chips (AST 2500, AST2600, Pilot 4), hardware monitors, Super-IO, NC-SI NIC, and PHY.
- Working knowledge of common buses such as I2C, IPMB, PMBUS, SPI, LPC, UART, and JTAG.
- Leadership skills demonstrating coaching, mentoring, communication, negotiation, presentation, creative problem-solving, and stakeholder management.
Nice-to-have skills
- Knowledge of real-time OS like ThreadX.
- Experience with OpenBMC.
- Experience with one or more of the following: SCSI, SES, RAID, SAS, SATA, SSD, SMART, PCI Express, HBA, network protocols (TCP/UDP).
- Experience with PSoC or MCU firmware development.
- Knowledge of quality and lean methodologies, D/PFMEA, 8D/Corrective Action, equipment safety, and Design of Experiments (DOE).
Physical demands
- Duties performed in a normal office environment.
- Extended periods of sitting and sustained visual concentration on a computer monitor or detailed data.
- Repetitive manual movements (e.g., data entry, using a computer mouse, using a calculator).
- Occasional travel may be required.
Qualifications
6–12 years of relevant experience. Bachelor’s degree in a related field or equivalent combination of education and experience.