Senior Android Mobile App Developer Resume
Charlotte, NC
SUMMARY
- Android development experience spans 10+ years.
- 15+ years’ experience in IT.
- Published 6 Android apps to Play Store.
- Skilled in Kotlin programming language.
- Skilled Java programmer.
- Experience refactoring Java code to Kotlin, eliminating null pointer exceptions.
- Experience implementing new features in Kotlin.
- Experience applying Retrofit and GSON to retrieve information from an internally programmed API and make the conversion between the JSON and POJOs using Gson Covertor with Retrofit.
- Used RxJava to handle the responses from the web services.
- Used sync adapters to load changed data from server and to send modified data to server from app.
- Work with GSON and Jackson libraries to parse JSON files on Android projects.
- Used intent services and Retrofit with OkHTTP3 to handle calls and processed JSON objects with GSON converter.
- Generate Material Design ready codebases, including views in the design support library.
- Use a variety of views such as CardViews and RecyclerViews,
- Implement LRU Cache to increase the performance of ListView scrolling.
- Develop UI for both landscape and portrait Screen orientations using qualifiers.
- Use of Android JetPack for Data Binding to communicate between ViewModels and UI components.
- Implement JetPack LiveData to display most current data locally available.
- Use of Reactive - X RxJava and RxAndroid,
- Experience optimizing performance and memory usage of Android Apps.
- Experience writing custom UI components and libraries.
- Experience with multi-threading, integration with REST and SOAP APIs, custom view animations and transitions, and producing reusable libraries.
- Skilled in Test Driven Development and/or Behavior Driven Development.
- Knowledge and experience optimizing performance and memory usage of Android Apps.
- Experienced in writing custom UI components and libraries.
- Experienced with multi-threading, integration with REST and SOAP APIs, custom view animations and transitions, and producing reusable libraries.
TECHNICAL SKILLS
Architectures and Design Patterns: MVVM, MVC, MVP, Façade, Builder, Factory, Singleton
Team Management Tools: Jira, HP Quality Center, SVN, Git, Bitbucket, Jenkins, Travis, Bitrise, TeamCity, Circle CI, Confluence, GitFlow
Languages and IDE: Kotlin, Java, React, Native, Android Studio, Eclipse
UI/UX Tools: Adobe Photoshop, Proto.io, JustInMind, Material Design, Zeplin
Front End: Kotlin, RxKotlin, JetPack Compose, RxJava, Retrofit, TDD, Scrum, Agile Flow API, Motion Layout, Room, Mockito, JetPack, WorkerManager API, Google Play Services, Adobe, Urban Airship, Parse, Picasso, ButterKnife, RxJava, Dagger, ExoPlayer, Crashlytics, EventBus, Volley, Universal Image Loader, Espresso, Glide, GSON, Google APIs, Google Maps, Google Cloud Messaging, Google Charts, Google Analytics, Android Pay, Jackson, GSON, Realm, Butterknife, Dagger, Firebase, Localytics, Robolectric, Calabash, Android TV, BLE, Stripe Payment API
PROFESSIONAL EXPERIENCE
Senior Android Mobile App Developer
Confidential, Charlotte, NC
Responsibilities:
- Worked with Android Studio as the main IDE for the project.
- Led backlog grooming sessions and backlog prioritization.
- Worked in an Agile development environment using JIRA with two-week sprints.
- Assisted on sprint planning and performing demo presentations to stakeholders at the end of every sprint.
- Integrated multiple third-party libraries Glide, Retrofit, RxJava and Dagger 2.
- Used a MVVM architecture.
- Designed and developed data structures and flows that represented and supported business processes.
- Translated application storyboards and user stories into functional applications.
- Helped implement SAF (Storage Access Framework) into their code for attaching images to transactions and messages.
- Refactored Android Support libraries to be compliant with Android 11 and JetPack, such as android.preference to androidx.preference.
- Wrote instrumentation tests and UI tests using Espresso.
- Ensured code quality writing Unit Tests using JUnit, Mockito and PowerMock frameworks.
- Performed manual regression testing every 2 sprints.
- Completed multiple research stories to ensure compliance with Android SDK 11 changes.
- Used Slack and Microsoft Teams for communication.
- Programmed in Kotlin as the main code language for the Android application.
- Applied Kotlin extension functions to efficiently re-use existing codes and reduce code duplication.
Senior Android App Developer
Confidential, Ada Township, MI
Responsibilities:
- Worked in an Agile Scrum environment with bi-weekly Sprints and daily Scrums.
- Used MVVM architecture and programmed in both Java and Kotlin using Android Studio.
- Transitioned from Java to Kotlin as base programming platform.
- Used RxJava for most of the asynchronous processes.
- Refactored views to utilize constraint layout in order to make the UI more responsive to different screen sizes and resolution.
- Refactored the persistent solution of the application using SQLite Relational Object Mapping to Room to improve maintainability by taking advantage of Room’s abstraction, LiveData integration, and query validation capabilities.
- Utilized CompoundViews to create reusable components across the application.
- Communicated TEMPeffectively with the UI/UX team to agree on application design and UI flow.
- Designed CustomViews to implement UX designs.
- Used Moshi to populate data classes with data from JSON responses.
- Utilized LiveData to simplify data retention and updates during configurational changes.
- Implemented dependency injection with Dagger 2 and Butter Knife.
- Used Git for the applications Version Control System.
- Utilized Espresso for UI automation testing.
- Used Git with Github and Gitlab servers for source control.
- Used reactive frameworks such as RxJava and RxBluetooth.
- Used JIRA for project management and backlog tracking.
Android Mobile App Developer
Confidential, Columbus, OH
Responsibilities:
- Worked in Android Studio and coded the Android app using Java and Kotlin
- Assisted in architecting the app with MVP architectural pattern, and various design patterns such as Abstract factory, Builder, and Façade.
- Attended design meetings to review UI/UX flows for the new touchID (fingerprint login) library
- Implemented inline input validations and custom error messages natively in Android.
- Used Dagger 2 for dependency injection and RxJava for high performance with multithreading.
- Assisted web with automatic/ manual QA, and halped QA write Cucumber/ Ruby tests for web as well as for Android.
- Collected defect information for future sprints and in relation to the library from Acceptto’
- Used Timber for error handling and logging.
- Used Leak Canary and AppBoy, but all the logs were added to tech debit which were never touched.
- Utilized Appium and SauceLabs for UI/UX tests.
- Utilized Rally for storyboards.
- Rubymines used to aid in the development of making/ debugging tests.
- Utilized Espresso for testing.
Android Mobile App Software Developer
Confidential, Detroit, MI
Responsibilities:
- Worked closely with UI/UX designers and interacted with stakeholders, product managers and business units to gather requirements and ensure final product matched needs.
- Wrote test cases with Junit for unit testing and Espresso for automated testing to ensure quality control.
- Used GIT for source control management and continuous integration with Travis for CI.
- Developed the application in Java using the Android Studio
- Used RxJava for threading when making the RESTful calls.
- Built the application to support multiple screen sizes over various Android devices through qualifiers and fragments.
- Incorporated payment integration with SSL for protection of financial information.
- Added value encryption in SharedPreferences using AES 128 with the Secure-preferences Library.
- Added push notification features with Firebase Cloud Messaging for Android.
- Created the database using SQLite local file and a Firebase implementation.
- Delivered the setup of a Firebase mobile back end, setting up the code cloud and the connection with multiple external services.
- Configured private GitHub as a code repository for the Android development team.
- Configured the continuous integration process with a Jenkins instance hosted on a private server.
- Connected the app to Twitter, Instagram, and Facebook, by integrating their SDKs.
- Implemented Google Maps for location search with the Google Location APIs.
- Used Activities, Services, Broadcast Receivers, SQLite, and preferences Android components.
Mobile Android App Developer
Confidential, Washington DC
Responsibilities:
- Created on two-dimensional scrolling of custom views and custom data adapter to view photos from the gallery.
- Synchronized local GreenDAO database with backend MySQL Database for offline view of expense tracker data and IRS mileage log
- Integrated Amazon in-app purchases to buy premium membership and expose advance report, receipt generation capabilities.
- Worked on securing the network traffic with Certificate Pinning to verify the identity of the Hosted via SSL handshake along with the AES encryption principal.
- Coordinated with designers to create expense-tracker UI using custom and compound views.
- Held calls, meetings with an external client to include mobile conversion, retention, and engagement through deep linking, user routing using Branch 3rd party SDK.
- Worked ShortcutBadger API to show the count of unread messages in bottom tabs on the main menu in the application.
- Used LoopJ library for asynchronous HTTP requests, handling responses in anonymous call-backs to get IRS mileage log JSON data.
- Created Prove of Concept with Xamarin hybrid approach in Report Track feature.
- Followed Google guidelines to make application battery optimized (not drain battery), even with heavy usage.
- Integrated Dropbox API and Google Drive API to achieve cloud-based storage functionalities with a backup of receipts and expense reports.
Android Mobile App Developer
Confidential, Chicago, IL
Responsibilities:
- Documented all changes made to the app, improvements, fixes and new features, backend and front-end development.
- Debugged and tested the application usingRobolectric.
- Solid understanding of and hands-on experience in the full mobilesoftware development life cycle.
- Improved the layout rendering by saving and optimizing the view hierarchy in all the resources.
- Added theParcelableinterface to pass custom objects between components quickly viaIntents.
- UsedEspressofor instrumentation testing usingAssertions, Matchers, andActions.
- Worked withLRU Cacheto increase the performance ofListViewscrolling.
- Used various tools for development, testing, debugging, and performance benchmarking.
- Updated the look and feel followingMaterial Design guidelines.
- Actively worked with the back-end team to improve theRESTful APIto include new features.
- Developedcompound viewsto present information to the user depending on itspreferences
- Set-up and managed privateGitHubrepositories to host internal code.
- Implemented aWebViewcontrol to reuse some legacy web application functionality within the native app.
- ImplementedGoogle Analytics,Flurryfor various analytics.
- Implemented severalFragmentsfor the UI.
- Utilized theEclipseIDE to develop and code the application.
- Ensured excellent form factor integration by creatingmulti-panel activitieswithFragments.
Android Developer
Confidential, Newark, NJ
Responsibilities:
- Coordinated with Sr. Developer on Apache Commons Codec software for implementations of common encoders and decoders such as Base64, Hex, Phonetic and URLs.
- In corporate StickyListHeaders library to integrate section headers in ListView..
- Worked on Apache HttpMime API module to support MIME multipart encoded entities.
- Used OkHttp for exchange data and media through HTTP protocol.
- Worked with EventBus library for simplifies communication between Activities, Fragments, Thread, Services, etc.
- Refined sticky broadcast, change system display settings, disable screen lock, change audio settings, record audio, control vibration hardware controls
- Provided development support to the core team, troubleshooting some complex iOS / AIR / Android camera extension debugging for a specific project on a short-term basis.
- Coded to implement the Observer pattern, the Iterator pattern, and functional programming
- Used Git for source management.
Software Developer
Confidential, Akron, OH
Responsibilities:
- Applied object-oriented programming principals and coded in languages such as C++ and Java.
- Obtained the requirements through the setting of interviews with internal stakeholders across the enterprise.
- Gathered requirements and mapped system designs.
- Wrote new functions in Java and modified existing functions in Java.
- Programmed various software functions in C++.
- Modified multiple scripts written in JavaScript.
- Configured and programmed ERP software.
- Programmed various custom software programs as part of development team consisting of software programmers, database designers/developers, and business process specialists.
- Configured a variety of 3rd-party software systems.
- Wrote code to perform specialized functions in association with specified program features and capabilities.
- Conducted code reviews with the development team following best practices and implemented the company’s naming convention.
- Assisted with debugging and profiling software programs.