Job Summary
We are looking for a highly skilled and motivated Senior Android Engineer with extensive experience in building and maintaining native Android applications. The ideal candidate will have 6 to 10 years of experience working with Kotlin and Java, and possess expert-level knowledge of the Android SDK, modern frameworks, and popular Android devices. As a Senior Android Engineer, you will be responsible for the full lifecycle of mobile app development, including design, development, testing, deployment, and ongoing support. You will work closely with cross-functional teams in a fast-paced, agile environment to deliver high-quality mobile experiences. Additionally, you will be a key player in optimizing app performance, ensuring security, and integrating modern build strategies such as continuous integration and test-driven development. Experience in eCommerce or high-traffic applications is a plus.
Job Responsibilities
- Develop, maintain, and enhance native Android applications using Kotlin and Java, ensuring high-quality, performant, and reliable mobile experiences.
- Collaborate closely with product managers, UX/UI designers, and back-end engineers to define, design, and ship new features, from concept to production.
- Implement robust Android architecture patterns (e.g., MVP, MVVM) and leverage modern Android frameworks to build maintainable, scalable codebases.
- Integrate RESTful APIs and web services into mobile applications, ensuring smooth, multithreaded interactions and seamless performance.
- Work with the Android SDK, including managing the Activity/Fragment lifecycle, services, and advanced Android components such as push notifications, location services, and background services.
- Ensure effective multi-threading, memory management, and caching strategies to optimize app performance across various Android devices and operating systems.
- Implement localization strategies to ensure that apps support multiple languages and regions effectively.
- Focus on mobile application security, including data protection, secure API integration, and user authentication mechanisms.
- Utilize Android Studio profiling tools to analyze performance issues, identify bottlenecks, and optimize the mobile app for better user experience.
- Develop and maintain unit tests, integration tests, and automated UI tests using modern testing frameworks such as Espresso, Robolectric, or JUnit.
- Work with Android emulators to run UI tests and deployment simulations to ensure cross-device compatibility and smooth performance.
- Employ continuous integration (CI) and continuous deployment (CD) pipelines, using tools such as Jenkins or GitLab CI, to automate the build, testing, and release process.
- Collaborate with DevOps and release management teams to ensure smooth and secure deployment to the Google Play Store.
- Lead code reviews, mentor junior developers, and contribute to best practices for Android development, testing, and deployment.
- Participate actively in Agile ceremonies, including sprint planning, daily stand-ups, retrospectives, and story grooming, to ensure timely delivery of features and improvements.
- Engage in technical discussions within the team and across departments, demonstrating curiosity, problem-solving skills, and a passion for innovation.
- Troubleshoot production issues and provide ongoing support to ensure a high level of app stability and performance.
- Contribute to the continuous improvement of the mobile development lifecycle, identifying and implementing new tools, libraries, and best practices to enhance the development process.
- Experience in eCommerce application development or high-traffic environments is a plus.
- Comfortable working in a fast-paced, results-oriented environment, capable of adjusting to changing priorities and business needs.
Basic Qualifications
- 6 to 10 years of hands-on experience in software engineering, focusing on Android app development using Kotlin and Java.
- Experience with Xcode or Android Studio profiling tools to identify and improve app performance is a plus
- Proven experience building and maintaining complex, native Android applications from concept to deployment.
- Expert-level proficiency in Kotlin and Java, with a strong understanding of Android SDK and Android-specific libraries.
- In-depth knowledge of the Android SDK, including Activity/Fragment lifecycle management, services, push notifications, and location services.
- Familiarity with Android architecture patterns such as MVP, MVVM, and dependency injection frameworks (e.g., Dagger, Hilt).
- Experience integrating REST APIs and handling asynchronous data flows in Android applications.
- Advanced knowledge of multithreading and concurrency in Android using tools such as RxJava, Kotlin Coroutines, and the Android threading APIs.
- Expertise in Android memory management, performance optimization, and caching strategies.
- Proven experience in implementing localization and internationalization strategies in Android apps.
- Strong experience with unit testing and UI automation testing frameworks such as Espresso, JUnit, and Robolectric.
- Familiarity with CI/CD pipelines, including tools like Jenkins, GitLab CI, or Bitrise, and automated build, test, and deployment processes.
- Knowledge of mobile security practices, including encryption, secure API handling, and authentication strategies like OAuth.
- Experience using profiling tools in Android Studio, such as memory, CPU, and network profilers, to debug and optimize performance.
- Familiarity with Agile methodologies, including Scrum and Kanban, with a proven ability to work within cross-functional teams.
- Excellent verbal and written communication skills, capable of explaining technical concepts to both technical and non-technical stakeholders.
- A collaborative team player who can engage constructively in discussions and offer creative solutions to technical challenges.
- Experience with eCommerce platforms or other high-traffic, consumer-facing Android apps is a plus.
- Familiarity with cross-platform development frameworks (e.g., Flutter, React Native) is a plus.
- Experience with modern Android build tools such as Gradle, ProGuard, and AndroidX libraries.
- Experience with the Google Play Store release process, app signing, and Play Store compliance.
- Familiarity with GraphQL APIs and data-fetching strategies for mobile applications
- Experience with eCommerce platforms or other high-traffic, consumer-facing Android apps is a plus.