Tech Stack
AWSCloudDistributed SystemsDockerGraphQLJavaJavaScriptKotlinKubernetesNode.jsScala
About the role
- Provide expert technical guidance and mentorship on architectural decisions, ensuring scalability, reliability, and maintainability
- Own and drive the development of critical services within the core product, ensuring high code quality and adherence to best practices
- Influence key technical decisions to accommodate future use cases and scalability across the software architecture
- Facilitate and lead technical discussions and initiatives across engineering teams, resolving complex technical challenges
- Drive observability work across services and foster a culture of observability; lead incident response using a 'no blame' approach; participate in on-call roster
- Contribute significantly to hands-on development and delivery of new product capabilities
- Identify and implement improvements to system performance, scalability, and stability
- Conduct thorough code reviews and promote best practices in coding, testing, and deployment
- Mentor and coach engineers, fostering a culture of technical excellence and continuous learning
- Communicate complex technical concepts clearly to both technical and non-technical audiences
- Collaborate with product managers, designers, and other stakeholders to deliver high-quality products
- Work under broad direction and be fully responsible for meeting allocated technical and product objectives
Requirements
- At least 8-10+ years of experience in software development
- Proven track record of building and scaling distributed systems with end-to-end responsibility for outcomes
- Strong proficiency in backend technologies, including Java/Kotlin and Node.js
- Demonstrated expertise in making critical architectural decisions balancing performance, scalability, correctness, cost, and reliability
- Experience with cloud platforms (AWS preferred) and containerisation technologies (Docker, Kubernetes)
- Experience with observability tools and monitoring practices
- Expertise working with ORMs and GraphQL APIs
- Strong experience optimizing backend services for mobile applications
- Experience with offline-first architecture for mobile applications
- Experience with push notifications, WebSockets, and real-time data synchronization
- Familiarity and/or ability to understand functional programming concepts and languages (Scala)
- Experience participating in on-call incident response
- Ability to mentor and coach engineers
- Must be authorized to work in Vietnam without visa sponsorship at time of application
- Must have reliable internet connection and an at-home workstation setup
- Ability to commute into Vietnam office at least 3 days a week