Firmware/Embedded, C Coding, BSP,
Summary
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.
Detailed Description
Software Engineers [BSP Firmware]
Roles & Responsibilities:
Develop, test and integrate device drivers for various devices on our high-performance platforms including Ethernet, I2C, PCIe, SPI, USB, NAND devices
Customize BSP, boot code and device drivers
Work closely with hardware engineers in board bringup
Work closely with manufacturing teams for qualification through diagnostics packages
Develop software solutions for high availability and redundancy
Lead and mentor a team of high-performance engineers
Interact with customers to gather requirements, design firmware and ensure quality of deliverables
Interact with cross functional team including product management, hardware engineering, manufacturing, sales teams to design high-performance, cost-effective solutions for storage and switching platforms
Domain and Leadership Skills
5+ years of work experience implementing device drivers and BSP
Experience working with cross functional teams including hardware engineering, manufacturing
Strong knowledge of real time operating system concepts, multithreading, SMP
Strong knowledge of C, Linux driver programming and kernel architecture
Knowledge of Python
Outstanding software debugging skills
Experience using a full range of hardware test equipment like JTAG debuggers, I2C analyzer etc.
Solid understanding of Ethernet PHYs, PCIe, USB, SPI, NAND, I2C and SDRAM
Knowledge of Intel x86 architecture and BIOS/UEFI is a plus
Qualification
Bachelors or Master degree in ECE, CS, IT or EEE
Excellent verbal and written communication skills
Strong interpersonal, multitasking and organizational skills
Ability to work in a challenging and competitive envrionment
Knowledge/Skills/Competencies
- 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 Behaviors" 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).
Physical Demands
- Duties of this position are performed in a normal office environment.
- Duties may require extended periods of sitting and sustained visual concentration on a computer monitor or on numbers and other detailed data.
- Repetitive manual movements (e.g., data entry, using a computer mouse, using a calculator, etc.) are frequently required.
- Occasional travel may be required.
Typical Experience
Typical Education
Bachelor degree or consideration of an equivalent combination of education and experience.
Educational Requirements may vary by Geography