Senior Android Developer Resume
Atlanta, GA
PROFESSIONAL SUMMARY:
- Expert programming in Java and Kotlin to develop Android applications.
- Network calls and background multithreading using RxJava, Retrofit, Volley and AsyncTask.
- Worked in an Agile environment with strong SCRUM and pair programming fundamentals.
- Strong leadership and communication skills in an Agile environment SCRUM, Kanban, and XP.
- Google Maps API, GPS Location data for location, maps, nearby.
- Creation of unit and integration testing suites developed with Mockito and Espresso for use in Android development.
- Configured and initialized multiple cloud integration services including Parse, Firebase and Google Cloud Messaging for Android projects.
- Experience with consuming third - party APIs in Android development projects.
- Experience with multi-threading and memory management specific to mobile devices
- Guide decisions on architecture and technical strategy.
- Well versed in the most modern Android third party libraries such as Volley, Retrofit, Picasso, YouTube, Location API, Maps. View, Google View, Google Maps, PayPal, Stripe, Android pay, QR Droid, Butter Knife, Dagger, Google Wallet payments, Android Annotations.
- Continuously delivered a complete analysis regarding problems on the client’s side, having in mind various factors like deadlines, budget, scope, and risks.
- Experience with Push Notifications, Google Maps, Navigation, and GPS.
- Fluent in Android SDK/NDK and device driver development.
- Worked with an internal QA team on system, performance, and acceptance testing.
- Android UI Toolkit and Layout Managers. Proficient in Android Application Framework and Android SDK Tools.
- Android Push Notifications, Google Maps, Navigation, GPS
- Followed best practices for architecture and programming.
- Implementation of dependency injection with Dagger to sped up the unit testing process.
Languages: Java, Kotlin
Databases: SQLite, MySQL, Firebase DB, Mongo DB
IDE: Eclipse, Android Studio
Architectural Patterns: MVP, MVC, MVVM
Development: TDD, JIRA, Continuous Integration, Confluence, Git, GitHub, SVN, SourceTree, BitBucket
RESful Web Services: REST, SOAP, XML, JSON, GSON, Retrofit, Volley
Threading: Loopers, Loaders, AsyncTask, Intent Service, RxJava
Android Development: Schematic, SmartTV,, Certificate Pinning, RxJava, RxAndroid, RxCache, MonkeyRunner, Bluetooth Low Energy, ExoPlayer, SyncAdapters, IcePick, Circle - CI, Samsung SDK, Glide, VidEffects, JUnit, Ion, GSON, Push Notifications, SpongyCastle, Parse, Flurry, Twitter, Espresso, Fresco, Moshi, Jenkins, UIautomator, Parceler, Dependency Injection, EventBus, Dagger, Crashlytics, Mixpanel, Material Dialogs,Marshmallow, Loaders, Jitpack, JobScheduler, ParallaxPager, XmlPullParser, Google Cloud Messaging, LeakCanary
PROFESSIONAL EXPERIENCE:
SENIOR ANDROID DEVELOPER
Confidential, Atlanta, GA
Responsibilities:
- Created applications on Android Studio Plugin with IntelliJ using Java initially and Kotlin
- Worked in full Software Development Lifecycle (SDLC) including Planning, Analysis, Design, Implementation, Testing/Integration, and Maintenance.
- Worked with Activities, Navigation Component, Fragments, Custom Views, Extension library, and 3rd party libraries.
- Implemented Retrofit, OkHttp to consume RESTful endpoints (for non-authenticated routes such as Register New User and Reset Password.
- Worked on the authenticated services (post-login) such as Edit User Profile, and Get Card Details, had to be onboarded via a networking security library (proprietary) and point the app to new (protected) endpoints which were accessed through methods provided by the library, forgoing the need for retrofit at that stage. This required me to create a sound structure where the two networking packages didn’t conflict with each other.
- Used Git with BitBucket for Version Control. We had a sprint planned for setting up CI/CD through Jules but that got put off by higher priority items.
- Worked closely with designers for implementing UI components.
- Implemented Picasso for image loading and caching.
- Implemented UI components using material design.
- Implemented analytics using crash reporting for uploading crash logs and secure logging for logging app events (both proprietary libraries).
- Used SeeTest (proprietary) to run Android emulators on and deploy testable apks for QA’s testers across the firm.
- Worked closely with QA reps to handover apks and to receive test data (aka creating user in the backend so I can test user registration on app end).
- Worked closely with Backend engineers to coordinate endpoint testing and validation. They would hand over some sample data needed for each endpoint and I would implement it on the app. I would get on a call with the person in charge on developing the service I was trying to access through the app and test it thoroughly.
- Created custom UI components for consistent UX across companies' internal Android applications including custom top navigation headers, custom buttons, etc…)
- Used recycler views & populated lists to display the lists from database using recycler view adapters.
- Used Bitbucket as the version control tool to commit and update the project from the server
SENIOR ANDROID DEVELOPER
Confidential, Atlanta, GA
Responsibilities:
- Used Android Studio as the IDE for development of the Android mobile app in Java and Kotlin, migrated from Java to Kotlin.
- Transitioned the app from MVP to MVVM architecture.
- The project consisted of one project leader, 1 team lead, 4 Android developers and two QA testers.
- Used Git code repository and I managed the commits.
- Followed Agile Scrum methodology with Test-Driven Development (TDD) and a Jenkins CI server to assist in integration and testing.
- Maintained Android app quality in development through continuous integration process using GitLab.
- Followed material design guidelines and worked with front-end UX designers closely to implement their visions.
- Used Jira for documentation, task tracking, backlog management, and meeting prep.
- Automated testing with Espresso and I oversaw the writing of the Unit Tests by junior developer and lead code reviews.
- Worked with Dagger 2 for dependency injection to develop clean, maintainable code as well as Android Data Binding using Android Jetpack.
- Implemented Android Jetpack LiveData and Room.
- Implemented Retrofit with RxJava for back-end integration and worked with cloud-based content providers created in Firebase.
- Managed threading, performance, and memory management with RxJava and RxAndroid to real-time streaming effectively.
- Updated the ExoPlayer and Media Player user access and views.
- Implemented music streaming functionality using Media player and Android services.
- Using management techniques, I was able to optimize the device’s use of memory.
- Worked with live video streaming library to deploy live to the Android mobile app.
- Oversaw Android app performance profiling with Crashlytics to monitor crashes and exceptions.
- Implemented Custom Controls on video player with the ExoPlayer library.
- Implemented data persistence using SQLite and SQLiteOpenHelper.
- Worked with Content Providers to connect with and consume Android Contacts.
ANDROID DEVELOPER
Confidential, Boston, MA
Responsibilities:
- Used custom views to easily reuse UI components built to UI/UX design specifications.
- Android Studio used as IDE in Android application development.
- Developed new features in Kotlin to reduce codebase with data classes and extension functions.
- Used Kotlin Coroutines to perform asynchronous tasks for optimized thread management
- The Android project team used Bamboo cloud-based continuous integration tool.
- Dagger 2 was the library for dependency injection for readability and clean code.
- Cipher encryption secured data as it was being passed to the server and watch, staying in compliance with security standards.
- Involved in working on Restful Web service with JSON.
- Collaborated with the web application development team to ensure proper integration between mobile application and web application.
- Also used GSON converter to convert the retrofit JSON response to the java object.
- Worked with Git and I managed the Git repository, multiple branches.
- Helped mentor junior developer in adapting to Android from his background in Java.
- JUnit and Mockito used to create unit tests although the testing was primarily handled by the V&V department.
- Android application architecture was MVP, but looking to refractor into MVVM in the future.
- Implementing Google Cloud Messaging for instant alerts for the customers.
- Asynchronous Programming Android (such as Thread pool, Tasks and Services).
- Services and broadcast receivers for performing network calls to the server.
- Bluetooth LE connection implemented to send data from the Simplicity Application to the watch face for easy access.
- As features were added to the application, the V&V team ensured that everything worked properly before the Jira ticket could be closed.
- One of the biggest challenges was managing the information being sent to the server for retention purposes.
- Kept track of current and backlogged tasks using Jira.
- Documentation was done using an SDS template provided by Dexcom, which has been used on all the applications they have had developed.
- Followed Agile methodology with daily standups, monthly team meetings, sprint grooming meetings and sprint planning meetings.
- Team consisted of 3 senior level developers (myself included), 2 junior level developers and a project manager.
ANDROID DEVELOPER
Confidential, Atlanta, GA
Responsibilities:
- Conducted SCRUM meetings and acted as liaison with the upper management to make everything work faster by removing all blocking situations the team was facing
- Added the Parcelable interface to pass custom objects between components quickly via Intents.
- Used Espresso for instrumentation testing using Assertions, Matchers and Actions.
- Worked with LRU Cache to increase the performance of ListView scrolling.
- Updated the look and feel following Material Design guidelines, and implemented several Fragments for the UI.
- Ensured excellent form factor integration by creating multi-panel activities with Fragments.
- Improved the layout rendering by saving and optimizing the view hierarchy in all the resources.
- Supervised the creation of the unit, integration and stress test cases with JUnit, Espresso, and MonkeyRunner.
- Actively worked with the back-end team to improve the RESTful API to include new features.
- Developed compound views to present information to the user depending on its preferences.
- Managed private Git code repositories with SourceTree.
- Created custom animations and transitions to improve the user experience.
- Made a distinction between development and production versions of the app each with their distinct credentials and settings in the backend using Urban Airship.
- Ability to manage competing priorities in a complex environment and maintain high productivity.
- Used the View Pager Indicator to provide feedback to the user about the background processing status.
- Implemented IcePick when building references to track them in an easier way and avoid memory leaks.
- Used custom views to easily reuse UI components built to UI/UX design specifications.
- Implemented Google Analytics and Firebase for various analytics.
- Utilized the Android Studio IDE to develop and code the application in Java.
- Contributed value to a cross-functional engineering teams (back-end development, front-end development, UI/UX designers, QA, Product Management, etc.).
ANDROID DEVELOPER
Confidential, Bellevue, WA
Responsibilities:
- Implemented user login screens and designed context menus based on the Android Menu Navigation, Tabbed Navigation control, and Action Bar Control.
- Worked with LRU Cache to increase the performance of ListView scrolling.
- Worked with Product Management, Delivery teams and Project Management to translate requirements into tasks for deliverables.
- Tied mobile client applications to critical server-side APIs.
- Involved in requirement gathering and outlining.
- Worked in databases using native Android API and server-side MS SQL server database.
- Responsible for developing the Android UI layouts (Linear Layout, Relative Layout).
- Implemented two versions of unique UI. Created a lot of prototypes for different UI elements.
- Introduced optimal caching mechanism into SQLite, to avoid unnecessary queries.
- Involved in writing application logic in Android Studio.
- Integrated communication with backend services using Retrofit and RxJava, parsing JSON objects with GSON.
- Worked in different phases of the project cycle like design, development, and testing.
- Worked in the Use case requirements, analysis, design, and development phase.
- Worked with Custom Frameworks and Custom Templates for building this application.
- Implemented Frame Layout method to show background images of the app.
- Individual implementation of Google Map and Location service.
- Implemented OAuth and authentication tokens.
- Implemented entire feature using Fragments and Custom Views.
- Implemented Toast, Dialog notifications for alerts.
- Implemented Singleton Object class for managing 3rd party API to access the information in various modules of the application.
- Worked on the SQLite database to minimize the size of the application and increase the performance.
- Used Android XML in design and development of user interfaces.
- Worked with RoboGuice for dependency injection to develop clean, maintainable code.
- Worked with support libraries to ensure backward compatibility with older Android versions.
- Worked with TDD/BDD and agile methodologies in Android app development.
- Worked with the design team and the usability specialist to create a user-friendly interface for the app.
- Worked with the Facebook API for user login authentication.
ANDROID DEVELOPER
Confidential, Fort Worth, TX
Responsibilities:
- Implemented unique design for portrait and landscape mode.
- Organized & improved global widgets and UI controls.
- Designed screens related to categories and detail pages for this application. Registered the Broadcast Receivers for the Android system announcements.
- Git was the source control tool being used to manage the application development
- Responsible for the design, development, testing and publishing of the application
- Parsed JSON files to obtain data returned from web services
- Utilized Navigation Drawer and Tabs to provide quick and easy navigation
- Upgraded the SQLite database to add various extra features to the app
- Implemented Crittercism to monitor crashes and exceptions and user app analytics data
- Communicated with RESTful web services to obtain up-to-date data with Retrofit and RxJava.
- Adapted Agile methodology to meet requirements on time
- Performed automated testing by using Robolectric
- Tracked the debugging process using Android Studio DDMS, CI Tools like Jenkins, TDD, and JIRA.
- Tested the app across different versions of Android to assure quality and performance.
- Involved in Agile activities such as iteration planning, grooming feature dive-ins, sprint retrospectives.
- Used multiple threads running in the background using Rx Java for high performance, efficiency, and implemented Google cloud messaging (GCM) for enabling push notification.
- Implemented back-end integration using Retrofit and OkHttp to parse JSON data converted with GSON.
- DDMS (Dalvik Debug Monitor Server) and TraceView for debugging and detecting memory leaks.
- Implemented communication with RESTful services using Retrofit and RJava.
- Involved in entire software development process for all assigned android application development projects: requirement specification, design, implementation, testing and maintenance
- Implemented scheduler that schedules an Observable on a given Android Handler thread, particularly the main UI thread.
- Profiling, tuning, & optimizing Android apps and branching, pushing & merging codes with remote repository GIT.
- Interacted with existing development team to understand the native Android features required by the application.
- Provided subsequent releases which included feature changes, enhancements and bug fixes.
- Contributed in production release deployment, certifying release features, monitoring production logs and fixing production issues on demand.
- Used SVN for version controlling and for integration of the code.
- Responsible for developing the user login screens and design the Context menus based on the Android Menu Navigation, Tabbed Navigation control and Action Bar Control.