Associate Software Engineer – Software Defined Networking

JPMorgan Chase JPMorgan Chase · Banking · Ciudad Autónoma de Buenos Aires, Argentina · Corporate Sector

This role is for an Associate Software Engineer focused on a software-defined networking platform. The engineer will contribute to the design and implementation of core platform components, write production-quality code, and apply knowledge of distributed algorithms. A key aspect of the role involves using AI-assisted tooling for research, prototyping, and code generation, as well as conducting research into emerging networking technologies and documenting findings. The role requires a degree in a technical field, experience in software engineering or related areas, and foundational knowledge of networking and distributed systems. While AI tools are used, the core focus is on networking infrastructure, not AI model development.

What you'd actually do

  1. Contribute to the design and implementation of core platform components, including control plane (OVN), data plane (OVS/DPU), software gateways, load balancers, and IPAM systems, under the guidance of senior engineers.
  2. Write production-quality code in Go, Python, or C/C++ for networking infrastructure, with an emphasis on correctness, clarity, and testability.
  3. Apply knowledge of distributed algorithms (consensus, coordination, graph-based routing, scheduling) to networking and systems problems.
  4. Use AI-assisted tooling (e.g., generative AI code assistants, LLM-based research tools) to accelerate development, prototyping, and technical exploration.
  5. Conduct focused research into emerging networking technologies, distributed systems techniques, and mathematical approaches relevant to platform design, and communicate findings through clear technical writing.

Skills

Required

  • 3+ years of experience (including academic research, internships, or industry) in software engineering, systems engineering, networking, or distributed systems.
  • Degree (completed or in progress) in Mathematics, Computer Science, Computer Engineering, or a closely related technical field.
  • Solid grounding in mathematics relevant to distributed systems and networking: graph theory, combinatorics, optimization, probability, or formal methods.
  • Demonstrated understanding of distributed algorithms and systems concepts (e.g., consensus protocols, distributed coordination, fault tolerance, convergence).
  • Proficiency in one or more programming languages: Go, Python, C/C++, or Rust.
  • Experience using AI/ML-assisted tooling for code generation, research augmentation, or rapid prototyping.
  • Strong technical writing skills, with experience producing documentation, design documents, research summaries, or academic/technical papers.
  • Foundational knowledge of networking fundamentals (TCP/IP, routing, switching, load balancing).
  • Practical experience with modern development practices (CI/CD, version control, testing, infrastructure as code).
  • Ability to collaborate effectively across teams and communicate technical concepts clearly.

Nice to have

  • Graduate degree (MS or PhD, completed or nearing completion) in Mathematics, Computer Science, or a related discipline, particularly with a thesis or research focus in distributed systems, algorithms, or networking.
  • Hands-on experience with software-defined networking (SDN) technologies such as OVN, OVS, or equivalent.
  • Exposure to DPU/SmartNIC technologies (NVIDIA BlueField, AMD Pensando, Intel IPU).
  • Familiarity with high-performance networking frameworks (eBPF, XDP, DPDK).
  • Experience with CNI implementations (Cilium, Calico, Flannel) and Kubernetes networking.
  • Understanding of advanced routing protocols (BGP, OSPF, VXLAN, EVPN).
  • Published technical writing, conference papers, or contributions to open-source projects.
  • Cloud-native development experience.

What the JD emphasized

  • AI-assisted tooling for code generation, research augmentation, or rapid prototyping