Bachelor's degree in Computer Science, a related technical field, or equivalent practical experience.
Experience with algorithms, data structures, analysis and software design.
Experience in one or more of the following: C, C++, Java, Python, Go.
Preferred qualifications:
Expertise in designing, analyzing and troubleshooting large-scale distributed systems.
Familiarity with running web services at scale.
Understanding of Unix systems internals and networking.
Understanding of Unix/Linux systems from Kernel to shell and beyond, taking in system libraries, file systems, and client-server protocols along the way.
Knowledge of networking and understanding of network theory, such as different protocols (TCP/IP, UDP, ICMP, etc.), MAC addresses, IP packets, DNS, OSI layers, and load balancing).
Systematic problem solving approach, coupled with a strong sense of ownership and drive.