The Senior Lead Engineer, Software develops, debugs, tests, deploys and supports code to be deployed in systems/products/equipment for various applications. They write, debug, maintain, and test software in various common languages and for software at various levels in the hierarchy (from Firmware to Application). Software creation follows an agreed to development process (such as Agile, Scrum, etc.) and complies with the product life cycle development (phase/gate deliverables).
The Senior Lead Engineer, Software works in cross functional teams with other designers, customers, manufacturing engineering and project leadership to ensure robust and high quality product development. Enhance designs with feedback from reviews in areas such as manufacturing, test, supply chain, reliability, industrial design and simulations. In this role, the Senior Lead Engineer leads OpenBMC platform management software development for Celestica's high-performance networking and compute platforms. Working upstream-first on the Linux Foundation OpenBMC codebase, the engineer delivers Redfish-based remote management, platform bring-up, telemetry, thermal control, and firmware update capabilities in close partnership with hardware, manufacturing, and customer teams. Deep understanding of embedded Linux and Yocto.
Performs tasks such as, but not limited to, the following:
- Lead the design, development and implementation of technical solutions for OpenBMC-based platform management. Participate in project planning and scheduling.
- Provide technical leadership and direction to a team of engineers. May be a recognized expert (go-to person) in OpenBMC or other platform technical areas.
- Own platform enablement on the Linux Foundation OpenBMC stack, including Yocto meta-layers, U-Boot and kernel porting, device tree, and flash layout, following an upstream-first development model.
- Develop and maintain remote management interfaces, with Redfish as the primary API, and supporting debug interfaces such as SSH.
- Develop platform management capabilities across power control, FRU inventory, sensor telemetry, thermal and fan control, and event logging.
- Deliver firmware update flows (BMC, BIOS, CPLD, VR, and related components) with versioning, verification, and event logging.
- Implement management features for security, reset and recovery, health monitoring, and diagnostics.
- Review, interpret and may negotiate customer requirements/specifications, provide customer feedback, and ensure quality of deliverables.
- Work closely with hardware engineers on board bring-up and with manufacturing teams to support product qualification.
- Analyze, design and develop tests and test-automation suites, leveraging the upstream openbmc-test-automation framework for Redfish-based regression testing.
- Provide ongoing maintenance, support and enhancements in existing systems and platforms.
- Collaborate cross-functionally with customers, users, project managers and other engineers, including Peer-Reviews, to achieve elegant solutions.
- Proactively promote and apply industry best practices, and provide recommendations for continuous improvement.
Knowledge/Skills/Competencies
- Hands-on experience developing OpenBMC or comparable BMC/platform management firmware.
- Experience with the Linux Foundation OpenBMC ecosystem: Yocto/BitBake, U-Boot, Linux kernel, and device tree, with an upstream-first contribution model.
- Working knowledge of Redfish, and platform management concepts such as sensors, FRU inventory, thermal/fan control, power control, and firmware update.
- Strong programming skills in C/C++ and Python; comfortable with shell and Git.
- Experience in software design under Linux and familiarity with Linux kernel driver interaction over common busses (I2C, SPI, GPIO, etc.).
- Understanding of platform security concepts such as verified boot and redundant/failover flash layouts is a plus.
- Outstanding software debugging skills; experience with board bring-up and hardware test equipment is a plus.
- Excellent verbal and written communication skills; strong interpersonal, multitasking, and organizational skills.
- Project Management - Ability to manage/lead complex, multiple line engineering projects that may also involve other functions. Demonstrate solid understanding of the technical, financial and people aspects of the project. Able to create a project/change management plan and ensure that the project is delivered within the assigned time and budget. Ability to recognize project barriers and develop mitigation plans
- Leadership - Demonstrate "People & Team Leadership Behaviour" as per Celestica Leadership Imperatives.
- Financial Acumen / Business Planning - Ability to create financial plans for your projects, align them internally with your line of management and other functions and externally if needed. Create project plans, profitability calculations, risk and sensitivity analysis, able to recognize barriers and mitigate profitability risks. Fully knowledgeable about internal and external financial reporting, accounting and tax requirements relevant to your area of expertise.
- The following competencies may also be required: Coaching/Mentoring; Communication/Negotiation/Presentation; Creative Problem Solving; Customer Interaction/Stakeholder Management; Quality & Lean; Working Effectively with Others; D/PFMEA; 8D/Corrective Action; Equipment Safety; Design of Experiments (DOE).
Experience