The Day-to-Day Activities
As a Backend Software Engineer, you will:
- Design and write services in Golang to improve availability, scalability, latency, and efficiency.
- Collaborate with engineers to design architectures for scale and performance.
- Participate in code reviews and maintain Grab's high development standards.
- Conduct capacity planning, performance analysis, and optimizations.
- Work closely with product teams to define and prototype features.
- Partner with infrastructure teams to build and scale backend services.
- Debug and resolve production issues, including on-call support.
- Mentor peers and participate in interview loops to attract top talent.
The Must-Haves
- Degree in Computer Science, Software Engineering, IT, or related fields.
- 5+ years of software engineering experience in distributed systems.
- Strong proficiency in Golang or willingness to learn it (background in C++, Java, Scala, Rust, Python, etc. also acceptable).
- Deep knowledge of algorithms, data structures, and system design.
- Experience in developing distributed systems with high throughput and scalability.
- Proven ability in operational excellence & site reliability: monitoring, performance, and capacity planning.
- Excellent communication, problem-solving, and analytical skills.
The Good-to-Haves
- Expertise with databases: MySQL, DynamoDB, Scylla, Redis, Elasticsearch.
- Experience with Kafka, Kubernetes, AWS cloud infrastructure.
- Product mindset ability to align engineering decisions with end-user impact.
- Mentorship experience, guiding junior developers and fostering collaboration.
Tech Stack
- Backend: Golang, Redis, MySQL, DynamoDB, Kafka, Elasticsearch
- Infrastructure: Kubernetes, AWS, GitLab CI, Jenkins, DataDog, Code Climate
- Frontend/Mobile: React, HTML5, CSS, Javascript, Swift, Kotlin, Flutter