BigML, is seeking an energetic DevOps engineer to help us make Machine Learning beautifully simple for everyone. Our intuitive API and Web interfaces are built on top of a specialized and distributed Machine Learning backend that we need to run at scale for a fast-growing number of customers in more than 120 countries. We embrace distributed teams and like to work remotely so location is irrelevant for any position at BigML, but we'll do our best to motivate you to temporarily, or permanently, move to Corvallis (Oregon, US) or Valencia (Spain) to work closer to other team members.
Our DevOps team is facing the challenge of keeping our product transparently deployable in any platform, from a developer's laptop, to our customer's on-premise clusters and up to our multi-tenant, high-availability cloud service. We are also aiming at being cloud agnostic and providing the infrastructre to make our service deployable and elastic on AWS, GCS and other cloud providers.
That means that, as a key member of our DevOps team, you will have to:
- Often cross the line between programmers and old-style sysadmins, and use languages like Python to orchestrate a robust, auto-scalable and nimble fusion of distributed services.
- Play a decisive role in choosing the technologies (such as containers or messaging systems) more suitable to meet those objectives, and work closely with our engineering team to make sure our system architecture is up to the challenge.
- Answer questions like "is Kubernetes the right tool, or should we rely on a Docker Fusion instead?," "what is the safest, more efficient way of replicating our RabbitMQ queues?," "is Mesos a good alternative on a fixed cluster?," or "how do I unit test my cross-cloud autoscaler?" will be on your table.
Desired Skills and Experience
- BSc or MSc in Computer Science.
- Proficiency with Python.
- Deep knowledge of Git.
- Extensive experience working with large data stores.
- Experience working with cloud-based platforms (EC2, Azure, etc.).
- Demonstrable experience with DevOps tools (e.g. Puppet, Cheff, Ansible or Vagrant).
- Demonstrable experience with continuous deployment processes.
- Experience with MongoDB scalable systems.
- Be able to work independently; personal initiative to anticipate and resolve problems.
Pluses, but not required (you'll learn a lot about them working at BigML anyways):
- Experience developing Machine Learning-driven Applications
- Experience working on ultra-agile distributed teams.
- Start-up experience is ideal.