Bachelor’s degree or equivalent practical experience.
5 years of experience with software development in one or more programming languages, C++ and Java or Go, and with data structures/algorithms.
3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture.
Experience designing, analyzing and troubleshooting large-scale distributed systems.
Preferred qualifications:
Master's degree or PhD in Computer Science or a related technical field.
3 years of experience working with two or more from the following: Unix/Linux environments, REST API development (throttling, latency, quota management), distributed and parallel systems, information retrieval, storage, networking, developing large software systems, or security software development.
1 year of experience in a technical leadership role.