Summary
• * years’ experience in Android/Mobile Development.
• 4 enterprise mobile app published on the Google Play Store.
• 1 app developed for internal corporate use.
• Android experience with Java, Kotlin, and hybrid Kotlin - Java Android projects.
• Experience employing Object Oriented Architecture (OOP) architecture and design patterns (e.g., Singleton, Delegation, Model-View-Controller (MVC), Model–view–presenter (MVP), Model–view–view model (MVVM), Decorator, Proxy, Builder, Abstract Factory, etc.) to Android Mobile application developments.
• Skilled with Android SDK, debugging tools, memory management, and multithreading.
• Experience writing technical documents and designs relevant to the development process.
• Communicate effectively with stakeholders to manage expectations and gather business requirements and translate them into technical specification documents and solutions.
• Experience utilizing Test Driven Development (TDD) and Continuous Integration for test automation to ensure high quality and easy-to-deploy app updates.
• Proficient in Agile/SCRUM methodology and comfortable as a team member or team lead, and comfortable contributing to or leading story estimation, Sprint Planning meetings, Sprint Retrospectives, and Backlog grooming and Daily Stand-ups.
• Adept at transitioning code bases from Java to Kotlin or from one architectural pattern such as MVVM with JetPack Architecture Components.
• Detail-oriented Android developer and object-oriented programmer with experience in the entire software development lifecycle (SDLC). (Android mobile app requirements gathering – deployment).
• Experienced working with Android main components: Activity, Services, ContentProviders, and BroadcastReceivers.
• Adept at integrating various native Android SDK APIs such as LocationManager, Object Animator, FCM, BluetoothManager, SensorManager, etc.
• Comfortable with source control software programs (e.g., GIT, GitHub, GitLab, SourceTree, BitBucket, etc).
• Experience working with diverse Android development teams, both local and offshore.
• Experience adding accessibility to end user Android applications.
• Android development team mentor assisting in code reviews and follow-up Java/Kotlin coaching.
• Proactively perform extensive code and functional testing to ensure bug-free Android apps.
• Experience consuming backend RESTful web services with JSON and XML based responses.
• Experience troubleshooting issues including connectivity and integration issues.
• Highly knowledgeable about Play Store submission requirements and publishing process.
• Experienced with Android Layouts and using ConstraintLayout to build complex UI/UX.
• Skilled at integrating Android back-end services using RxJava, Retrofit, and Kotlin Coroutines.
• Adept at developing various unit tests using the JUnit, Mockito, and PowerMock frameworks to ensure clean and stable code.
• Experience implementing application data persistence using Room, SQLite, SharedPreferences, External and Internal storage.
• Experience developing Android apps for the phone and tablet platform using Android SDK and Android Studio development environment across a range of industries.
• Experienced Android developer working on Business to Consumer Mobile apps and producing attractive and highly functional, material-oriented Android user interfaces (UIs).
• Extensive experience consuming web service APIs using XML or JSON using Retrofit, OkHttp, and GSON.
• Communicate effectively with UI/UX designers, QA, and Software engineers alike.
Applied Technical Skills
Programming Kotlin, Java, C#, Python, JavaScript, HTML, CSS3, C++, TypeScript
Architecture MVVM, MVP, MVC, Builder, Factory, Façade, Proxy, Command, Singleton, Observer, Visitor, Interpreter
Integrated Development Environments (IDE) Android Studio, IntelliJ, Eclipse, Visual Studio, NetBeans
Agile Methodologies Agile Scrum, Pair Programming, Xtreme Programming
Android Development Sensor Manager, Location Manager, Bluetooth Low Energy, ProGuard, NineOldAndroid, Gradle, Gradle KTS
Database Management SQLite, Firebase Realtime Database, Room, MySQL, Oracle SQL, MongoDB
Version Control Git, GitHub, GitLab, BitBucket
Testing JUnit, Mockito, MockK, PowerMock, Espresso, Robolectric, MonkeyRunner, Robotium, Cypress.io,, JaCoCo, Cucumber
Reporting Play Console Reports, Firebase Crashlytics, Crystal Reports, InstaBug, Fabric
Dependency Injection Koin, Dagger2, IcePick, Dagger 1, ButterKnife
Threading RxJava, RxAndroid, Kotlin Coroutines, Intent Service, Handler, AsyncTask, Threads, Loopers and Loaders
Views Custom Views and ViewGroups, Android adapter views
Cloud API Google Maps API, Google Directions API, Activity Recognition API, Firebase Services, AWS S3
Web Services Volley, Retrofit, OkHttp, OkHttp Interceptors, JSON, XML, GsonConverterFactory, Postman, CharlesProxy, Axios
Multimedia MediaPlayer, Glide, Picasso, Universal Image Loader, Exoplayer, Youtube SDK
Software and OS Windows OS, Linux, Mac OS
Continuous Integration Jenkins, CircleCI, Travis, Hudson, Bitrise
Project Work Management and Collaboration Tools Jira, Confluence
Parsing Libraries GSON, Moshi, Jackson, SimpleXML
Miscellaneous Libraries EventBus, Stetho, Timber, Lottie Animations, ReactJS
Cloud Messaging Firebase Cloud Messaging, Google Cloud Messaging, MixPanel, UrbanAirship
Static Code Analyzers Lint, Ktlint, Detekt, FindBugs
Work History
January 2020 – Present
Senior Android Developer
Lowes, Charlotte, NC
In-House Application for use on Zebra devices.
• Attended and contributed to big room planning meetings with fellow developers on the project, which is aligned with an Agile development lifecyvle.
• Translated UI design requirements into native Android implementations.
• Developed application in Kotlin and Java, implementing new features in Kotlin and migrating older classes into Kotlin.
• Implemented several libraries for Kotlin effort such as RxKotlin, Kotlin-kapt, and Android KTX.
• Made use of Kotlin extension functions to optimize application experience.
• Made asynchronous API requests using Retrofit and RxJava to accomplish consumption effectively.
• Used GitHub and SourceTree for version control of the application in development.
• Performed code reviews on peers’ code to ensure high quality and maintainability.
• Worked in pair programming teams to ensure timely delivery of project requirements.
• Tested and fixed bugs using physical devices to ensure accuracy.
• Used Jira to track and locate current bugs.
• Wrote instrumentation tests and UI tests using Espresso.
• Integrated multiple third-party libraries such as Glide, Retrofit, RxJava and Dagger 2.
• Achieved and exceed on expectations remotely
• Developed application in MVVM architecture following best practices to achieve a scalable, testable, and maintainable project.
• Work in large codebase with MVVM data binding library to declaratively bind UI elements, notify views of any database changes and manage UI-related data in a lifecycle-conscious way.
• Used Jira to estimate and assign stories, triage bugs, identify issues with development and review process and provide solutions.
• Implemented LiveData to make an observable and lifecycle aware data structure in the application.
• Handled device configuration changes to persist data in the case of a device being rotated..
• Implemented Firebase to facilitate real-time parameter changes.
• Mentored onboarding developers on requirements and coding standards.
• Implemented custom animations on fragment transitions to enhance the overall user experience of the application.
November 2017 – December 2019
SENIOR ANDROID ENGINEER
NCAA, San Francisco, CA
https://play.google.com/store/apps/details?id=com.ncaa.mmlive.app&hl=en_US&gl=US
• Worked with an Android developpment team that followed an Agile/ Scrum methodology for software development project lifecycle reporting/updating.
• Closely worked with UI/UX designers to implement pixel-perfect mockups to multiple layouts in rebranding efforts.
• Refactored code base from Java environment to Kotlin KTX plug-in environment.
• Provided support on key products should there be an incident/problem related to a product that was live and required a development fix.
• Worked on implement accessibility requirements in order to make the application ADA compliant using Android Accessibility Service class.
• Created Kotlin test suite cases to enforce ADA compliance.
• Utilized voice commands to assist in navigating the user across the application and worked with Google Material Design to make the UI readable and accessible to users with disabilities
• Stored latest articles produced by top NCAA writer’s API request in Room Database for offline network functionality and replace the old SQLite database.
• Refactored hardcoded string query statements using DAO objects and compile check annotations.
• Created prove of concept with suspend functions in the DAO objects.
• Optimized API request for real-time scores and schedules by transforming one type of data to another, reducing, mapping or expanding streams using RxJava operators and performed concurrent HTTP requests using schedulers.
• Created prove of concept with suspend functions and updated Retrofit version to execute coroutines.
• Used CharlesProxy API to debug several endpoints from backend developers.
• Integrated Adobe Primetime SDK to improve quality and reliability across all functionalities, including VOD, live and linear TV for live video coverage of NCAA Selection Shows and Championships feature.
• Implement AndroidAccessibility service class to aid in navigation using voice commands for ADA compliance.
• Strived for 85%+ test coverage using Espresso and check using JaCoCo tool for ‘View regular-season rankings for all NCAA sports’ user-story.
• Refactored Relative Layout implementations with Constraint layouts and created Barriers to position elements correctly.
• Created several CustomViews to replace lifecycle components such as fragments.
• Streamlined class creation with the Kotlin delegation object creation.
• Worked on system-level framework functionality such as activity management, user profiles, storage, and optimizing system performance and battery usage.
• Created build flavors to consolidate development effort across multiple environments like QA and UAT.
• Wrote unit tests for presenters using method invocations, spy mocks, no interactions in MVP Architecture using Mockito.
• Incorporated Krux SDK to capture people data from all mobile platforms and perform backend data mining.
• Solely developed and coded presenters, model and UI layer for `View regular season rankings for all NCAA sports’ user-story in the MVP design pattern.
• Performed data modeling using Firebase real-time database, Firebase notifications and Firebase Crash Reporting.
• Collaborated in refactoring and migration from MVP design pattern to MVVM implementation.
• Implemented HandlerThread and Pool Threads to efficiently operate background and asynchronous operations.
• Used Espresso library tp perform automatic synchronization of test actions with the UI and ui-automator library for UI interactions that are not within app.
February 2016 – November 2017
ANDROID MOBILE APPLICATION DEVELOPER
MEITU, County of Newcastle, D
https://play.google.com/store/apps/details?id=com.mt.mtxx.mtxx&hl=en_US&gl=US
• Fixed critical hardware-related issues logged in JIRA with respect to network connections, Wi-Fi connections, full network access, Google Play billing service, record audio and control vibration.
• Integrated AppsFlyer and MoPub SDK to support viewability measurement and flexible Ad Network mediation.
• Fixed camera distortion issues when in AR Mode which affected some devices (i.e., Nexus 6).
• Worked on Camera2 API for image capture with different resolutions, PEG Image Capture, YUV Image Capture, Camera Change option and exposure properties.
• Used uCrop Android Image library to rotate, crop images for 4x6, 11x14 and 12x18 sizes and manage compression format (e.g. PNG, JPEG, WEBP), compression.
• Used Butterknife injection for non-Activity binding in adapters and fragments/activities.
• Refactored code with EventBus to simplify communication between Activities, Fragments, Threads and Services.
• Applied Android design patterns such as Façade, Decorator, Observer, and Singleton over an MVP architectural pattern coding in Java.
• Worked on JUnit testing framework for testing network modules and APIs.
• Included Google In-App Purchasing API to offer for purchase digital content and subscriptions.
• Incorporated online/offline sync mechanism to ensure seamless transition between connectivity states using ORMlite db.
November 2014 – February 2016
ANDROID ENGINEER
Amazon Prime Video, Seattle WA
https://play.google.com/store/apps/details?id=com.amazon.avod.thirdpartyclient
• Participated in planning, architecture, and design of the app.
• Created custom views and animations for visually appealing UI/UX.
• Created innovative solutions in media streaming and mobile user experience.
• Designed, developed, and documented application and framework code in Java.
• Used GSON converter to convert retrofit2 JSON responses to Java objects.
• Implemented several design patterns such as MVP for architecture and Singleton, Observer, Factory, Façade, Proxy, Builder.
• Used JIRA for new requirements, issues, bug tracking, and project planning.
• Constructed early prototypes of the User Interface integrating the latest Material Design guidelines.
• Developed several Compound Views and Custom Views.
• Extensive use of Fragments to enhance user interface experience.
• Implemented dependency injection in the app for object references with Dagger 2.
• Implemented Otto Library to facilitate communication amongst decoupled parts of the application.
• Experience with embedded local storage solutions such as SQLite.
• Implemented local file system for video download feature.
• Implemented different media players (ExoPlayer, MediaPlayer, VideoView, SurfaceView) for playing videos, and facilitating playing on different devices, screen sizes, and configuration changes.
• Implemented a structure to support different media sources by extending ExoPlayer.
• Consumed DASH, HLS, and Smooth Streaming using ExoPlayer extension libraries.
• Created compound and custom views to improve the user experience.
• Used Git repositories for a version control environment.
• Provided feedback and technical guidance to the development team.
• Developed a registration process with password recovery functionality.
• Created multiple Content Providers with a native approach to handling UI asynchronous updates.
• Made extensive use of heavy data workloads to show items in a RecyclerView.
• Used SQLite database schemafor persistent data storage for every schedule.
• Incorporated Facebook SDK and Twitter API for logging, posting and share experiences.
• Set up proper interactions of the front-end design and implementation with back-end servers.
• Created cloud connection with REST client calls, and parsed JSON response using GSON.
March 2012 – November 2014
ANDROID APP DEVELOPER
Duolingo, Pittsburgh, PA
https://play.google.com/store/apps/details?id=com.duolingo
• Generated a Material Design ready codebase, including views in the design support library: CardViews, RecyclerViews, Snackbars, CoordinatorLayouts, Floating Action Buttons, Custom toolbars, DrawerLayouts.
• Followed an Agile/Iterative development process on the Android team (XP, SCRUM, etc.).
• Generated reachable daily goals and created a delegation task system that allowed developers focus on the development bearing.
• Produced technical documentation such as App Architecture and RESTful API definitions.
• Generated custom behavior in multiple screens using custom controls.
• Generated downstream logic to communicate the servers with phones using Google Cloud Messaging (GCM).
• Applied a Model View Presenter (MVP) architectural design pattern to help with the modularity and maintainability.
• Guided team in implementation of Android design patterns (MVP, Builder, Singleton, Factory).
• Handled Fragment data retention to ensure data integrity in Android on-screen rotation with the onSaveInstanceState and onRestoreInstanceState methods.
• Use of the MediaPlayer and background Services to incorporate playback functionality.
• Efficiently used Activity, Intents, Fragments, Services, Broadcast Receivers, notifications, Content Providers and Media Players for building the app.
• Exchanged information between the application and the primary database using RESTful web services and AsyncTask or Services.
• Implemented RESTful data consumption using Retrofit with an OkHTTP client, a GSON converter, and a custom interceptor.
March 2009 – March 2012
SOFTWARE DEVELOPER
Blue Cross Blue Shield of Alabama – Birmingham, AL
• Developed custom J2EE and EJB for custom analytical platforms in the healthcare industry.
• Used Hibernate ORM tool as persistence Layer - using the database and configuration data to provide persistence services (and persistent objects) to the application.
• Implemented Oracle Advanced Queuing using JMS and message-driven beans.
• Responsible for developing DAO layer using Spring MVC and configuration XML's for Hibernate and to also manage CRUD operations (insert, update, and delete)
• Implemented Dependency injection of spring framework. Developed and implemented the DAO and service classes.
• Developed reusable services using BPEL to transfer data. Participated in Analysis, interface design and development of JSP.
• Configured log4j to enable/disable logging in the application.
• Wrote SPA (Single Page Web Applications) using RESTFUL web services plus Ajax and AngularJS.
• Developed rich user interface using HTML, JSP, AJAX, JSTL, JavaScript, jQuery and CSS.
• Implemented PL/SQL queries, Procedures to perform data base operations.
• Wrote UNIX Shell scripts and used UNIX environment to deploy the EAR and read the logs.
• Implemented Log4j for logging purpose in the application. Tracked new Change Requests, analyzed requirements and designed solutions accordingly.
• Modified existing Java APIs on Performance and Fault management modules.
• Took ownership implementing unit testing the APIs using Java, Easy Mock, and JUnit.
• Designed new database tables and modified existing database tables to incorporate new statics and alarms in MySQL database.
• Involved in Build Process to package and deploy the JARs in the production environment.
• Involved in Peer Code Review processes and Inspections. Implemented agile development methodology.
Education
Bachelor’s in Game Simulation - DeVry University