Talent.com
This job offer is not available in your country.
Principal, Design Engineering

Principal, Design Engineering

ConfidentialChennai
30+ days ago
Job description

Principal Engineer, Software

Celestica is looking for a talented and passionate software engineers who can help drive next generation data center and AI compute blades to join our team. You'll be responsible for designing, developing, and testing software that runs on SmartNICs, enabling high-performance networking and offloading critical workloads from the main CPU.

Key Responsibilities

Software Development :

  • You'll be responsible for designing, developing, and testing software that runs on SmartNICs, enabling high-performance networking and offloading critical workloads from the main CPU.
  • Optimize code for performance, efficiency, and low latency
  • Innovate new ideas in conjunction with networking engineers to optimize overall data center efficiency
  • Architect solutions for customer's data center management needs working with multiple lower-level drivers, OS, libraries

Hardware Integration :

  • You'll be responsible for designing, developing, and testing software that runs on SmartNICs, enabling high-performance networking and offloading critical workloads from the main CPU.
  • Troubleshoot and resolve hardware-software interaction issues
  • Performance Optimization :

  • Analyze and optimize network performance, identifying bottlenecks and implementing solutions.
  • Develop and implement performance testing methodologies and tools.
  • Security :

  • Design and implement security features for SmartNIC software, ensuring data integrity and confidentiality
  • Stay up-to-date on security best practices and vulnerability remediation
  • Collaboration :

  • Work effectively in a team environment, collaborating with engineers and peer functional leads from different disciplines to innovate solutions, triage issues and speed execution
  • Work with product line management, customers and sales teams to understand requirements
  • Explain the value addition software brings to technical and non-technical audiences.
  • Leadership :

  • Mentor and coach team members on the technical skills and approaches to solve problems.
  • Review and maintain quality of code going into production.
  • Architect software applications that will work across multiple technology generations with minimal changes.
  • Present innovation and value addition from our software in technical forums and customer interactions
  • Knowledge / Skills / Competencies

  • Strong programming skills :  Proficiency in C, C++, P4 and other low-level programming languages.
  • Networking knowledge :  Deep understanding of networking protocols (TCP / IP, Ethernet, etc.) and concepts
  • Operating system knowledge :  Experience with Linux driver kernel development is a plus
  • Hardware experience :  Familiarity with main elements of CPU, DPU, memory, NICs, board monitoring elements is a must
  • Debugging and testing skills :  Ability to identify and resolve software and hardware issues.
  • Problem-solving skills :  Strong analytical and problem-solving abilities
  • Experience with GPU programming :  Prior experience GPU libraries like CUDA and ROCm is huge plus
  • Experience with SmartNICs :  Prior experience developing software for SmartNICs and understanding of cloud computing architectures and services is the plus
  • Clear Communication : Proven ability to articulate requirements and vision to large and diverse audience through written documents like architecture specifications and verbal presentations in technical forums is required.
  • 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

    15-20 years

    Typical Education

    Bachelor degree or higher education in Engineering

    Skills Required

    System Architecture, Operating System

    Create a job alert for this search

    Principal Design Engineering • Chennai