Summary
We are seeking a highly skilled and motivated Senior Android Engineer to join our dynamic team. This role is pivotal in driving the development and enhancement of our Android application, ensuring a seamless, secure, and high-quality user experience. The ideal candidate will bring deep expertise in Kotlin and Android SDK, coupled with a strong foundation in software design principles and algorithms. As a key contributor, you will collaborate closely with design and product teams in an agile environment, leading features from conception through to launch while upholding best practices in security and code quality.
Responsibilities
- Design, develop, and maintain new features and enhancements for our Android application using Kotlin.
- Identify, troubleshoot, and resolve bugs to ensure optimal application performance and user experience.
- Collaborate closely with cross-functional teams including product managers, designers, and backend engineers to translate requirements into technical solutions.
- Advocate and implement security best practices throughout the development lifecycle to protect user data and application integrity.
- Participate actively in code reviews to maintain high standards of code quality, share knowledge, and foster a culture of continuous improvement.
- Lead the Android development lifecycle from initial design and prototyping to deployment and post-release support.
- Contribute to the continuous integration and delivery pipeline by automating build, test, and deployment processes to enhance development efficiency.
- Communicate complex technical concepts clearly and effectively to non-technical stakeholders, ensuring alignment and understanding across teams.
- Stay current with the latest Android development trends, tools, and best practices to continuously improve the application and development processes.
- Must-Have Skills
- Kotlin: Proficient in Kotlin programming language, with extensive experience building robust, maintainable, and scalable Android applications. Familiarity with Kotlin coroutines, extension functions, and modern language features is essential.
- Android SDK: Deep understanding of the Android Software Development Kit (SDK), including UI components, lifecycle management, background processing, and performance optimization techniques.
- Object-Oriented Programming (OOP): Strong grasp of OOP principles such as encapsulation, inheritance, polymorphism, and abstraction to design modular and reusable code.
- Design Patterns: Expertise in applying design patterns (e.g., MVVM, MVP, Singleton, Factory) to solve common software design challenges and improve code maintainability.
- Algorithms: Solid knowledge of algorithms and data structures to implement efficient and optimized solutions within the application.
- Continuous Integration: Experience working with continuous integration (CI) tools and frameworks to automate testing, building, and deployment processes, ensuring rapid and reliable delivery.
- Bachelorβs or Masterβs Degree: A degree in Computer Science, Software Engineering, or a related field, demonstrating a strong theoretical foundation in computing principles.
- Full Android Development Lifecycle: Proven track record of leading projects through all phases of Android app development, from initial requirements gathering and design to deployment and maintenance.
- Security Best Practices: Familiarity with Android security guidelines, including secure data storage, encryption, and safe network communication.
- Communication Skills: Excellent verbal and written communication skills, with the ability to explain complex technical issues clearly to non-technical audiences and collaborate effectively within cross-functional teams.
- Skills & Behaviors:
- Creative and innovative, able to think out of the box. Flexible and open-minded.
- Track record as a results oriented person with a delivery focus.
- Self-starter.
- Strong work ethic.
- Able to work with engineers, managers, Product Management, QA, Load & Performance, and Operations teams.