Role Summary
We are looking for a highly skilled
Lead Software Engineer go to take a key technical leadership role within our engineering organization. You will be responsible for designing and architecting core backend systems, driving technical excellence, and shaping the long-term vision of our platform.
This role requires both strategic thinking and hands-on contribution. You will lead complex technical initiatives, guide other engineers, establish best practices, and ensure the scalability, reliability, and security of our backend services.
Key Responsibilities
Technical Leadership
- Lead and mentor the Go engineering team, fostering strong engineering standards.
- Define and advocate best practices in Go development, architecture, and performance.
- Design large-scale, complex backend and platform-level systems.
- Drive technical strategy and influence technology choices across teams.
- Stay current with emerging technologies, especially within the Go ecosystem.
- Define and maintain architecture for critical backend systems.
Hands-on Development
- Write clean, maintainable, and well-tested Go code.
- Participate in the entire software development lifecyclefrom design to deployment.
- Prototype and evaluate new features, tools, and technologies.
Code Review & Mentorship
- Conduct thorough code reviews ensuring quality and adherence to standards.
- Mentor mid-level and senior engineers, supporting their technical growth.
Performance Optimization
- Identify system bottlenecks and implement performance improvements.
- Optimize systems for speed, scalability, and cost efficiency.
Security
- Apply secure coding best practices to safeguard data and prevent vulnerabilities.
- Collaborate with the security team to address potential risks.
Collaboration
- Work closely with product managers, cross-functional engineers, and stakeholders.
- Communicate complex technical topics clearly to both technical and non-technical audiences.
- Coordinate with other technical leaders across backend, frontend, mobile, and platform areas.
Problem Solving
- Troubleshoot complex, high-impact production issues.
- Provide technical solutions that balance performance, scalability, and maintainability.
Required
Qualifications & Skills
- Bachelors degree in Computer Science, Engineering, or equivalent (Masters preferred).
- 8+ years of software engineering experience with strong expertise in Go.
- Deep understanding of Go concurrency (goroutines, channels).
- Solid experience in distributed systems design and development.
- Proficiency in network programming using Go.
- Strong knowledge of SQL/NoSQL databases and data modeling.
- Experience with Docker, Kubernetes, and cloud environments (AWS/GCP/Azure).
- Familiarity with Go testing frameworks (testing, Ginkgo, GoConvey).
- Experience building CI/CD pipelines.
- Understanding of secure coding practices.
- Experience with messaging systems (Kafka, RabbitMQ) is a big plus.
- Experience with gRPC or other RPC frameworks is a plus.
- WebAssembly (WASM) experience is a plus.
- Agile development experience.
- Experience working in Vietnam or Southeast Asia is an advantage.
- Excellent problem-solving skills and strong communication abilities.
- Fluent in English; Vietnamese proficiency is a plus.
What We Offer
- Competitive salary and benefits.
- 100% salary during probation.
- Full insurance contribution based on 100% of salary.
- Opportunity to build products impacting millions of users.
- Dynamic, supportive, and innovative working environment.
- Premium health insurance for you and your family.
- Annual leave: 1214 days, plus Birthday Leave and Christmas Leave.
- Annual performance review.
- Internal knowledge sharing & sponsored training programs.
- Team building, company trips, year-end party, and monthly activities.
- Free coffee & tea, comfortable workspace.
- Working hours: 9:00 18:00, Monday to Friday.