Bachelor’s degree or foreign equivalent in Computer Science, Software Engineering or related field.
Education and/or experience must include:
Networking: Protocols such as HTTP/HTTPS or DNS, debugging tools such as tcpdump or traceroute
General Linux system administration and DevOps, working with distributions such as RHEL, CentOS, or Debian
Troubleshooting Linux processes - Memory management, process management, CPU and disk utilization and prioritization (i.e. top, strace, etc). Use of tools such as debuggers (GDB or others) and/or profilers
Distributed Systems: Deploying and troubleshooting micro-services in a distributed environment.
Logging: Disk logging, Splunk, or StackDriver (for troubleshooting, analysis, etc)
Monitoring: Operating system tools, metric collection, storage, and visualization, time series databases (Grafana, Prometheus, Thanos or Graphite), alerting (Nagios or Alert Manager or similar)
Developing and managing code: Golang, Python, Java, or Javascript, etc.
Git and Git management tools (GitLab or GitHub).
Infrastructure as Code
Containerization Infrastructure: Docker, Kubernetes (or managed Kubernetes such as GKE or EKS, etc.), building Kubernetes Operators and working with Kubernetes APIs.