Jump to content

Network Systems Software Engineer

Develop distributed system software to implement Network services for a virtualized environment. Architect software to meet security, performance, scalability, reliability, and maintainability requirements. Define software architecture modules and their interfaces facilitating development by a team. Implement major software modules. Collaborate with the team to meet product milestones on time with high quality production software.

Key responsibilities:

  • Architect software to deliver and manage network infrastructure services (e.g., Layer 2 services, firewall etc.) in a virtualized environment
  • Implement, test, and document network virtualization and network services system software (~75% time hands-on coding)
  • Collaborate with the software development team towards a common objective
  • Drive software development methodologies that result in high quality, timely software
  • Research relevant technologies, architectures, and standards as appropriate
  • Resolve major customer technical issues with the software
  • Communicate effectively with technical and management team and, as needed, customers

Required background and skills:

  • MS in Computer Science (or BS with equivalent work experience)
  • 4+ years experience in developing software for implementing or automating Layer 2 and Layer 3 protocol services, network infrastructure such as load balancers/firewalls, or equivalent
  • 6+ years experience in developing commercial production software
  • Strong knowledge in network protocols, network switching and routing, and network administration on Linux
  • Strong programming skills in high level programming languages such as Python, Java on Linux
  • Experienced in database programming and object relational mapping concepts
  • Experience owning and delivering major software applications
  • Broad knowledge across Operating Systems, Networking
  • Self-directed, effective communication, great teamwork