Bachelor's degree or equivalent practical experience.
8 years of experience in software development, and with data structures/algorithms.
5 years of experience testing, and launching software products, and 3 years of experience with software design and architecture.
Experience working with distributed systems (load-balancing and replication techniques, distributed consensus, handling of network and hardware failures).
Preferred qualifications:
Master’s degree or PhD in Engineering, Computer Science, or a related technical field.
3 years of experience in a technical leadership role leading project teams and setting technical direction.
Experience building managed storage solutions (data protection, data recovery, security/compliance across resources, customer workflow simplification, etc.) for public cloud.
Experience in Multithreading, concurrency, and performance optimization (synchronization primitives, pitfalls, trade-offs, data locality, caching).
Experience architecting and developing distributed systems: Unix/Linux environments, REST API development (throttling, latency, quota mgmt.), distributed and parallel systems, information retrieval, storage, networking, developing software systems, or security software development.