Are you applying to the internship?
Job Description
Network Software Development Engineer Intern (Network Switch) | ByteDance
The Tone:
This is an internship at ByteDance, located in Los Angeles, CA. ByteDance’s mission is to inspire creativity and enrich life through a suite of over a dozen products, including TikTok and CapCut, connecting people globally through content. This role is pivotal in shaping the future of global network infrastructure by developing a cutting-edge Network Operating System (NOS) for advanced switch silicon. Interns will gain hands-on experience in large-scale software development and network operations, contributing to high-performance, programmable, and resilient systems that power ByteDance’s services.
The TL;DR
• Role: Internship
• Type: Temporary (12 weeks)
• Location: In-person, Los Angeles, CA
• Pay: $45 hourly
• Team: In-house Switch R&D team within ByteDance Networking
• Mission: To design, build, and operate a global, intelligent network infrastructure by developing a cutting-edge Network Operating System that runs on advanced switch silicon.
• Tech Stack: C, C++, Python, Go, Linux systems, Vim, Emacs
What You’ll Actually Do
• System Design: Design and test core functionalities of the Network Operating System (NOS) that powers data center networks.
• Technology Research: Research and implement new networking, monitoring, and telemetry technologies.
• Infrastructure Enhancement: Enhance the efficiency, reliability, and availability of data center infrastructure.
• Software Development: Contribute to large-scale software development for high-performance, programmable, and resilient network systems.
• Network Innovation: Drive co-design of switch software and hardware to shape future network infrastructure.
The Must-Haves
• Background: Student pursuing a Bachelor’s or Master’s degree in Computer Science, Communications, or a related technical field.
• Experience: Able to commit to working for 12 weeks during Summer 2026; experience in network software or protocol development is preferred.
• Skills: Possesses a solid understanding of algorithms and data structures; proficient in at least one programming language including C, C++, Python, or Go; has a basic understanding of the operation of switches and routers, along with fundamental knowledge of embedded systems and processor architecture; familiar with Linux systems, the Linux command line, and editors such as Vim or Emacs; demonstrates a strong interest in high-speed networking, hardware-software interaction, and hardware offloading technologies.
• Bonus: Strong problem-solving skills and proficiency in software debugging and troubleshooting.