Senior Packet Processing Software Developer (32079)

job
  • Myticas Consulting
Job Summary
Location
Ottawa ,ON H2B
Job Type
Contract
Visa
Any Valid Visa
Salary
PayRate
Qualification
BCA
Experience
2Years - 10Years
Posted
02 Jan 2025
Share
Job Description

We are seeking a highly skilled Senior Software Engineer with expertise in Packet Processing to join our team. The ideal candidate will have extensive experience in designing and optimizing high-performance network systems, with a strong background in developing scalable, low-latency solutions for data-intensive environments. In this role, you will work on cutting-edge technologies to enhance network protocols and packet processing frameworks. Your contributions will play a key role in delivering robust, reliable, and efficient network operations, ensuring our systems meet the evolving demands of modern infrastructure.


Main Responsibilities:

  • Collaborate with experienced engineers in the design, coding, testing, and maintenance of software applications.
  • Develop and maintain embedded software modules using programming languages such as C++ and Python .
  • Design and implement high-performance packet processing applications using DPDK and similar frameworks.
  • Optimize network functions for maximum throughput and minimal latency.
  • Develop and maintain packet processing pipelines for various network functions.
  • Troubleshoot complex performance issues in packet processing applications.
  • Assist in the implementation of networking solutions to ensure seamless communication between software components.
  • Contribute to the development of software tools, libraries, and frameworks to enhance overall product quality and efficiency.
  • Participate in code reviews and provide constructive feedback to improve code quality and adherence to coding standards.
  • Collaborate with the team to troubleshoot and resolve software defects and technical issues.
  • Support the integration of software components on Linux operating systems.
  • Assist in the testing and validation of software features to ensure functionality and performance meet specified requirements.
  • Utilize cloud technologies to enhance software deployment and management.
  • Collaborate with cross-functional teams, including product managers and designers, to understand requirements and contribute to technical discussions.
  • Maintain clear and organized documentation of software designs, processes, and development tasks.
  • Demonstrate effective teamwork and communication skills, both orally and in writing.
  • Lead the design, development, and implementation of advanced satellite ground segment software systems, ensuring high performance, scalability, and reliability.


Education & Experience Required:

  • Bachelor's or Master's degree in Computer Science , Computer Engineering , Electrical Engineering , or a related field.
  • In-depth knowledge of packet processing development .
  • Experience with the Vector Packet Processing (VPP) framework is a plus.
  • Deep understanding of DPDK architecture and APIs .
  • Familiarity with modern NIC features (e.g., RSS, checksum offload, scatter-gather).
  • Experience with AF_XDP or similar kernel bypass technologies.
  • Strong understanding of Linux-based network stacks , kernel modules, and performance optimization.
  • Ideally 8+ years of experience in C/C++ for low-level network programming and high-performance packet processing.
  • Solid understanding of networking concepts and protocols, including TCP/IP , UDP , VXLAN , GRE , etc.
  • Familiarity with cloud technologies is a plus.
  • Strong analytical and problem-solving skills.
  • Ability to collaborate effectively within a diverse team.
  • Excellent oral and written communication skills.
  • Enthusiasm for learning new technologies and tools.
  • Detail-oriented with a commitment to producing high-quality software.
  • Ability to design software with consideration for hardware resource constraints.
  • Experience in software development for satellite communication systems is a plus.