***********@*****.***
PROFESSIONAL SUMMARY
Experienced developer with 6 years’ experience
Experienced Business to Consumer mobile developer.
Implementation of RESTful data consumption using Retrofit with an OkHttp client, GSON and Jackson converters.
Experienced in quality code metrics and use of quality guidelines to produce high quality code that is sound, consistent and sustainable.
Experienced quality reviewer, coordinating code walk-throughs.
Experienced troubleshooter accustomed to leading design, development and implementation of complex systems.
Knowledgeable of Google Material Design guidelines in UI implementation including animations, navigation, widgets, icons and style for optimal user experience.
Experienced consuming REST and SOAP services to update application with new data.
Experienced integrating RESTful APIs to provide external services to the application.
Implementation of Android mobile apps using MVC, MVP, MVVM, and various design patterns such as Abstract Factory, Builder, Façade, Command, Observer, Visitor, Proxy, Singleton, etc.
Experience developing networking and secure applications for Android; working with video, static content, and advertising.
Analysis of complicated architectures and layouts and translating that analysis into efficient technical strategies and code
UI implementation following the latest Material Design guidelines, animations and UX optimization, Fragments, Layouts, Animations, Compound Views, Custom Views, ListView and RecyclerView.
Use of Automated Testing and Unit Testing: Robotium, Espresso, JUnit, Mockito and simulated design patterns to test and develop applications.
Experience With Git and Github a for version control along with Jenkins and BitRise for Continuous Integration, applied within Test-Driven Development (TDD) practices.
PROFESSIONAL SKILLS
Methods
Material Design, Agile/Scrum, Test Driven Development (TDD)
Issue Tracking
JIRA, Jenkins, Atlassian Suite
Design Patterns
MVC, MVP, MVVM, Singleton, Dependency Injection, Data Binding, View Holder, Builder, Adapter
Testing
Espresso, Robolectric, Mokito, Junit, Selenium & Appium
Web Services
JSON, REST, SOAP, XML, AJAX
Retrofit, Volley, RxJava, AsyncTask
Software
MS Office (Word, Excel, PowerPoint, Paint),
Build
Maven, Gradle
Dependency Injection
Dagger 1, Dagger 2, Butter Knife, RoboGuice, IcePick
Game Dev
Unity, Lumberyard, Blender, Photoshop, GIMP, Synfig, App GameKit, MIT App Inventor
Version Control
Git, SVN, GitHub, SourceTree, Tower, BitBucket
Programming Languages
Java, Kotlin, C++, C#, C, Java, Bash-shell, Linux, Php, JavaScript, AJAX, MySQLi, CSS, Node JS
IDEs
Android Studio, Eclipse, Visual Studio, Visual Studio Code, Netbeans, Notepad++
Change Management
Git/GitHub, SVN, Jenkins, Travis CI
Operating Systems
Android, Unix/Linux, Mac OS, Windows, IOS
API
Facebook, Twitter, Google Maps, RESTful, Volley, Picasso, Glide, YouTube, Retrofit, ButterKnife
Data Management
SQLite, Firebase, MongoDB
NFC (Near field communication)
JetPack
Room, VIewModels, LifeData, Download Manager
Data Binding
Android Data Binding
UI Creation
Custom android views classes and components, Android adapter views like Listview, Recyclerview, Gridview and Gallery, Customized List views, Gallery widgets
Android Libraries, Frameworks and APIs
Jersey Library, Open Source Libraries, Google Maps API, Google Places, RecyclerView Animator, Location Services, FloatingActionButton, Google Cloud Messaging, Schematic, Bluetooth Low Energy, NineOldAndroids, JobScheduler, Push Notifications, Google Play Services
PROFESSIONAL EXPERIENCE
LOWES March 2020-Present
Senior Android Developer Charlotte, NC
App to be published on September 2020
My greatest accomplishment is after setting up a meeting with the architect of the project I successful was able to introduce both the Navigation UI component and MVVM with a repository pattern focus to this project.
Worked in a pure Kotlin codebase for the duration of the project Followed Agile Scrum Methodology while at Lowes
The project team consisted of one Architect, and 2 android Developers, with me as the only Android Developer.
Scheduled Meetings between multiple parties including, The Architect of the project, our UX contact
Worked closely with Ux to create the desired screens
Worked with multiple screen densities to handle different screen resolutions
Setup Firebase’s Distribution Process
Added apk’s and testers to receive apk’s
Worked with Jenkins team to create build pipeline for Android
Troubleshooted and resolved Jenkins pipeline issues
Wrote test cases for different features Updated the kotlin’s JVM Target to handle more robust code
Presented the Navigation UI to the architect of the project
Presented MVVM with repository layer to architect, then eventually to other architects in the Lowes company as a way to update other apps in the Lowes repository
Presented Single Activity Multiple Fragment approach to architecture
Followed Google material design guidelines.
Worked with the Ux Designer to create a uniform design across all platforms
Automated testing with Espresso. Test with Cucumber and Gherkin
Mentored Teammate on Screen Densities and handling multiple screen resolutions
Mentored Teammate on Navigation UI component and its setup
Mentored Teammate on different programming solutions various programming challenges
Mentored teammate on converting px to dp for various screen resolutions
Worked with Rxjava
Worked with Dynamic feature modulization
Worked with network library implementation
Worked with a ui/components library implementation
Spoke in multiteam meetings about different approaches to Architecture and avoiding Monolithic Architecture designs
Setup branching structure for receiving app
Created a flexible design for the two screen sizes
Taught other new hires about Lowes architecture and on boarding process Taught new hires about how network library worked and how to get a response back
Worked with backend team to create necessary API’s to get proper data back to android app
When working with Lowes’ legacy code, worked with abstraction and open and closed classes
FIFTH AND THIRD BANK – MOBILE BANKING APP September 2019-February 2020
Senior Android Developer Cincinnati, OH
https://play.google.com/store/apps/details?id=com.clairmail.fth
Implemented code functionality to successfully render 4K images higher than the native capability of 1080p.
Used Android Studio 3.4 as the IDE for development of the Android mobile.
Followed the MVVM architectural pattern and used Java and Kotlin throughout the application.
Followed Agile Scrum Methodology while at Fifth Third Bank.
The project team consisted of product manager, agilist, web developer,s ervices Developer, QA, business analyst, UX designer, and iOS Developer, and me as the only Android Developer.
Implemented Vendor LivePerson’s Messaging Sdk for Fifth Third Bank.
Scheduled Meetings between multiple parties including, LivePerson, Fifth Third’s InfoSec team, and Firewall Team.
Worked with InfoSec to diagnose Networking issues.
Used Tools such as Wireshark, SoapUI to help with Network Debugging
Created Custom VM using adb shell.
Created and tested with Custom Proxy tool to diagnose emulator connection to Bank’s Services.
Interacted with the Jenkins build pipeline to create builds for the Perfecto Automation Testing Software.
Updated the Android App’s Version of Java and Kotlin to Version 8.
Implemented Badging for the Android App.
Implemented Push Notifications for LivePerson feature and integrated it into the App’s Alerts Engine.
Collaborated to ensure that Google’s material design guidelines were followed.
Worked with UX Designer to create a uniform design across all platforms.
Implemented Automated testing using the Espresso library.
Implemented a headless version of WebView to handle URL redirects.
Implemented OAuth 2.0 login and authentication functionality for the application’s internal SDK.
Presented to Authentication team main differences between OAuth2 in Android vs Mobile.
Used Retrofit 2 as our primary Web API wrapper
Used OkHTTP library to enable network Interceptors for network calls logging
Fifth Third’s legacy code changes were done in Java, all new features were written on Koltin.
Mentor developers on other teams on effective use of Kotlin coroutines.
GitHub as our distributed VCS and worked following a feature branch strategy.
Responsible for managing the feature branch for Messaging functionality of Android app.
CROWN MEDIA – HALMARK CHANNEL EVERYWHERE March 2018-August 2019
Senior Android Developer Studio City, CA
https://play.google.com/store/apps/details?id=com.hallmarkchannel.awe
Eliminated null point exceptions using Kotlin and worked on transitioning some Java arrays to Kotlin.
Enhanced the UI/UX with expertise of well-designed UX/UI and by adding custom views and compound views. Also collaborated with designers on the Android look and feel.
Programmatic coding in Java using Android Studio transitioning MVP to MVVM architecture.
Worked with Test-Driven Development (TDD) and Continuous Integration using Jenkins server.
Worked with Recycler views to display each card details and for fast transactions with Fragments.
Redesigned layouts using material design guidelines for better user experience.
Followed the design guidelines set by the product team and projected my views at times to better the UI
Implemented Custom Controls with the ExoPlayer library.
Implemented a structure to support different media sources by extending ExoPlayer.
Implemented two-way data binding to communicate user input to ViewModels which updated localized databases.
Extensive use of Fragments to enhance user interface experience, along with new interface features and personalization.
Created multiple Content Providers with a native approach to handling UI asynchronous updates.
Implemented messaging with Android Push Notifications and GCM (Google Cloud Messaging).
Designed screens related to Categories and Detail description for Tablet for both 7 inch and 10Inchdevices by customizing views as per mockup. Created Master-Detail Interface for tablet implementation.
Implemented data persistence using SQLite and ContentProvider.
Implemented JetPack ViewModel to simplify the implementation of the MVVM architectural pattern.
Used Retrofit and GSON to retrieve information from an internally programmed API and make the conversion between the JSON and POJOs.
Used Intents and Intent Filters to initiate activities and pass information between Activities and Fragments.
Implemented Mixpanel and Flurry for audience analytics.
SEAT GURO May 2017-February 2018
Android Developer Needham, MA
https://play.google.com/store/apps/details?id=com.seatguru
Worked with the mobile apps development team using Agile Scrum processes, with daily Scrums and two-week Sprints.
Used RESTful web services and replaced old third-party libraries with more modern libraries.
The team used Android Studio as the IDE and we coded in Java and applied myself to front-end and back-end development as well as assisting team mates with code reviews, material design guidelines and best practices.
Proposed a front-end architecture using the Model View View Model (MVVM) design pattern.
Implemented the best practices for Android mobile development with their main components: Activities, Services, Content Providers and Broadcast Receivers.
Used Butter Knife library with Dagger 2 for Android views dependency injection.
Improved the layout rendering by saving and optimizing the view hierarchy in all the resources.
Leveraged beautiful cleaner interface, plus design changes using Android material designs tools like CardView, Toolbar, RecyclerView, animations properties and support libraries for this Android mobile app.
Developed a lot of business logic according to technical assignment.
Also transitioned back-end RESTful services from Volley with AsyncTask to Retrofit with RxJava.
Used Retrofit and GSON to retrieve information from an internally programmed API and make the conversion between the JSON and POJOs.
Implemented Fragments to make the app usable on both Smart phone and tablets.
Used Intents & Intent Filters to initiate activities and pass information between Activities and Fragments.
Developed GridViews, Adapters, and Fragments to get a linear UI and easier to interact with the final layouts.
SEND PULSE April 2016-April 2017
Android Developer New York, NY
https://play.google.com/store/apps/details?id=com.sendpulse.sendpulse
Configured multiple analytic tools to get valuable information on a post-install state: Crashlytics, Mixpanel, Flurry, Answers.
Made a distinction between development and production versions of the app each with their distinct credentials and settings in the backend using Urban Airship.
Managed competing priorities in a complex environment and maintain high productivity.
Consumed Web Services using a Retrofit instance with a built-in GSON converter for this Android app.
Used the View Pager Indicator to provide feedback to the user about the background processing status.
Used the Android tool ecosystem for development, testing, debugging, and performance benchmarking.
Used GCM to allow the users to send notification to the users about their favorites subjects
Used Green Robot (event bus) to simplify communication between Activities and Fragments.
Made use of Activities, Fragments Animations, with Retrofit and RxJava for performance of app with back-end integration and threading.
Applied fragments to minimize the activity count and simplify the navigation on the Android app.
Improved the user experience by modifying the app navigation replacing activities for Fragments when possible and adding tabs and navigation drawer.
Used sync adapters to load changed data from server and to send modified data to server from app.
Improved the layout rendering by saving and optimizing the view hierarchy in all the resources.
Involved in development and enhancements of features to restrict the usage based on Authorization and Authentication tokens.
Implemented data persistence using SQLite for caching data in the app device.
Implemented Dagger 2 to work with a Dependency Injection environment to help with the unit testing.
Worked with Glide for image handling and manipulation.
FEDEX Office Print-it January 2015-March 2016
Android Developer Memphis, TN
https://play.google.com/store/apps/details?id=com.fxo.pol
Implemented binding services from activities and the use of communication with services using Java threading for background processes and sync adapters.
Obtained the requirements through the setting of interviews with the customer.
Added several animations and transitions without of the box features and third-party libraries.
Communicated with RESTful web services using Retrofit, OkHTTP and Jackson.
Implementation of various user interface components such as WebView, ListView, ImageView, TextView to display the data for the application.
Identification of issues during the test cycles.
Used the View Pager Indicator to provide feedback to the user about the background processing status.
Introduced the Google Maps API integration with the application.
Used Intents & Intent Filters to initiate activities and pass information between Activities and Fragments.
Implemented several Fragments for the UI.
Added Push Notifications through Backend support to get users specials and discounts on the device.
Worked with Robotium automated testing, unit testing with tests written in Junit and Mockito.
The Android development team used Test-Driven Development (TDD) and Continuous Integration (CI), Scrum methods, and followed best practices.
Worked in different phases of the project cycle like design, development and testing.
Worked with Custom Frameworks and Custom Templates for building this application.
Tested the application on multiple devices with different OS versions and screen sizes to ensure compatibility.
Used the Dalvik Debug Monitor Server (DDMS) for debugging and testing.
Assisted with debugging and profiling Android applications.
Contributed in production release deployment by certifying release features, monitoring production logs and fixing production issues on demand.
CAPITAL ONE MOBILE August 2014-December 2015
Junior Android Developer Richmond, VA
https://play.google.com/store/apps/details?id=com.konylabs.capitalone
Implemented IcePick when building references to track them in an easier way and avoid memory leaks.
Used Chart Boost library to help track issues and trends.
Used JustInMind prototyping tool for the first mock for the navigation approval.
Created custom animations and transitions to improve the user experience.
Integrated offline support offers you have on hand when you have no signal.
Managed the code base commits using continuous integration methodology with a private Jenkins server on which we could run emulators for testing.
Eclipse used for Android development IDE, and a private Git server for code base, version control and managing mergers and commits.
Used AsyncTasks hosted in Fragments to handle the network information lookup.
Used ProGuard to shrink, optimize, and obfuscate the code.
Used SharedPreferences to retain user UI preferences with local key-value pairs.
Implemented Push Notification through Google Cloud Messaging API.
Usage of core Android resources like Fragments, Styles, Themes, 9-Patch Images.
Utilized fragments, diverse layouts, animations, material design, Compound Views, and Custom Views to fulfill user interface requirements.
EDUCATION
Bachelor of Science in Computer Science
Quincy University
Quincy, Illinois
James Calvin, III
Android Developer