Software Engineer – Cloud Infrastructure – London

Overview

We are seeking a Software Engineer to join a growing team building out a cloud-based platform-as-a-service. The platform is used for the development and deployment of data-driven agent-based models used to support strategic decision making. The team includes software engineers, devops engineers and data scientists.

For more about what we do, see our blog.

Responsibilities

  • Develop and maintain microservices.
  • Develop and maintain SDKs and CLIs.

Skills & Requirements

BSc (at least 2.1) or above in Computer Science, Software Engineering, or related field.
Knowledge of distributed systems.

Required experience:

  • Programming using Python
  • Developing for Linux-based systems, e.g. Ubuntu, Debian
  • Using databases: relational and/or NoSQL
  • Agile methodologies: Scrum; Kanban; TDD; BDD

Desirable to have experience, or interest, in:

  • Programming using languages like Golang, Java, C++
  • Data-intensive and microservice architectures
  • Designing, developing and maintaining RESTful APIs
  • Developing for the Cloud: AWS; GCP
  • Python micro-frameworks: flask; bottle
  • RPC frameworks: gRPC
  • Python asynchronous frameworks: gevent; asyncio
  • Python testing frameworks: nose; pytest
  • Containers: Docker; rkt
  • Continuous integration systems: Jenkins
  • Cluster management systems: Mesos/Marathon; Kubernetes

We develop for Linux on Macbooks, push to Bitbucket, communicate via Slack, and organise using Trello.