Senior Android Developer
Over five years of experience working as a Senior Android Developer.
Android developer with experience in Agile SCRUM, Android Studio, Git, GitHub, Trello, Slack, Jira and Atlassian Stack.
Experienced in the implementation and use of Android Jetpack components such as Room, ViewModel and LiveData.
Experienced in Java, Kotlin and in refactoring and transitioning code bases as well as architectures from MVC to MVP to MVVM.
Experienced integrating RESTful APIs to provide external services to the application.
Encrypted environment configuration with sessions and user login using Encrypted Shared Preferences.
Leak Canary used to manage, trace and fix memory leaks issue within the Android app.
Expertise with ListView and adapters to load data onto lists at runtime.
Use of Localytics to find issues, get stats and improve performance.
Work with Loopers for asynchronous callbacks with the Loading Everywhere library.
Used Mixpanel and Flurry to generate customized events in the analytics retrieval.
Actively involved in designing and implementing Business Delegate, Data Access Object, Session Façade, Service Locator and Data Transfer Object design patterns.
Developed the app to adapt to different orientations (Landscape/Portrait) and various resolutions.
Implemented full life cycle of SDLC from Analysis, Design, Development, Deployment and Testing of Application.
Creating JSON serializable interface for description of data.
Used persistent data on the device to store information already loaded for future use.
Used navigation drawer to provide quick and easy access to the menu items.
Used NewRelic to optimize and improve the Android app performance.
Used Web Services and networking to parse Json online data from server.
Implemented Android widgets like list view, recycler view, buttons, text views, View Flipper etc.
Implemented location-based API using Location Manager and nearby function.
SQLite I MySQL I SQL Server I Oracle I Room I Firebase Realtime
Apache I Tomcat I JBoss I Glassfish
RESTful I SOAP I JSON I XML
Agile I Waterfall I RUP
Version Control Software
SVN I Git I Bitbucket I Visual Source Safe I SourceTree I GitHub I GitLab
Glide I Picaso I ExoPlayer I TextureVideoView
Animations I Custom Views I Compound Views I ConstraintLayout I BottomNavigationView I ViewPager I Layout Qualifiers I AnimationDrawable I RecycleView
Continuous Integration Tools
Jenkins I CircleCI I Travis
JasperReports I CrystalReports
Eclipse I Android Studio I NetBeans I Dreamweaver I Microsoft Visual Studio
Incident Report Tracking
Jira I InstaBug I Firebase Crashlytics
Espresso I Mockito I Junit I MonkeyRunner
IntentService I AsyncTask I WorkManager I ThreadPoolExecutor I WorkManager I RxJava I Kotlin Coroutines I Handler I Looper
Firebase Cloud Messaging I Airship
Universal Image Downloader I Picasso I Glide I Volley I ORMLite I GreenDAO I Sugar I SQLCipher I Robolectric I JUnit I SQLite I Room Database I iText I iTester I Firebug I Bolts I Flurry I Localytics I Crashlytics I ShowcaseView I NineOldAndroids I Urban Airship I ViewPagerIndicator I Android System Bar Tint library I SecurePreferences I SlidingUpPanel I Crittercism I comScore I Facebook I LiveRail LeakCanary I GSON I Moshi I Jackson I Retrofit I OkHttp I SimpleContentProvider I Schematic I GCM I Google Location I Google Maps API I Dagger I Mobile Development I RSA I AES I Retrofit I RxJava
Mar 2020 - Present
Senior Android Developer
Lowes Home Improvement
Built application using MVVM architectural patterns.
Utilized Android design patterns like Builder, Service Locator, Facade.
Created application on Android Studio using Kotlin programming language.
Worked in full Software Development Lifecycle (SDLC) including Planning, Analysis, Design, Implementation, Testing/Integration, and Maintenance.
Worked with Activities, Fragments, Custom Views, Extension library, and 3rd party libraries.
Implemented Retrofit and RxJava to implement in application RESTful API calls.
Used Jenkins for continuous integration (C/I).
Implemented unit tests with the help of JUnit, Robolectric, and Mockito.
Implemented automated UI tests by utilizing Espresso.
Worked closely with designers for implementing UI components and translating designs into implementations.
Implemented Glide for image loading and auto caching of images for offline display.
Implemented UI components using material design to deliver a rich and high-quality UI to the user.
Implemented analytics using Firebase analytics framework to track user behavior in app.
Used Firebase App Distribution for getting applications to testers and team.
Created custom UI components for consistent UX across companies' internal Android applications and for reusability making the development process faster and smoother.
Created custom libraries for internal network calls for security purposes.
Used recycler views & populated lists to display the lists from database using recycler view adapters as the most efficient method.
Used Bitbucket as the version control tool to commit and update the project from the server.
Jan 2019 – Mar 2020
Senior Android Developer
NBC Universal Media
New York, NY
Began transitioning the mobile app from MVC to MVVM architectural patterns.
Worked in Android Studio working with both Java and Kotlin programming languages.
Refactored arrays and refactored some modules from Java to Kotlin.
Implemented Room and LiveData (Android Jetpack) to improve maintainability.
Developed the app to adapt to different orientations and various resolutions (Ldpi/Mdpi/Hdpi) based on the device, using Fragments and width-aware layouts.
Implemented spinners while loading data.
Worked with Activities, Fragments, Custom Views, Services, Volley, Support library, and 3rd party libraries.
Improved requirements on required specifications using Volley and use of different software design patterns.
Implemented Otto library for decoupling different parts of the application.
Mentored Jr Developers in coding and design best practices.
Used Jenkins CI Continuous Integration for testing on multiple devices.
Developed a customizable interface with multiple layouts and several compound views and custom views.
Implemented Jetpack component for data binding along with Dagger 2 dependency injection.
Used Firebase real-time database for persisting content, and Room to store user logon info.
Used Firebase Cloud Store for repository of reusable content and content services.
Worked with Glide and Picasso for image management and ExoPlayer for audio-video playback function.
Added Flurry for user behavior tracking and quality control over crashes.
Espresso managed automated testing with additional quality with Charles Proxy and Leak Canary.
Feb 2018 – Jan 2019
Android Application Engineer
San Francisco, CA
Upgraded the new app based on new Android Versions.
Development of new features based on requirements and information gathered in meetings with stakeholders about needs and feedback.
Used JIRA for tracking of stories, epics and tasks, as well as managing the backlog and tracking issues and bug fixes.
Participated in and helped facilitate and document Agile Sprint Planning sessions.
Worked closely with UI/UX designers in design sessions, and then implemented new designs per specifications.
Designed new custom views as part of the whole new look and feel.
Consumed RESTful web services to communicate with back-end sources, working with Retrofit, and custom framework that translated JSON objects.
Provided QA support for testing teams to ensure continuous improvement.
Created custom libraries to facilitate new frameworks.
Followed architecture plans and layout diagrams to implement new interface look and feel which afforded improved user experience, functionality and performance.
Suggested and implemented Improvements to the testing processes, combining Unit Testing with Junit with Automated Testing using Espresso and Robotium.
I was able to optimize the development process to make the best use of our tight deadlines by speeding up execution through procedures.
The new technology in the market will be deployed based on this new framework.
Implemented methods for linking and unlinking credit cards.
Implemented analytics using Firebase analytics framework.
Upgraded app UI views from ListViews to RecyclerViews.
Used Leak Canary to search for memory leaks.
The Android app was developed using Android Studio IDE and implemented on an MVP architecture. I was tasked with transitioning specific modules from MVP to MVVM.
Jan 2017 – Feb 2018
Contributed value to cross-functional engineering teams (back-end development, front-end development, UI/UX designers, QA, Product Management, etc.).
Led a team of four developers and one graphic designer.
Used Jenkins Continuous Integration server and worked in a Test-Driven Development cycle.
Conducted frequent code review activities with the members of the development team.
Facilitated requirement gathering sessions and wrote the high-level and detail design for the Android application.
Private Git server was used as code repository and I managed commits and worked with Gradle on build process.
Managed the authorization with the backend services using certificate pinning.
Created a successful proof of concept (POC) with a secure SSL layer to authenticate users and refresh login tokens.
Configured the continuous integration process with a Jenkins instance hosted on a private server.
Constructed prototypes of the User Interface integrating the latest Material Design guidelines.
Contributed to full software development lifecycle (SDLC) from product definition through design, development, test, release, and maintenance.
Documented the Android project details, functionality and quality testing.
Coordinated with the testing team during the testing phase to resolve issues of Android app performance and user experience (UX).
Created small testing suites with JUnit and the Android Studio IDE capabilities.
Developed the app natively in Android Studio.
Documented the progress of the daily stand-ups with the Atlassian stack (JIRA, Confluence, HipChat).
Enhanced the UI/UX with well-designed UI/UX and custom views and compound views. Also, collaborated with designers on the Android look and feel.
Established communication with back-end server to consume Restful API using core Android classes.
Implemented the use of handlers and threads on several tasks which improved the application performance.
Oct 2015 – Dec 2016
Android Mobile Developer
Mentored two junior developers on the software development process.
Developed the app in Android studio on an MVP architectural patterns with various design patterns.
Work in an Agile development environment with peer engineers on a daily basis to scope, develop and deliver a software experience that realizes the product strategy.
Implemented the cipher method for the storage of sensitive data such as passwords within the Android application.
Genuine interest and drive to better your craft and the craft of those I've led.
Created a user-friendly reconfigurable interface for using custom themes.
Designated programming tasks to the team members, making sure that all developers were familiar with the main modules.
Integrated Robotium for test driven development.
The app consumed the RESTful Web Services using a Volley client which was transitioned to Retrofit with RxJava for improved performance and multithreading capabilities.
Used the View Pager Indicator to provide feedback to the user about the background processing status.
Implemented layouts using the latest RecyclerView and CardView combinations to improve the User Interface.
Implemented Picasso to download the image from web services and used animation and transitions from activities.
Worked with Broadcast Receivers to receive system notification which was later used to send out reminders.
Added Broadcast Receiver logic to listen for events that can trigger a local database update.
Composed the program using Java with Eclipse and the Android Development Tool.
Jan 2015 – Oct 2015
Mobile App Developer
National Car Rental
St. Louis, MO
National Car Rental
Implemented Dagger to work with a Dependency Injection environment to help with the unit testing.
Android development team worked in Android Studio, using various Android tools such as jUnit to compose Unit Tests.
Used Parcelable to serialize Java objects from Activity to Activity.
Replaced Scriptaculous with UI jQuery libraries to improve maintainability.
Used AsyncTasks hosted in Fragments to handle the network information lookup.
Implemented the multithreading communication using the built-in Android frameworks like AsyncTasks and Handlers.
The Android team followed an Agile Scrum mythology with daily scrum and bi-weekly sprints.
I participated in backlog management and wrote user stories in Jira, tracked issues and pulled issues from Jira to fix.
Used Test-Driven Development and Continuous Integration.
Dagger 2 was the library for dependency injection in this Android app.
Analyzed, tested, debugged and resolved complex issues affecting conferencing, connectivity and communications.
Used Android Debug Bridge (ADB) and Leaf Canary to performance profile the Android app.
Closely worked with testing team and used developer testing tools like Robolectric.
Contributed to full lifecycle development process from product definition through design, development, test, release and maintenance.
Performed Testing (Junit) of the new version to solve common debugging problems.
Involved in working with Location Manager and Restful Web service with JSON.
Added Push Notification through backend support to get users specials and discounts on the device.
Efficiently used Activity, Intents, Fragments, Services, Broadcast Receivers, notifications, Content Providers and Media Players for building the app.
Embedded local storage solutions such as SQLite.
Purdue University – BSc Computer Science
Fort Wayne, IN