Cognician is hiring a DevOps Engineer

Cognician is looking for a full-time DevOps Engineer from 1 June 2015 to help shape the next generation of our product and platform.

We are in Cape Town, South Africa, but remote is OK! As long as you can manage at least 4 hours of overlap with South African work hours, which is 9am–5pm Monday to Friday at UTC+2.

What’s Cognician all about?

At Cognician, we believe that anyone is capable of growing, changing and being more than who they are, if they have the right tools. It’s our mission to create such tools and to encourage a lifelong love of learning in our customers.

Does this mission stir something in you? Do you believe that learning should be fascinating and fun? Do you yearn for a job where everything you do is focused on making people’s lives better? Do you want to be in a job that challenges you to create better solutions every day – solutions that will help people around the world to help themselves?

We don’t do average at Cognician. If you have the courage – and the will – to be world class every day, then we’d love to have you on our team. In exchange, we’ll offer you the opportunity to work with world-leading thinkers in education. And we promise that you’ll have the same opportunities to learn and grow that we offer our customers. We take personal growth seriously and we want folks with us who feel the same – for their own sake, as well as ours.

We’re building the world’s best platform for online learning – we are already helping people to improve themselves in 6 out of 7 continents, from high school students to large multi-nationals. Curious? Inspired? Excited? We’d love to hear from you.

Oh, by the way, to get a sense of what technologies we use and how our tech team works, see our Software Developer job posting.

Your traits:

  • High degree of personal responsibility over designated duties.
  • Curious. Able to learn and apply new concepts and tools rapidly.
  • Consistent and organised.
  • Timely and eloquent communicator.
  • Willingness to learn Clojure :-)

You're comfortable and familiar with:

  • Git, Github, and open source in general.
  • Linux admin and shell scripting.
  • Notions like immutable infrastructure, continuous integration and delivery, zero-downtime deployments. See
  • Configuration management concepts and at least one such toolchain e.g. Puppet or Chef.
  • Configuration and service management for servers/services like these:
    • DNS (AWS Route53)
    • Web (AWS ELB, AWS S3, Tomcat)
    • Database (Datomic, AWS DynamoDB)
    • Message queue (RabbitMQ, AWS SQS)
    • Cache (Memcached, Redis)
  • AWS and its concepts - AutoScaling, Availability Zones, and so on.
  • Appropriate practices for solid web, data and infrastructure security. SSH, OWASP, and so forth.
  • Monitoring, alerts, error reporting and metrics.
  • Managing multiple environments such as production, staging, load testing, etc.
  • Building tooling for application developers (we have a zsh plugin and a long list of things to add to it :-).
  • Overall web performance optimisation techniques, like controlling page asset load order and using asset subdomains.

What you'll do in your first 3 months:

  • Build and test our new AWS infastructure (using CloudFormation templates) for our next-generation platform.
  • Build and test a new deployment pipeline using, and integrate it with with the new AWS infrastructure.
  • Integrate monitoring of all instances and services with CopperEgg.
  • Warehouse server logs on, an ElastichSearch service provider. Ensure they can be searched via Kibana.
  • Build and run load tests for new infrastructure.
  • Document it all as you go.

Are you interested?

If you are interested in applying, please email our CTO on, and we'll set up a time to chat.

Please include:

  • Contact details.
  • An indication of your availability.
  • A description of your previous experience.
  • The technologies you’ve worked with in this domain of work.
  • If at all possible, some anecdotes about projects you’ve worked on in the past:
    • Describe an occasion in your work where things went incredibly well, and why you think that is.
    • And, describe a time where things went incredibly badly, why that is, and what you did to overcome it.
  • Links to any open source work you’ve done.