Job Description:
- Collaborate with product managers and data scientists to productionise and deploy machine learning models
- Develop machine learning domain related web backend services, systems, or platforms
- Design and implement common tooling and frameworks to support high performance, high availability, and scalable services
- Continuous maintenance and improvement of system performance, functionality, and stability
Minimum Requirements:
- Bachelor's Degree in Computer Science or related technical discipline
- Minimum 2 years of relevant experience
- In-depth understanding of computer science fundamentals (algorithms, data structures, operating systems, networks, databases)
- Experience in one or more programming languages (Go, C++, Java, Python)
- Familiar with Linux development environment
- Experience in design and development of low latency and high concurrency web backend services
- Familiar with software engineering best practices (unit testing, version control, continuous integration, software design patterns)
Preferred Requirements:
- Experience in design, optimisation, and use of relational databases (MySQL, PostgreSQL)
- Experience in one or more commonly used middleware (distributed file system, cache, message queue)
- Familiar with CI/CD tooling and infrastructure (Jenkins, Gitlab CI)
- Familiar with common network / RPC protocols (TCP, UDP, HTTP, gRPC)
- Familiar with virtualisation, containerisation, and orchestration technologies (Docker, Kubernetes)
- Experience in monitoring systems (Prometheus, Grafana)
- Experience in distributed databases and systems (Hadoop, Spark, HBase)