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.
- 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.
- 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.