Staff Engineer, Software - SDK
About the role
The Staff Engineer, Software develops, debugs, tests, deploys, and supports code for systems, products, and equipment across various applications. This role involves writing, debugging, maintaining, and testing software in multiple languages and at different levels of the hierarchy (from firmware to application). The position follows an agreed-upon development process (such as Agile or Scrum) and complies with product lifecycle development. The Staff Engineer works in cross-functional teams with designers, customers, manufacturing engineering, and project leadership to ensure robust and high-quality product development.
In this role, the Senior Lead Engineer leads switch silicon SDK development and integration for Celestica's data center networking switches. Responsibilities include porting and enabling merchant silicon SDKs across multiple Network Operating Systems, driving SDK design and API development, and supporting hardware bring-up in partnership with HW/SI/QA teams.
Responsibilities
- Lead the design, development, and implementation of technical solutions in multiple domains.
- Participate in project planning and scheduling.
- Provide technical leadership and direction to a team of engineers.
- Serve as a recognized expert (go-to person) in one or more technical areas.
- Review, interpret, and negotiate customer requirements/specifications; provide customer feedback.
- Lead the deployment of strategic programs and coordinate site-wide deployment efforts.
- Proactively promote industry best practices.
- Manage relationships with key vendors/partners.
- Lead the porting of switch silicon SDKs under different Network Operating Systems (ONL/SONiC/CentOS, etc.).
- Produce SDK design documents and drive SDK architecture decisions.
- Develop SDK test scripts and APIs.
- Support FCT (Functional Circuit Test) bring-up and drive FCT issue tracking to resolution.
- Design and develop a processing platform using various configuration management technologies.
- Test software development methodology (may be done in an agile environment).
- 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.
Requirements
- Project Management: Ability to manage and lead complex, multi-line engineering projects involving other functions. Demonstrate a solid understanding of technical, financial, and people aspects of projects. Create project/change management plans and ensure delivery within assigned time and budget. Recognize project barriers and develop mitigation plans.
- Leadership: Demonstrate "People & Team Leadership Behaviors" as per Celestica Leadership Imperatives.
- Financial Acumen / Business Planning: Ability to create financial plans for projects, align them internally and externally, and create project plans, profitability calculations, risk, and sensitivity analysis. Recognize barriers and mitigate profitability risks. Knowledgeable about internal and external financial reporting, accounting, and tax requirements relevant to the 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).
Qualifications
- 9+ years of experience in software development.
- Bachelor's degree or equivalent combination of education and experience. Educational requirements may vary by geography.
Preferred Qualifications
- Familiarity with main elements of CPU, DPU, memory, and NICs.
- Experience in designing and developing low-level software to enable Data Center hardware.
- Prior experience with GPU libraries like CUDA and ROCm is a plus.
Physical Demands
Duties are performed in a normal office environment. The role may require 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) are frequently required. Occasional travel may be necessary.