Senior Android Developer Resume
Orlando, FL
SUMMARY
- 11 years developing Android mobile application development expertise; including experience successfully deploying commercial Android application(s) in Play Store.
- Strong experience with full SDLC projects in Waterfall and Agile /Scrum methodologies
- Exposure to tools such as Retrofit, Kotlin, Coroutines, RxJava, Jetpack, Firebase, etc.
- Familiar with clean architecture, Live Data, MVVM, MVP, Unidirectional data flow, etc.
- Expertise in UI development with programmatic layouts per design specifications
- Experience in coaching and mentoring developers, through peer reviews of code, component designs and documents to ensure quality component delivery.
- An understanding of web service protocols (REST, SOAP, API)
- Sound computer science foundations: algorithms, data structures, concurrency, threading, and programming languages
- Experience working in an Agile environment, and a clear understanding to practically apply Agile principles
- Proven ability to work effectively within cross - functional/multi-skilled teams
- Experience with Test-Driven Development (TDD) and Behaviour-driven Development (BDD
- Hands on experience in creating clean, decoupled Android Architecture using OOP and Reactive Programming
- Hands on working experience of testing devices with Bluetooth and Smart BLE protocols
- Experience or knowledge inADB commands / Linux Commands
TECHNICAL SKILLS
Architecture & Design Patterns: Methods
IDEs: Android Studio, Visual Studio, Eclipse, IntelliJ
Bug Tracking: Android Profilers, ADB, LeakCanary, Firebase Crash reporting, Crashlytics, ANR SonarQube, JIRA
Version Control: Jenkins, Git, SVN, Git, GitHub, BitBucket, Circle CI, TeamCity, Gitlab
Programming: Kotlin, Java, C++, C#, ASP.NET, Object Oriented Programming (OOP)
Database: Room, Firebase Realtime, MySQL, SQLite, Realm, GreenDAO, Mongo DB
JAVA & Android: UI/UX
Third-Party Web & API: Koin, Hilt, Google Home API, Volley, Junit, Google Places, Retrofit, RecyclerView Animator, Location Services, Stripe, Google Cloud Messaging, Schematic, REST, Bluetooth Low Energy, NineOldAndroids, JobSchedule, Push Notifications, Espresso, Google Play Services, AsyncTask, IntentService, Handler Threads, Loopers, Loaders, Custom android views classes and components, Android adapter views like Listview, Gridview and Gallery, Customized List views, Gallery widgets,Fabric, Glide, Google Custom Search, Samsung SDK, Logger, Spork, Dagger, Mosh, Answers, RxJava, RxCache GSON, Robolectric, EventBus, LeakCanary, VidEffects, Robotium, JavaScript, XML, JSON, GSON, SOAP, AJAX, Google API, Twitter API, FaceBook API, Payment APIs, Accessibility service
PROFESSIONAL EXPERIENCE
Confidential | Orlando, FL
Senior Android Developer
Responsibilities:
- Taking part in full Software Development Lifecycle of multiple applications from concept to production.
- Contributing several design elements that add great value to the application and improve the UX.
- Interacting closely with both the Product and the Design teams.
- Implementing Google Maps API for package tracking.
- Consuming proprietary web service to retrieve delivery vehicle coordinates for real-time display on user devices.
- Integrating location-based services using Google Maps, Google Places and Google Directions APIs to display locations of the drivers.
- Migrating code base from Java to Kotlin.
- Programmed Kotlin expressions and higher order functions to reduce boilerplate code.
- Developed new features in Kotlin to reduce codebase with data classes and extension functions.
- Use of Reactive-X through RxKotlin and RxAndroid on complex architectures using MVVM.
- Using RxKotlin in conjunction with RxAndroid, RxBinding libraries to make app multithreaded and perform asynchronous operations.
- Replacing RxJava implementation with Kotlin coroutines and dispatchers to make asynchronous Network requests, JSON parsing, reading or writing from a database
- Implementing analytics using Firebase analytics framework to track user behavior in app.
- Using Firebase App Distribution for getting applications to testers and team.
- Creating custom UI components for consistent UX across companies' internal Android applications and for reusability making the development process faster and smoother.
- Creating custom libraries for internal network calls for security purposes.
- Using RecyclerViews and populated lists to display the lists from database using RecyclerView adapters as the most efficient method.
- Using Bitbucket as the version control tool to commit and update the project from the server.
- Implementing Android UI test using Espresso for critical functionality.
- Debugging and fixing access to Bluetooth settings, network connectivity, Wi-Fi Multicast reception, and connect and disconnect from Wi-F.
Confidential | Atlanta, ga
Senior Android App Developer
Responsibilities:
- Implemented dependency injection natively in Java for object references.
- 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.
- Experience with Android performance tuning and crash reporting applications.
- Attended the SCRUM meetings to track app development progress.
- Used WebView to render some HTML and JavaScript content.
- As part of the Android development team provided Object Oriented implementation of architecture and design using Java coding, Kotlin coding and both native Android and third-party frameworks.
- Use reactive frameworks such as RxJava, RxAndroid, RxBluetooth, and RxKotlin, along with Kotlin Coroutines for proper background work management.
- Integrated Kotlin Language to reduce the use of Static class references for common functionality across the entire project.
- Worked on Starva Bluetooth BLE SDK to design module to pair with Bluetooth devices and transmit large bytes of attributes.
- Applied solid relational DBMS skills using MySQL, PostgreSQL and other DBMS products.
- Implemented MVP architecture and various design patterns (Singleton, Proxy, Observer, Façade)
- Added extra functionality to the app such as Comment and vote deals, share offers (directly from the app or with notifications).
- Developed rich application layouts following Material Design.
- Consumed REST API to display user history on the user interface.
- Developed test cases using Junit and tested the UI using Espresso.
- 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.
- Used SharedPreferences to store user preferences.Identification of issues by root cause analysis during the test cycles.
- Designed the URIs needed to access and modify the exported Content Provider data.
- Added Broadcast Receiver logic to listen for events that can trigger a local database update.
- Created Material Design layouts with different animations optimized for the ultimate User Experience.
Confidential | Plano, TX
Android App Developer
Responsibilities:
- Used Android Studio for Android development using Java and Kotlin.
- Worked closely with UI/UX designers to design an implementation to match their vision.
- Created custom infinite recycler view that is now used throughout the app for scrolling images and videos.
- Designed Android UI/UX using Android widgets like list view, recycler view, buttons, text views, View Flipper etc.
- Created custom dot paginator and designed many fragment layouts using view pager as the base activity.
- Implemented web views, list views & populated lists to display the lists from database using simple adapters.
- Saved data locally using SQLite database by performing the CRUD operations on the database.
- Persisted wallet items in database using SQLite.
- Implemented RESTful API calls to retrieve and manage user’s rewards, coupons, deals, and gift cards; and apply to cart items.
- Wrote code to determine the best coupon to apply to user’s cart.
- Used LeakCanary to find and fix memory leaks, significantly reducing system crashes
- Retrofit and RxJava used for RESTful web calls with GSON library to deserialize JSON information.
- Android threads with Loopers, Handlers, AsyncTask and Runnable.
- Implemented the user interface by using Custom View, ListView, ViewPager, RecyclerView and Tab Layout.
- Implemented Adobe analytics to track usage statistics.
- Embedded local storage solutions such as SQLite.
- Used EventBus to pass events between activities and fragments.
- Implemented Image compression strategy for reducing OOM image crashes.
- Created sharing function to allow users to share items with friends using social media APIs.
- Created blur animations and a new pinch zoom for images.
- Implemented reusable code for easily adding new promotions such as Mother’s Day. It was used this Mother’s Day and it was one of their most successful feature launches.
- Created a new animation overlay image that fades and blends into the app. This feature is now used with all new promotions.
- Implemented two variations of Father’s Day as a tool for future promotions.
- Optimized legacy code for faster loading, leveraging caching strategies to load page images faster.
- Implemented new Bonus Bucks wallet for this new JCP promotion.
- Created a Ghost Cards, which is a promotional card to entice users to sign-up for a JCP credit card.
- Created benefits promotion that integrates throughout the wallet, linking to different pages both internal and external.
- Implemented a new dynamic discover page that allows placement of different promotions using Google Tag Manager and JSON
- Implemented a new promotion for Fenty products that includes an animated image overlay that fades into the promotional card.
- Used Butter Knife for dependency injection and Git code repository managed with Stash with Jenkins for continuous integration.
- Managed image handling with Picasso
Confidential | santa monica, ca
Android App Developer
Responsibilities:
- Worked on a team of 8 developers and 2 QA specialists.
- Collaborated with cross-functional teams to define, design, and ship app experiences for users.
- Accepted joint responsibilities with the team for converting the Product backlog into 'Done'.
- Contributed to continuous improvements in the team for greater efficiency, quality, and productivity.
- Worked existing clean code architecture in MVP and created shopping module, add-to-basket module, and customer profile module.
- Worked closely with UI/UX team for doing Material Design and applied custom animations on views and assigned proper spacing for iconography.
- Created multiple services for connecting with company backend to retrieve user account details, billing, and payment.
- Implemented Google Play Billing system and configured BillingClient and override on ConsumeResponse in the MVVM design pattern.
- Included DaggerMock testing library to test Dagger components in Unit test cases in TDD manner for presentation layer.
- Programmed modules, components, scopes to inject view models and network objects using Dagger Creational pattern.
- Replaced Volley library with RxJava, Retrofit library to make asychrous API calls to get user-profile and monthly stats data in custom view.
- Added custom deep links that the user will be sent to if the app is already installed and leveraged the power of Google Services to send invites to friends.
- Enable Google Pay to process payments from users, integrate Payment data cryptography for merchants and use sample tokens to test integration.
- Performed AIDL and defined the programming interface that both the client and service agree upon to communicate with each other using interprocess communication (IPC).
Confidential
Android App Developer
Responsibilities:
- Technologies used include Android Studio, ProGuard, GCM, Butter Knife, Universal Image Loader, Retrofit, Parcelable, Android Pay, PayPal, ZXing, SQLCrypt, Parse, Robolectric, Hudson, Crashlytics, JIRA.
- Integrated payment methods such as Android Pay, MasterCard API.
- Supported multiple screen resolutions implementing different layouts for portrait and landscape.
- Used ProGuard to shrink, optimize, and obfuscate the code.
- Extensive use of AsyncTask for doing background processing.
- Implemented Fragment retention for the AsyncTask operations.
- Designed prototypes to create the main flow of the application with Photoshop.
- Participated and conducted Scrum meetings to review project progress.
- Worked with the design team and the usability specialist to design a user-friendly interface for the app
- Mentored junior developers on Android best practices.
- Wrote technical specifications and maintained all reports pertaining to application development process.
- Worked in the new design, gave a new look and feel in the app, applying styles and themes.
- Built the UI/UX using Material Design implementing Fragments and Navigation Drawer.
- Used the Parcelable interface to serialize the objects before transferring them to other activities.
- Created custom animation to improve the user experience following the Material Design principles.
- Implemented a Navigation Drawer for quick access to different activities and for the better experience of the user.
- Integrated Crashlytics to analyze the behavior of the users.
- Integrated JUnit to complete all test cases.
- Use of Git for the source control management.
- Used the JIRA bug tracking tool for quality control.
- Implemented push notifications with Google Cloud Messaging.
- Implemented Universal Image Loader for image rendering.
- Included ZXing library to read and generate bar codes for coupons
- Continuous integration with Hudson.
- Resolved issues, fixed bugs and optimized the application.
- Worked with Android-Query library for asynchronous Ajax type calls used commonly for image loading
Confidential | Portland, OR
Software/IT Developer
Responsibilities:
- Performed requirement gathering sessions to clarify and start up with the development process.
- Worked with various groups to coordinate mobile application development, including Enterprise Architecture, Information Security, and the business.
- Created website front end and templates using HTML and CSS.
- Used PHP to connect to the MySQL database.
- Planned, tested, and implemented various Web-based applications using JavaScript, HTML, and CSS.
- Designed, developed, and implemented Web Forms, significantly improving efficiencies.
- Documented integrations with internal and external services.
- Worked with other development teams on platform integration strategies.
- Participated in code review sessions to always have high quality (reusable, simple, documented) code.
- Implemented services to run on the back to handle HTTP calls.