Role Summary:
As a Senior Software Engineer - Mobile (Android), you will be responsible for the design and
development of our Android applications. You will play a critical role in ensuring high performance, scalability, security, and a world-class user experience. You will work closely with other engineers, product managers, designers, and QA specialists to deliver innovative and impactful mobile solutions. You will be a hands-on contributor, writing code, reviewing code, and mentoring other engineers.
Key Responsibilities:
Hands-on Development:
- Write high-quality, maintainable, and well-tested code.
- Contribute to all stages of the software development lifecycle, from design to deployment.
- Prototype new features and technologies.
Code Review and Mentorship:
- Conduct code reviews to ensure code quality and adherence to best practices.
- Mentor and coach junior engineers, helping them grow their technical skills.
Performance Optimization:
- Identify and address performance bottlenecks in the Android applications.
- Optimize application performance for speed, responsiveness, and battery efficiency.
Security:
- Implement secure coding practices to protect user data and prevent vulnerabilities.
- Work closely with the security team to address security concerns.
Collaboration:
- Work closely with product managers, designers, and QA specialists to deliver high-quality products.
- Communicate effectively with both technical and non-technical stakeholders.
- Collaborate with other Principal Engineers and technical leaders across different platforms (iOS, backend, etc.).
Problem Solving: Troubleshoot and resolve complex technical issues.
Perform the duties and tasks assigned by your direct report or as otherwise instructed by the Company.
Qualifications and Skills
- Bachelor's degree in Computer Science, Engineering, or a related field.
- Minimum of 5+ years of experience in Android application development.
- Extensive experience with Kotlin (preferred) and Java.
- Deep understanding of the Android SDK, Android Studio, and common Android libraries.
- Experience with building large-scale, high-performance Android applications.
- Experience with architectural patterns (e.g., MVVM, Clean Architecture).
- Experience with testing frameworks (e.g., JUnit, Espresso).
- Experience with CI/CD pipelines for Android.
- Experience with secure coding practices.
- Experience with networking and real-time communication (WebSockets) is a strong plus (especially for KChat).
- Experience with VPN technologies is a strong plus (especially for LiveVPN).
- Experience with performance profiling and optimisation
- Experience working in an Agile environment.
- Experience working in Vietnam or Southeast Asia is a plus.
Required skills:
- Exceptional technical skills in Android development.
- Strong problem-solving and analytical abilities.
- Excellent communication and collaboration skills.
- Ability to lead and mentor other engineers.
- Passion for building high-quality, user-centric mobile applications.
- Fluency in English, Vietnamese proficiency is a plus.