Overview
Skills
Job Details
Job Description:
We are seeking a Senior Android Developer with 7+ years of native mobile engineering experience, specializing in building scalable, high-performance mobile applications on Android platforms. The ideal candidate will have strong proficiency in Kotlin with an in-depth understanding of mobile architecture and design patterns, and a proven track record in developing and optimizing complex mobile applications. You will work alongside a talented team of engineers to deliver top-quality apps while employing best practices in performance, design, and testing.
Key Responsibilities: Design & Development: Build and maintain Android and iOS applications using Kotlin, with a focus on best practices and high-performance architecture.
Mobile Engineering Expertise: Leverage 12+ years of experience in native mobile engineering to deliver robust, scalable solutions for Android.
Architectural Patterns: Implement CLEAN architecture, SOLID principles, and other best practices to ensure modular, scalable, and maintainable codebases.
SDK Expertise: Utilize your experience with the Android SDK, Android Studio, and Google Android design principles.
Jetpack Components: Leverage Android Jetpack components for application lifecycle management, navigation, and data handling.
Proficiency in Mobile Frameworks: Utilize a wide range of mobile frameworks and libraries to efficiently develop features and improve application performance.
Complex Application Development: Lead the development of large-scale, complex applications, ensuring they are robust, testable, and maintainable.
Data Persistence: Utilize Room and DataStore for Android data storage, and iOS equivalents where applicable.
Testing & Quality Assurance: Apply Test-Driven Development (TDD) practices with a focus on unit testing, UI testing, and building testable software architectures.
Multi-Device Compatibility: Ensure applications support both phones and tablets in portrait and landscape orientations across iOS and Android platforms.
Multithreading & Memory Management: Efficiently manage background tasks and memory usage through appropriate multithreading techniques and memory profiling tools.
Error Handling & Caching: Implement robust error-handling mechanisms and caching strategies using built-in Android libraries, third-party tools, and iOS frameworks.
Networking: Integrate with RESTful APIs, and process JSON and XML data formats, ensuring smooth data communication across both platforms.
Performance Optimization: Profile and optimize performance using tools like Android Profiler, Xcode Instruments, focusing on memory and execution efficiency.
Version Control: Collaborate using Git and tools like SourceTree for version control and code collaboration across Android and iOS teams.
CI/CD Pipelines: Set up continuous integration and delivery pipelines using Android build tools, Jenkins, and equivalent iOS tools to streamline the development process.
Third-party Libraries & APIs: Integrate third-party libraries and APIs, ensuring seamless interaction across platforms.
SDK & Framework Development: Create reusable SDKs and frameworks for internal and external use.
Algorithms & Data Structures: Implement and optimize algorithms and data structures to ensure efficient app performance.
Required Skills:
5+ years of hands-on experience in Android development
Proficiency in Kotlin for Android development
Deep understanding of mobile architecture, design patterns, and best practices.
Expertise in building large-scale, complex applications and designing testable software architectures.
Strong experience with Android SDK, Android Studio, and Google s Android design principles.
Experience with Android Jetpack components like Navigation, LiveData, ViewModel, and WorkManager.
Experience working with remote data sources via REST APIs and handling JSON data.
Strong background in TDD, unit testing, and UI testing.
Ability to handle multithreading and memory management efficiently.
Expertise in error handling and caching strategies.
Experience in optimizing apps through memory profiling and performance tuning.
Familiarity with Git, SourceTree, and CI/CD tools like Jenkins.
Experience integrating third-party libraries and APIs.
Nice to Have:
Experience working in an Agile/Scrum development environment.
Knowledge of other architectures like MVVM or MVP.
Familiarity with mobile monitoring tools such as Firebase or Crashlytics.
Strong command of other mobile frameworks and web services.