Bachelor’s degree or equivalent practical experience.
5 years of experience with data structures or algorithms.
5 years of experience with software development in one or more programming languages.
3 years of experience launching software products, and 2 year of experience with software design and architecture.
3 years of experience in designing, analyzing, and troubleshooting distributed systems, and 2 years of experience leading projects and providing technical leadership.