About the role
At SamKnows, we are looking for a skilled and enthusiastic Systems Administrator to join our growing Infrastructure team. This team is responsible for building out and supporting the sizable infrastructure that underpins all of our services. This is no mean feat, as we have customers all over the world and more than 40 million devices that communicate with our servers daily.
Our infrastructure spans six continents and consists of more than 700 servers as well as third party edge infrastructure. The majority of these servers are bare metal ‘test servers’, which act as endpoints for speed tests and other measurement traffic. These have very high bandwidth - sometimes 100Gbit/s! Our broader infrastructure uses a mixture of bare metal (primarily for our very large database servers) and cloud-hosted services.
All of our infrastructure runs on Linux, and we make extensive use of open source software throughout our stack. We use MySQL for our smaller databases, and Presto (built on top of Hadoop) for our data warehouse that powers our analytics platform known as SamKnows One. Our web applications all run on Apache or Nginx, and are written in PHP, with a little Java and Go in the mix too. We run our own set of core services, including LDAP, DNS and Puppet in-house.
We’re looking for a smart, diligent and enthusiastic engineer who isn’t afraid to explore new ideas. You should be a strong communicator and be able to communicate with both developers internally and clients externally. A strong background in Linux is absolutely essential - we run no Windows systems here. Experience with MySQL or a similar database is a significant plus, but not critical.
As a global company serving customers on six continents, we have to operate a highly resilient infrastructure. This means we have automated failover in the event of failures, but despite this we will need 24x7 on-call support in case of significant issues. A part of this role involves participating in our on-call rota, which you would typically be on once every three weeks. There is extra pay for any days you are on-call, even if you aren’t called out.
- Strong Linux server administration background (preferably CentOS / Redhat)
- Shell scripting knowledge
- Experience with administering MySQL servers
- Knowledge of Puppet or a similar automation tool is highly beneficial
- Experience of server monitoring tools, such as Nagios
- A good understanding of DNS
- Experience in configuring Apache and Nginx
- A willingness to be part of on-call rota one week in three
- Experience with Github is beneficial