Software Engineer, Backend
- Full-time
Company Description
Life at Grab
At Grab, every Grabber is guided by The Grab Way, which spells out our mission, how we believe we can achieve it, and our operating principles - the 4Hs: Heart, Hunger, Honour and Humility. These principles guide and help us make decisions as we work to create economic empowerment for the people of Southeast Asia.
Job Description
Get to know our Team:
The Fulfillment tech family is one of the pillars enabling Grab to out-serve our customers and partners in different businesses and marketplaces across Southeast Asia. We are working on high throughput, real-time distributed systems that use sophisticated machine learning techniques to solve hundreds of millions of requests per day.
Our mission is to offer the best-in-class products and experiences to our driver partners as to increase adoption and engagement of our services. Improve driver partner opportunities and efficiency in order to fulfill customer orders without fail, rain or shine. And to create efficient marketplaces by determining an optimal price that is both sustainable and loved by our partners and customers.
Get to know the Role:
- Define and shape the fundamentals of system operating granularity across all micro-services and configuration flexibility at Fulfilment tech family in Grab
- Build and improve the supply and driver signals to serve various teams' needs across grab
The Day-to-Day Activities:
- Design, develop, and maintain robust and scalable backend services using Golang within a microservices architecture.
- Collaborate with cross-functional teams, including front-end developers, product managers, and QA engineers, to understand project requirements and deliver high-quality software solutions.
- Implement best practices and coding standards to ensure the reliability, performance, and security of our backend systems.
- Write clean, maintainable, and efficient code, and conduct thorough code reviews to ensure code quality and adherence to software development best practices.
- Optimize and enhance existing backend systems for improved performance and scalability.
- Troubleshoot and resolve complex backend issues and system failures, ensuring timely resolution to minimize impact on production environments.
- Collaborate with DevOps teams to automate deployment, monitoring, and scaling of backend services on AWS.
- Stay up-to-date with industry trends, emerging technologies, and best practices in backend development, and proactively recommend improvements to enhance our software development processes and stability.
Qualifications
The Must-Haves
- 3+ years of experience as a software engineer writing production code
- You are experience in at least one backend language like Go, Scala, Java, C++, or others is required. You can be a good coder in any language but must be willing to work on Golang
- Proficiency in building microservices architecture and solid understanding of distributed systems, RESTful APIs, and message queuing systems.
- Experience with relational databases (e.g., MySQL) and NoSQL databases (e.g., DynamoDB).
- Strong knowledge of software development best practices, including version control (Git), unit testing, and continuous integration/continuous deployment (CI/CD) pipelines.
- Excellent communication skills in English, sharp analytical abilities, and proven design skills, enabling critical thinking for system growth and stability.
The Nice-to-Haves
- Familiar with open source search engine, familiar with Lucene, Elasticsearch
- Hands-on experience with performance profiling, optimization, and debugging of backend systems.
- Hand-on experience with Go (programming language)
- Hands-on experience working with AWS infrastructure