- 11+ years of experience in Android
- Current app project ( Confidential ) in pre - release phase.
- 11+ years’ experience in standard industry design patterns, and Object-Oriented Programming
- Strong Android development experience with an appreciation of design, testing and backend Web Services
- Excellent knowledge of building scalable code using dependency injection (Dagger, RXJava, Retrofit/Volley, Room, Volley, ViewModel, LiveData)
- Experience in optimizing performance and memory usage of Android Apps
- Experience in 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
- Passion for Test Driven Development and/or Behavior Driven Development
- Experience with Android’s Animation Framework
- Experience in conceptualizing, implementing, and publishing apps
- Familiar with Wi-Fi, Bluetooth, NFC, and other short distance wireless communications protocols
- Ability to multi-task, work independently or as part of a team, and flexible in terms of work location
- Working experience using agile, Kanban, TDD, XP and scrum methodologies
- Offshore/Remote team collaboration and management experience
- Ability to work on multiple projects in parallel
- Exposure to continuous integration and continuous delivery practices, especially in an environment of weekly (or even more frequent) releases to production
Databases: Room, MySQL, SQLite, Firebase DB
IDE: Eclipse, Android Studio, IntelliJ
Multimedia: Glide, Picasso, ExoPlayer, Videoplayer
Development: TDD, BDD, Kanban, JIRA, Continuous Integration, Git, GitHub
Project Methodologies: Agile, Scrum, Waterfall
Android Dev: Espresso, Moshi, Retrofit, Junit, Glide, Loopers, Loaders, AsyncTask, RxJava, GSON, LiveData, MVVM, MVC, MVP, Room, Dagger 2, Jenkins, Android Profiler, Coroutines, Layouts, Google Architectural Components, EventBus, RecyclerView, Services, LiveData, Google Maps API, Mockito, Jetpack (Compose, librairies)
Confidential, Atlanta, GA
Senior Android Application Developer
- Built app using Kotlin programming language, MVVM architecture, and teh latest UI technology - Jetpack Compose.
- Implemented a nine-page onboarding screen using Jetpack Compose.
- Created new Keto app repository from teh company’s parent proprietary repository.
- Implemented MP chart framework used to display teh ketosis graph.
- Worked on an Agile dev team and served as a key member responsible for planning and direction and development.
- Refactored dependency injection from Dagger to Hilt dagger to conform with Kotlin best practices.
- Refactored some of teh code from LiveData to Flows, Stateflow, etc. as applicable.
- Implemented teh UI test framework using Mockito.
- Worked with Jenkins CI server for continuous integration and followed Test-Driven Development (TDD) methods.
- Used Jira to manage teh project backlog and tasks assignment and tracking.
- Used Bitbucket to manage Git repositories and versioning control.
- Applied Jetpack libraries.
Confidential, Louisville, KY
Senior Android Developer
- Producing teh latest build versions for production and publishing to teh Google Play Store.
- Collaborating with teh chief architect in designing teh data transfer flow from server to teh UI and vice versa.
- Programming/configuring optional biometric login in addition to teh regular username and password style.
- Documenting challenges and observations for every user story assigned to me, and then producing demos of every story me completed and presenting teh demos to teh scrum master and teh material design manager for amendments before final presentation to teh wider group.
- Debugging issues as they arose from teh QA team, resolving teh problems, and upon approval creating teh build for publishing.
- Refactoring several Kotlin codes written in classic Java style to much simpler Lambda expressions thus generating lighter apk.
- Introducing Kotlin extension functions to efficiently re-use existing codes theirby reducing code duplication to its bare minimum.
- Preparing loading views and service down screens as data is not persistent like in Live Data Technology.
- Collaborating with teh chief architect, test teams offshore, and my team members in Android to accomplish assigned tasks.
- Applied SOAP web services, NDK, and micro services to create full E2E feature.
- Designing my UI with constraint layout and also with conformation with teh apps theme.
- Recommending dat pre-effective members be dedicated a screen, and then designing teh screen.
- Recommending dat alarm reminders be implemented with prescriptions so dat users are automatically notified, and then designing and implementing teh recommended function.
- Recommending dat full screen confirmation activity screens be replaced with pop-up dialogs for memory efficiency.
- Applying my hands-on technical work to teh technologies Kotlin, Async Callback, Junit, Mockito, MVC Architecture, and Glide.
Confidential, Seattle, WA
Senior Android Developer
- Refactored views to utilize constraint layout to make teh UI more responsive to different screen sizes and resolutions
- Converted teh data model, API communication service layer and view UI layer to Kotlin programming language and JetPack library
- Implemented data classes to replace Java Pojo classes
- Used teh Data Binding Library to support two-way data binding to receive data changes to a property and listen to user updates to dat property at teh same time
- Created custom and compound views and replaced Relative Layouts with Constraint Layout to follow Material Design to show Breaking News and live video alerts data returned after parsing
- Worked with external client to in corporate FreeWheel SDK and Nielsen proprietary measurement SDK for monetization features. Also imported teh assets correctly through Invisio and Zeppelin web platforms
- Debugged and fixed access to Bluetooth settings, network connectivity, Wi-Fi Multicast reception, and connect and disconnect from Wi-F.
- Improved live video playback performance and fixed some display issues with teh widget within teh application
- Pair-programed to use Urban Airship SDK to in corporate messaging and content delivery tools, including Push Notifications, Rich Media Messaging, In-App Purchase and Subscriptions
- Streamed favorite Confidential and MSNBC shows using ExoPlayer MediaPlayer API for adaptive playback, media composition and caching
- Coded using ReactiveX programming to compose asynchronous and event-based programs, avoided intricate stateful programs, using clean input/output functions over observable streams
- Wrote test cases using JUnit /Mockito testing frameworks for model and ViewModel layer
- Collaborated in refactoring architecture from MVP to MVVM.
- Implemented LiveData lifecycle observable to communication layer between View and ViewModel
Confidential, Brookhaven, GA
Senior Android Developer
- Used ReactiveX API for reactive programming with operators to transform, combine, manipulate, and work with teh sequences of items emitted by Observables with Schedulers
- Changed app architecture from MVC to new lifecycle aware Architecture Components of LiveData, ViewModel and Room
- Created a widget on home screen to show teh latest rain alert for current or chosen location
- Built Location Services in teh app to get teh current location, get periodic location updates, look up addresses, create and monitor geo-fences, and detect user activities
- Maintained Hybrid code with Java base code for Legacy implementation and KTX Android Plugin for new feature implementation
- Added Google In-app purchasing and Amazon In-App purchasing library to buy Premium services for HD maps and unlock rich features
- Configured Google Cloud Messaging to send push notifications to user about live severe weather alerts with storm and rain with real time precipitation updates
- Implemented Dagger Dependency Injection library to improve stability in teh code and facilitate legacy code interaction with new layers
- Created custom and compound views to display high-quality data in a graph
- Pair-programed to work in Real time HD map and NOAA forecast features using ReLinker, XML Serialization, sag-android, and Google Guava external libraries
- Coded PermissionUtils permission to access user location to provide personalized local weather data, alerts, and forecasts
- Independently worked on parsing XML data returned by Rain API, Wind Speed API and Local Temperature API
- Provided continuous improvement through creative solutions to glitches in synchronization, asynchronous APIs, and leveraging offline features
- Created unit test classes and instrumented test classes to enforce a code coverage of 85% in teh code
Confidential, Memphis, TN
Lead Android Developer
- Implemented Google Maps API for package tracking
- Consumed proprietary Web Service to retrieve delivery vehicle coordinates for real-time display on user device
- Integrated location-based services using Google Maps, Google Places, and Google Directions APIs to display locations of teh drivers
- Took part in full Software Development Lifecycle of multiple applications from concept to production
- Offered several design elements dat added value to teh application and increased teh UX
- Interacted closely with both teh Product and teh Design teams.
- Interacted with RESTful API and data formats (JSON)
- Implemented teh Firebase Push Notification service to provide users with up-to-date information
- Used Glide to manage teh image library with more efficient image overhead
- Tested and recommended third-party frameworks to implement app functionality
- Involved in test planning and test design for teh application after each sprint
- Involved in testing and testing design for teh application after each sprint
- Layout of user interface maintained efficiently through Fragments
- Lead Android development, maintained builds, and private repository using Git
- Lead requirements definition, design, and reviews
- Lead teh Android development team in daily scrums, documented tasks and facilitated bi-weekly sprint meetings in Agile environment
- Leveraged beautiful, clean interface using Android material designs tools like CardView, Toolbar, RecyclerView, animations properties and support libraries for this Android mobile app
- Managed teh build creation with a Jenkins instance hosted on a private server
- Managed teh JIRA backlog and assisted with debugging and profiling Android applications
- Managed teamwork and ensured superior performance by knowing when to let teh teamwork through a problem and when to help them
Confidential, San Francisco, CA
- Divided teh application into at least three different layers and took most of teh logic out from teh activities so dat we can test it without using instrumentation tests in MVP architecture
- Provided migration from RxJava1.0 to RxJava 2.0 using Flowable, Disposable, Schedulers, Bi-functions, operators, and other functions
- Configured MixPanel with Firebase API to send push notifications, record events and stored user profiles
- Used Retrofit2, okhttp library to refine service layer and display local hosts offering a place to stay and fun events data in material designed RecyclerView
- Independently worked and optimized on teh feature Easily create and manage a Confidential profile’
- Incorporated PhotoView imageView library to perform zooming, multi-touch, double-tap, and update UI based on teh current zoom/scroll position
- Performed instrumentation/UI testing, simulated any kind of user interaction, and assert wat happens after user interaction
- Improved Payment module to allow consumers to pay via credit card, debit using Stripe and Braintree SDK
- Pair programmed to implement 128-bit encryption to protect customer data in transit and on device using Java Cryptography Architecture and Android Crypto API
- Created paid version product flavor and build variants for paid customers to expose advance features
Confidential, Santa Monica, CA
- Refactored legacy codebase architected to teh project using MVP and widely applied code reusability using dependency injection libraries (Dagger2, Butterknife)
- Improved network communications on mobile platforms making synchronous and asynchronous web service calls using Picasso, Volley, multithreading mechanism, IntentServices, REST web-services and JSON Parsing
- Created multiple cache services to make teh app available in offline mode implementing GreenDAO databases with Content Providers
- Used Protocol Buffers for serializing structured data
- Built several Custom Binding Adapters to manage different attributes custom binding logics
- Refactored old designs with coordinator layout, toolbar, recycler view and material design principles
- Configured Samsung In-App purchasing to buy VIP status dat will allow you to view Confidential ad free
- Make code testable, modular and compose teh dependency graph at runtime using Dagger and Butterknife injection libraries
- Measured usage trends, uncovered issues, and analyzed behaviors using Crittercism
- Used ORMLite for persisting Java objects to SQL databases for offline mode features
- Worked with NineOldAndroids library to include animation rotations, translations, alpha variations, and scaling
- Used teh Dalvik Debug Monitor Server (DDMS) for debugging and testing
- Used fragment capabilities to handle multiport views and different screen size devices
- Used services, broadcast receivers and Eventbus to implement publisher/subscriber pattern
- Incorporated Crashlytics to deliver real-time, detailed crash report with Jenkins CI
- Integrated Robotium for Behavior Driven Development testing
- Solely optimized teh feature ‘Search current location or a specific address’
- Worked with external API developers to parse ‘View others’ ratings api’ and ‘reviews api’ using AsyncTask and display in customized ListView