The Role
We’re looking for a back end software engineer to our cloud team. This team is responsible for making sure that the data is flowing from sensors to ML services, to our apps reliably and at low latency. The team today maintains our public APIs, data pipeline and IoT infrastructure.
Responsibilities
- Manage and optimise infrastructure for scalability, security, and reliability using Terraform.
- Contribute to backend services (mainly Go and Clojure, with occasional work in TypeScript and Python).
- Participate in code reviews, architecture discussions, and operational best practices.
- Troubleshoot, monitor, and improve systems for performance and resilience.
Requirements
- Strong experience writing IaC using Terraform.
- Proven experience with AWS (in particular Lambda, ECS, SNS, SQS, Kinesis).
- High proficiency in a modern, statically-typed programming language.
- Familiarity with CI/CD pipelines and deployment automation.
- Strong problem-solving skills and ability to work independently in a cloud-native environment.
- Willingness to learn new languages and tools.
Nice to Have
- Experience with IoT systems and MQTT data processing pipelines.
- Knowledge of Go and/or Clojure.
- Prior experience modernising or migrating legacy systems.
- Familiarity with event-driven systems.
- Experience with relational and document-based databases (PostgreSQL, DynamoDB).
- Knowledge around containerisation (Docker).
- Exposure to observability tools (Prometheus, Grafana).
Full-time
Colombo, Sri Lanka