Services Engineer

Yola is looking for people to join the "Services" team in our Cape Town office.  The Services team develops and maintains services (usually developed in Python Django) exposed by RESTFul API which form part of the application and service stack that serves an increasingly large internet user base. Service Engineers would primarily work with code and the associated data, but should definitely have a sysadmin dimension since the job requires maintenance, monitoring and support of the deployed services. This approach allows for engineers to be involved in the full cycle of their code, and promotes innovation into the original architecture and design after production observation. You don't let go of your code once it is released - you watch what it does 'in the real world' and constantly improve the released artifacts.

Remuneration will be based on the candidate's skills and experience, and Yola wants the best people out there.


To apply, contact careers@yola.com with a subject like "Application for Services Engineer position in Cape Town" with a CV and cover letter introducing yourself. The cover letter is important.

You will almost certainly have:
  • Extensive experience in at least one programming language
  • Practical experience deploying and supporting applications that span multiple servers
  • Experience using multiple programming languages
  • Computer Science Degree or equivalent experience
  • Practical experience and understanding of internet APIs
  • A passion for maintainable systems and software
  • An ability to innovate simply in the face of overwhelming complexity
  • An ability to work under pressure while maintaining a sense of humor

It would be useful if you had:
  • An understanding of how to extract and support business intelligence through coding and data practices
  • Experience with MySQL, PostgreSQL or other Linux-based relational databases
  • Experience working in and scripting the shell
    • Working experience with Linux servers
    • Experience with application servers
    • Experience with distributed non-relational data storage

    Your responsibilities might include (but also probably will not be limited 
    to):
    • Development of RESTful web services
    • Development of Python Django applications
    • Reading and understanding code written in Java, PHP and JavaScript
    • Writing unit tests
    • Contributing to regression and integration tests
    • Development of scripts to transform data or manage legacy systems
    • Support and extension of a continuous integration system
    • Coding for integration of disparate systems
    • Agile documentation of systems and specifications
    • Ability to diagnose issues spanning multiple applications and servers and troubleshoot them
    • Writing test cases for code or to diagnose problems
    • Automation of repetitive tasks
    • Working effectively with operations engineers and support staff
    • Contributing to the engineering of quality, innovative infrastructure