Bachelor’s degree or equivalent practical experience.
5 years of experience with software development in C.
3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture.
3 years of experience developing large-scale infrastructure, distributed systems, or networks, or experience with compute technologies, storage, or hardware architecture.
Experience in experimental design, analysis, and performance tools.
Experience in kernel development and architecting and developing distributed systems design.
Preferred qualifications:
Master's degree or PhD in Computer Science or related technical field.
1 year of experience in a technical leadership role.
Experience developing accessible technologies.
Experience with complex distributed system software, thorough understanding of computer architecture, and familiarity with x86 assembly or Linux internals.
Experience in the following areas: performance debugging and optimization of complex workloads, design of performance tools, compiler design and code optimization, high-performance software development techniques, concurrent programming, or multi-core computer architectures.