Bachelor's degree or equivalent practical experience.
5 years of experience with software development in one or more programming languages, and with data structures/algorithms.
3 years of experience building networking components and products (e.g., load balancers, firewalls, NAT, SDN, switches/routers, CDN, network protocols, or caching).
Preferred qualifications:
1 year of experience in a technical leadership role.
Experience architecting and developing distributed systems.
Experience in concurrency, multi-threading, and synchronization.
Excellent problem solving skills, with an understanding of algorithms.
Excellent software and systems troubleshooting and debugging skills.