Staff Software Engineer, Celestica

Staff Software Engineer, Celestica

Company Celestica
Job title Staff Software Engineer
Job location Richardson, TX, US
Type Full Time

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 the quality of code going into production.
    • Architect software applications that will work across multiple technology generations with minimal changes.

Requirements & Skills:

  • 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 the main elements of CPU, DPU, memory, NICs, and 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 with GPU libraries like CUDA and ROCm is a huge plus
  • Experience with SmartNICs: Prior experience developing software for SmartNICs and understanding of cloud computing architectures and services is the plus
  • 10 to 15 years of experience

apply for job button