Senior Android Mobile App Developer Resume
Boise, IdahO
SUMMARY
- 6+ years of experience in developing complex native Android Applications using Java and Kotlin.
- 4 Android apps published on Google Play Store.
- Operate in fast - paced, deadline- driven, collaborative and iterative programming environments.
- Skilled in Kotlin and Java with experience in memory management and caching mechanisms specific to mobile devices and embedded systems.
- Comprehensive understanding of Navigation Components, Dependency Injection, design patterns, and best practices of Android architecture design patterns.
- Deep understanding of Android Studio, Java, Android NDK, API design, SDK architecture, and mobile software lifecycle development practices.
- Knowledgeable and skilled with coroutines, Flow API, JetPack, TDD, DI, CI/CD, Git, BLE, AWS, TDD, Multithreading, code reviews, archiectures).
- Adept at implementing client-side handlers for web services with REST services at the back end.
- Proven at automated testing, introduction and maintenance of test coverage, and writing automated tests, including continuous integration and delivery.
- Familiarity with Android SDKs, Various API's, Bluetooth Low Energy (BLE) and Espresso for testing.
- Experience working with MVP, MVVM, MVI Factory, Façade, and Singleton design patterns in Android.
- Experience with Internet of Things (IoT) apps or devices.
- Experience with Git, Github, Pull Requests, and Rebasing.
- Solid understanding and practice with Test-Driven Development (TDD).
- Experience in shipping one or more Android apps to the Google Play Store.
TECHNICAL SKILLS
Programming Languages: Kotlin, Java, C#, Core Java 7.0, HTML5, XML, JSON, CSS, Reactive Programing, RxAndroid
Tools: Android SDK, Android Studio, Eclipse IDE, Gradle, MySQL workbench, NDK
Testing/Debugging Tools: Leak Canary, Espresso, Robotium, Mockito, Logcat, UIAutomator, Monkeyrunner Traceview, Hierarchy Viewer, DDMS, TestFlight, HockeyApp, Crashlytics, FabricCalabash, Cucumber, SonarQube, Klint, TestCloud
Dependency Injection: Butterknife, Dagger2, Android Annotations, RoboGuice, Hilt, Koin
Google API: Google Maps, Google Places API, Google Play services, Google Invites/Pay, Play services, Firebase
Databases: MySQL, SQLite, Realm, ORMLite, Room
Continuous Integration: Circle CI, Travis CI, Jenkins, Teamcity, Bitrise, Concourse
Methodologies: Agile, Scrum, XP, Waterfall, TDD, Kanban
Cloud Messaging: Firebase, UrbanAirship, Pushwosh, MixPanel, GCM
PROFESSIONAL EXPERIENCE
Senior Android Mobile App Developer
Confidential, Boise, Idaho
Responsibilities:
- Attend daily stand-ups and share input about current tasks and the tasks to follow, following agile scrum methodology.
- Implement concurrency design pattern using Kotlin coroutines to simplify code that executes asynchronously and for the consumption of REST API resources.
- ReplaceJobDispatcherimplementation withWorkMangerAPI to download flight details in background and sync analytics dataregularly.
- Work on payment module to Create a Payment and Process the Order using your OAuth2 tokens, the Client Metadata ID, and PayPal's API.
- Integrate Kotlin Koin dependency injection to describe dependencies into modules and sub-modules, provide a factory bean definition, and resolve a component dependency.
- Create notifications with pending intents to navigate the user back to the application when clicked.
- Convert oldWebViewsinto native android implementations utilizing Constraints Layouts and various design views.
- Refactor from MVP to MVVM for a more maintainable and scalable code base.
- Implement new features using android databinding library, using two-way data binding with an MVVM architecture.
- CreateRecyclerViewsand their respective adapters to display all list information per UI/UX design requirements.
- Work directly with Tech Lead to direct the application technologies and Android-supported versions.
- Utilize fragments to create a dynamic and upscale UI for the user.
- UtilizeLeakCanaryto detect and remove all memory leaks.
- Communicate with Android team to make goals and implementations uniform as per design and business requirements.
- Implement unit tests using Junit and Mockito to mock all necessary dependencies.
Senior Android Developer
Confidential, New York, NY
Responsibilities:
- Refactored legacy codebase using TDD, Dagger2 dependency injection,RxJava, Retrofit in MVVM design pattern using data-binding library.
- Performed unit testing using Mockito and set upJaCoCoto check my code coverage of new code.
- Implemented Kotlin with Android Studio for smooth functioning of the location-based services GPS, Bluetooth on Android.
- Used reactive frameworks such as RxJava, RxAndroid, RxBluetooth, and RxKotlin.
- Worked with the new Google Play Services library to use Route API, load Map styles from JSON, and create custom markers for nearest ride and user location.
- Worked on AWS Mobile Hub Cloud Logic mobile backend service feature to add business logic functions in the cloud and communicate withRestFulAPI from backend.
- Implemented RxJava2 for multithreading with Retrofit,OkHTTP caching and functional operators(flatmap/map/zip/flowable/disposable) to make API calls to display list of cars inRecyclerViewwith custom header.
- Integrated payment methods such as Stripe SDK, Visa API, card.io to make and schedule payments for the rides.
- Created Dagger components, scores, modules, and subcomponents to inject the needed dependencies into different app fragments, services, view models, and activities.
- Created Schedulers usingRxJavaTestSchedulerin unit tests and triggeredTestSchedulerto drive function behavior as expected.
- Used Atlassian Bamboo as a Continuous integration system to track released versions with all fixes detailed in a changelog and code backup.
- Stored previous ride history information usingGreenDAOwithSQLCipherlibrary and secure shared preferences to persist data securely inside the application.
Android Developer
Confidential, Oklahoma City, OK
Responsibilities:
- Participated in requirement gathering and ensuring specs were correct for the project.
- Maintained efficient communication within the development team using Slack.
- Employed MVP architectural pattern.
- Followed the Test-Driven Development (TDD) approach while developing the app.
- Worked with product and user experience teams to support multiple screen resolutions on multiple Android devices.
- Managed Git code repository usingBitBucket.
- Configured Retrofit 2 for asynchronous communication with RESTful back-end services.
- Implemented Volley for image handling.
- Improved UI by modifying the app navigation and replacing activities for fragments when possible and adding tabs and navigation drawer.
- UsedCrashlyticsfor real-time bug and crashreporting
- Implemented instance handlers for Java threading and separated from the user's interface thread.
- Consumed REST API to display user history on the user interface.
- Developed test cases usingJUnit, andtested UI using Espresso.
- Implemented dependency injection natively in Java for object references.
- UsedSharedPreferencesto store user preferences.
- Participated in app planning, architecture, and design; app approval and launch in the Google Play app store.
- Implemented the cipher method for the storage of sensitive data such as passwords within the Android application.
- Implemented an Android service to synchronize the latest news, getting them from RESTful web services.
- Used Android performance tuning and crash reporting applications.
Android App Developer
Confidential, Evansville, IN
Responsibilities:
- Worked in an Agile Scrummethodology.
- Assisted the team lead with requirements, documentation, task management, and scheduling meetings.
- Utilized Eclipse IDE to implement the application in Java and automated testing with Robotium.
- Performed Continuous Integration with Jenkins using Git andBitBucketfor code repository/version control.
- Applied OOP software design patterns/best practices.
- Managed build creation with a Jenkins instance hosted on a private server.
- Wrote Javadoc for documenting the different modules, hardware, and software features.
- Performed code reviews to ensure code quality and adherence to company coding standards and industry best practices.
- Created custom views to present data as it was needed.
- Integrated Flurry for mobile analytics.
- Helped the company to make the transition from traditional to Test Driven Development.
- Implemented UI/UX look-and-feel in the app, applying styles and themes following the new Google Material Design guidelines.
- Created multiple Content Providers with a native approach to handling UI asynchronous updates.
- Coordinated proper interactions of the Android front-end design and implementation with backend servers.
- Refactored unoptimized pieces of code to guarantee maximization in the use of resources.
- UtilizedAsyncTaskto connect to remote servers.