Lead Android Developer Resume
Miami, FL
SUMMARY
- 9+ years of experience in designing, developing and implementing mobile and client - server applications.
- 7+ years of experience in Android development.
- Experienced Android Developer designing and developing commercial consumer applications for Android mobile devices with extensive user interface development.
- Experience in Android UI toolkit and Layout Managers. Proficient in Android application framework. Experienced with Android SDK tools.
- Proficient in Android applications development involving Notifications, Custom Adapters, Services, Content Providers, Broadcast Receivers, and XML/JSON Parsing.
- Experience working with SQLite Database, Google Maps API, Google Play services, and GPS Location Data.
- Developed applications for Android OS using Android Studio, Eclipse IDE, SQLite 3.6, Java, Android SDK 2.2 - 9.0, and ADT plugin.
- Well versed with best practices related to Android Application development in consideration to deploying apps to various screen sizes and devices, network operations using asynchronous tasks, containing memory leaks, and increasing performance of apps.
- Involved in all phases of software product lifecycle and management.
- Knowledge of design architectures and Android architecture components.
- Configured two way data binding in xml layouts, for various fragment, activities, and adapters
- Extensively used Android DDMS tools for memory allocation, system logging, and thread analysis.
TECHNICAL SKILLS
Languages: Java, Kotlin, C, C++, PHP, XML, TypeScript
Android SDK: 2.2 (Froyo) - 9.0 (Pie)
IDEs: Android Studio, WebStorm, JetBrains IDEA, Eclipse, VS Code
Web Technologies: HTML, Node JS, CSS, Angular
Databases: SQLite, MySql, MS SQL Server 2008
OS: Ubuntu, CentOS, UNIX, Windows
Source control: Git, SVN
Text Editors: Vim, Notepad++, Sublime
PROFESSIONAL EXPERIENCE
Confidential - Miami, FL
Lead Android Developer
Responsibilities:
- Primarily lead efforts in SDLC lifecyle for this project and functioned as the team leader
- Refactored client’s codebase to Kotlin incrementally, as features and bug fixes took precedence to achieve client delivery dates.
- Created extension functions, sealed classes, and am knowledgeable on the use of scoped functions(let, apply, with, also, and run)
- Converted app’s God like Activities, Fragments, and classes into separate units to provide clear separation of concerns, using an MVVM architecture, heavily using Android Architecture Components and Jetpack, as there was no existing architecture in place to facilitate easier testing and clear separations.
- Separated existing code into logical accompanying view models, use cases, repositories, local and remote data sources, and provided unit tests for the Account Summary, Onboard Help, and Login components.
- Created appropriate data models for marshaling the client’s API responses and requests,as the client’s code relied on passing JSON objects between entities.
- Converted network calls to use Coroutines and Retrofit for async data access
- Advised the client to use different build types for domain specific configurations and used Firebase distribution to quickly send new builds out to the QA team.
- Resolved storage issues related to Android X restrictions for direct external disk access. Worked with client’s 3rd party Voip and messaging partner to correctly store images and audio files to external storage for Android X devices.
- Guided the client to use appropriate well established libraries that suited their specific use cases, such as Retrofit, Glide, Gson, and Koin.
- Improved UI/UX and added screen transition animations.
- Completed an overhaul of app’s onboard communications center’s user interface and provided outlets for direct inbound/outbound VOIP calling, messaging, and voicemail functions.
- Used distinct notification channels to alert users of system wide messages and communications alerts per incoming communications type.
- Setup Koin for DI, and employed scopes for certain view model injections
- Used Mockito, Junit, CoroutineTest, and MockWebServer to facilitate unit testing.
Environment: Android Studio, Kotlin, SQLite, Android SDK 4.1-10.0, Retrofit, Coroutines, Jetpack, Architecture Components, and Koin.
Confidential - Henderson, NV
Lead Android Developer
Responsibilities:
- Primarily lead efforts in SDLC lifecyle for this project and functioned as the team leader
- App’s Codebase is 90-95% written in Kotlin
- Created extension functions, sealed classes, and have good knowledge of scoped functions(let, apply, with, also, and run)
- Used Retrofit, alongside coroutines for asynchronous operations related to Remote API network operations and disk caching operations.
- Created and used a ViewType Delegation pattern when creating Recycler View lists that contain multiple view types. The pattern is highly maintainable and allows the easy addition of new view types.
- Curtailed memory leaks by using leak canary library to identify when objects were being retained.
- Designed and developed a highly complex User Login flow, which consists of new user sign-up, existing user logins, legacy users login, captcha completion, Totp verification when required, and code verification provided by deep links. The login components were created using Android Navigation Architecture Components
- Simplified common view logic and reduced code duplication by creating custom views to handle user’s posts and comments
- Used Glide for loading images and Gifs into respective ImageViews, while also retaining aspect ratio and using disk caching when required
- Implemented custom animations and view transitions for enhanced user experience.
- Project is created on the MVVM arcitecture, heavily using Android Architecture Components and Jetpack.
- Provided in-app translation services with Yandex API services
- Created Identify Verification within the app, that uses face detection Machine learning to identify when user smiles and blinks. Verification feature also scans front of a user’s license and performs PDF 417 barcode reading of the back license barcode.
- Used Koin for DI, and employed scopes for certain viewModel injections
Environment: Android Studio, Kotlin, SQLite, Android SDK 9.0, Retrofit, Coroutines, Google Play Services, and Koin.
Confidential
Lead Android Developer
Responsibilities:
- Primarily lead efforts in SDLC lifecyle for this project and functioned as team leader
- Refactored existing code and wrote new classes, models, and interfaces in Kotlin to help write cleaner code, remove boilerplate, and used additional Kotlin language features.
- Used Retrofit to perform asynchronous network calls, along with RxJava, for complex chained asynchronous network operations.
- Provided summary reports for DANA assessments and used custom graphing solutions using MPAndroidCharts Library to view historic subject test data, based on response time and percent correct values.
- Used ORMLite to persists user, subject, assessment,organization, and test configuration data. Data was encrypted using SQLCipher per HIPAA data requirements.
- Consulted in high level meetings with client, client’s partners, and various stakeholders in estimating, feasibility analysis, and providing technical expertise.
- Consumed RESTFUL web service (JSON), parsed the search results via an asynchronous process, and displayed the results in customized card views.
- Translated business requirements and developing/styling guidelines with junior team members.
- Used Dagger2 Dependency Injection framework to inject various network, app, and Dao modules.
- Conducted code reviews and decided task assignments for team members based on expertise in specific subject matter.
- Contributed to application requirement analysis for achieving the specifications provided
- Used the MVVM architecture, which assisted in organizing code, separating concerns, and providing easier to test components.
- Involved in Unit test creation using JUnit4 to test various components and viewModels.
- Used proguard to help obfuscate classes and provide some protection of client’s DANA proprietary technical IP.
Environment: Android Studio, Kotlin, SQLite, Android SDK 9.0, Retrofit, RxJava, Google Play Services, and Dagger.
