Post Job Free

Resume

Sign in

Senior Android Developer

Location:
Somerset, NJ
Posted:
December 06, 2022

Contact this candidate

Resume:

/

Tomas Pantoja

SENIOR ANDROID

MOBILE APP DEVELOPER

PHONE: 732-***-****

EMAIL: adr3cw@r.postjobfree.com

Summary

13+ years developing Android mobile apps.

19+ years’ combined experience in Software/IT and Android.

8 Published Apps.

Multiple apps produced for internal corporate use.

Skilled Kotlin and Java programmer.

Ability to debug, diagnose performance bottlenecks and fix complex issues in Android.

Ability to manage competing priorities in a complex environment and maintain high productivity.

Ability to research, consult and guide decisions on architecture and technical strategy.

Ability to set tasks and complete work independently without direction, or work as part of a team.

Ability to work effectively as a member of either on-site or remote teams.

Able to effectively gather information from shareholders and managers, prepare a plan, allocate tasks and provide progress reports.

Able to employ web technologies, such as JavaScript, HTML 5, AJAX, JSON, and XML.

Able to guide decisions on architecture and technical strategy.

Able to optimize the technical architecture and technical debt of the Android app.

Conducted business and technical Knowledge Transfer sessions for new recruits.

Configured and initialized multiple cloud integration services including Parse, Firebase and Google Cloud Messaging on Android apps.

Considerable experience debugging and profiling Android applications.

Experience with multiple MBaaS (Mobile Backend as a Service) and cloud integration tools like Parse, Firebase, Google Cloud Services, and Amazon Web Services.

Experience with network programming and consuming third party APIs, guiding the integration into dozens of APIs successfully with highly performant/critical integrations.

Experienced in MVC, MVP, MVVM as well as Singleton, Command, Facade, Proxy and Observer design patterns.

Experienced in MVC, MVP, MVVM as well as Singleton, Command, Facade, Proxy and Observer design patterns when working in Android development.

Technology Skills

Languages

Android SDK I Java I Kotlin I J2EE I JSP I HTML I CSS3 I JavaScript I PHP I XML I C# I .Net

Libraries

Kotlin/Native Libraries I 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

Methodologies

Agile I Waterfall I RUP

Databases

SQLite I MySQL I SQL Server I Oracle I Room I Firebase Realtime

Web Services

RESTful I SOAP I JSON I XML

Version Control Software

SVN I Git I Bitbucket I Visual Source Safe I SourceTree I GitHub I GitLab

Android UI

Animations I Custom Views I Compound Views I ConstraintLayout I BottomNavigationView I ViewPager I Layout Qualifiers I AnimationDrawable I RecycleView

Multimedia

Glide I Picaso I ExoPlayer I TextureVideoView

Continuous Integration Tools

Jenkins I CircleCI I Travis

IDEs

Eclipse I Android Studio I NetBeans I Dreamweaver I Microsoft Visual Studio

Incident Report Tracking

Jira I InstaBug I Firebase Crashlytics

Testing Frameworks

Espresso I Mockito I Junit I MonkeyRunner

Multithreading

IntentService I AsyncTask I WorkManager I ThreadPoolExecutor I WorkManager I RxJava I Kotlin Coroutines I Handler I Looper

Notifications

Firebase Cloud Messaging I Airship

Business Intelligence

JasperReports I CrystalReports

Work Experience

Wayfair, Remote

Lead Android Developer February 2022 – Present

https://play.google.com/store/apps/details?id=com.wayfair.wayfair&hl=en&gl=US

App Description:

With the Wayfair app, you’ve got all things home, right at your fingertips. It’s your on-the-go furniture store so you can get home office essentials with a single swipe, plan your home renovation when inspiration strikes, and create a registry that travels with you – all in one app. Download, shop, and save with the largest selection of furniture and decor for every style and budget.

Technologies: Firebase, Jira, Slack, Google meets, Google Scene form API, Scene view API, VIPER architecture, MVI architecture, Kotlin State Flow, Kotlin Shared Flow, Coroutines, Graph QL, Kotlin, RX Java, Charles Proxy, Scribe, Android SDK. Java and XML

Served as Lead Android Developer of a team that consisted of myself and a junior-level Android Developer.

Improved an Augmented Reality feature of the app (It’s a tool for clients to have an idea of how a furniture or item would look in their space. The 3D models represent the actual size of the item. This is an example: https://www.youtube.com/watch?v=UudV1VdFtuQ.

Migrated Android Views to Homebase UI Components.

Completed migration of VIPER architecture to MVI architecture.

Performed debugging using Postman and Charles Proxy.

Fixing bugs, analyzing and designing use cases

Reviewing the code and mentoring a junior developer

Reviewed Kotlin codebase and made modifications to various functions.

Programmed new functions in Kotlin.

Provided technical mentoring to junior-level Android developer.

Implemented Kotlin coroutines and flow.

Migrating from Google Scene form to Kotlin Scene View, Google AR Core and Filament.

Utilized Room, Shared Preferences, and Firebase for Data persistence.

Tested applications and tasks using Junit, Mockito, and Espresso.

Writing Reactive Code with RX Java and debugging with Charles Proxy

Used Jira platform to track productivity and tasks provided to accomplish the project.

Used Slack and Google Meets for effective communication.

Integrated with Google 3D Scene form API and Scene view API.

Creating UI design for a form and developing it in VIPER.

Creating button click tracking Scribe Android SDK.

Implemented Kotlin State Flow and Kotlin Shared Flow.

Applied elements of Kotlin Flow such as coroutines.

Programmed queries using GraphQL.

Fiserv/ GalaxyE, Somerset, NJ

Senior Android Developer July 2021 – Feb 2022

https://play.google.com/store/apps/details?id=com.fiserv.touchbankingasp&hl=en_CA&gl=US

App Description: It’s a bank platform where the clients of small banks and credit unions can see their statements; can make electronic bill payments, remittance solutions and prepaid service, among others features. Not yet live.

Working in a pod strategy team split in 5 pods (0 to 4) I did work in pod 3 handling refactoring of Mobiliti app.

Refactoring code from Hybrid implementation to Kotlin code with Android Jetpack components.

Closely collaborating with UI/UX designers to create customable views for a white label solution.

Implementing MVVM + Clean Architecture from previous MVC Hybrid approach.

Following TDD methodology to enforce an 85% of code coverage and reduce minimum regression test from QA cycles.

Implementing design patterns has Builder, Factory and Façade to facilitate library consumption for external teams.

Participating and collaborating in planning and milestones across the entire project lifecycle.

Utilizing multithreading solutions Job Schedulers, Work Manager, Coroutines and Kotlin Flow.

Collaborating as point of contact from Pod 4 offshore team and coordinating tasks and facilitating communication with business requirements.

Engaging in Sprint retrospectives and collaboration planning meetings with managers.

Utilizing Ktlint to ensure code pushed by developers is free of unnecessary code and follows formatting guidelines.

Worked on Starva Bluetooth BLE SDK to design module to pair with Bluetooth devices and transmit large bytes of attributes.

Working with Activities, Fragments, Custom Views, and 3rd-party libraries.

Debugging code base with tools like Splunk dashboards and Firebase Crash.

Implementing user login and registration feature using SharedPrefs and Okta for the backend authentication.

Utilizing third-party tools like Retrofit, Kotlin DSL, Moshi, Dagger 2.

Contributing with Dagger Sub Modules implementation, creating Modules, Binding and Assisted Injections.

Layout user interface maintained efficiently through Fragments.

Maintaining high unit test coverage and continuous integration principles.

Designing custom animations for transitions between application activities.

Chevron Mobility, San Ramon, CA

Senior Android Developer June 2020 – July 2021

https://play.google.com/store/apps/details?id=com.stuzo.chevron&hl=en_CA&gl=US

App Description:

Use your smartphone and the Chevron app to pay for fuel from the comfort of your driver’s seat for a fast and simple experience at the pump!

Contributed to Agile project management and product development approach by participating and contributing to Sprint Planning Meetings, Sprint Grooming Meetings, Code Grooming Meetings, Spec Defining Meetings, etc.).

Worked on the application from scratch using JetPack components and Android KTX.

Migrated code to Kotlin language with coroutines, sealed classes, null safety checks on Techron Advantage Card feature to check balance and make payments.

Converted the data model, API communication service layer, and view UI layer to Kotlin programming language and JetPack library.

Used RxKotlin in conjunction with RxAndroid, RxBinding libraries to make app multithreaded and perform asynchronous operations.

Included PdfViewer SDK to view in-app receipts for Mobile Payments.

Added ability to mock final classes/methods using Mockito and strived for 85% unit test code coverage.

Added WorkManager to the project to periodically sync application data with a server and send logs and analytics to backend services.

Pair-programmed with the Dev-Ops team to enhance the deployment process for several environments using Bamboo and Jenkins.

Wrote technical API documentation.

Implemented Data Classes, Sealed Classes, and Singleton Objects.

Enabled modular app development and worked on Chevron SDK with functional reactive programming using Map, Flattop, Zip, Concat operators.

Implemented LiveData to notify views of any database changes, managing activity and fragment lifecycles.

Used Koin for Dependency Injection and Data Binding with Observables for easy binding integration.

Pair-programmed to link PayPal account and Techron Advantage Card to user account using RxKotlin and Retrofit.

Added a custom account to the user's device to authenticate back-end services using OAuth 2.0.

Improved location-based features including geo-coding, geo-fencing for station locator features to find a Chevron or Texaco station.

Mentored junior developers about code issues, programming techniques, architectures, communications protocols, project methodologies, etc.

Ensured good standards and best practices are in place for all code released with code reviews.

Analyzed requirements and development strategies for the development of the Web and the Android product.

Hewlett Packard, San Diego, CA

Senior Android Mobile App Developer June 2018 – June 2020

Multiple internal apps for telepresence and voice interaction used to create a single device able to be called into and moved around while seeing through multiple cameras. The Android tablet acted as the “head” of the device.

Successfully implemented 4 different mobile apps from scratch that work together to provide an environment for the purposes of telepresence and voice driven interaction with the device. Worked as the “Village Owner”, akin to scrum master, of the UX & Pilots village to direct the team with user facing features on android and web.

The 4 apps were separated into:

“Video” - using Webrtc to communicate with web and other Android devices.

“Voice” - speech recognition, and perform actions based on user input without requiring touch,

“Remote Control” - used to communicate with a robot using ROS through USB to be able to move during telepresence

“Home” - a custom launcher to function as a rest screen and hub.

Technical contributions:

Worked with different Android teams distributed around the world in Brazil, Vancouver, San Diego and India.

Performed work in alignment with an Agile project methodology utilizing Scrums and Sprints.

Developed Android apps using Oreo and Android Studio.

Created a development environment for UX and hardware to test new ways to interact with the device.

Led a small team of developers as a “village owner” in charge of user-facing features on web and Android.

Programmed app in both Java and Kotlin using Android Studio.

Worked in a hybrid codebase with both Java and Kotlin coding while transitioning to Kotlin.

Implemented communication with Web and Android apps using video calling with WebRTC.

Used USB to send commands to an underlying robot using ROS to tell it to move and get statistics back of its movement and battery status.

Sent telemetry data to elastic endpoint on Amazon with information about the Webrtc sessions.

Implemented Dagger 2 for dependency injection.

Used speech recognition technologies Pocket Sphinx, Google Speech-to-Text, and Snow boy to get voice commands and wake word recognition to be able to use the tablet without touch input.

Recommended the team move towards MVVM and Live Data as a more stable architecture, which helped fix a lot of bugs related to MVP conditions.

Implemented Inter-Process Communication amongst the 4 different apps that were developed.

Maintained a fast Agile development process with continuous integration using Jenkins.

Automated testing using Unit Tests to maintain code quality and find bugs before committing.

Used Leak Canary to better optimize and solve memory leaks.

Implemented Sentry to quickly get crash reports from users and fix them in a timely manner.

Debugged and optimized the applications for better performance and reliability.

Used Jira for documentation and progress tracking of new features.

Used GitHub Enterprise to store our code following Git Flow pattern of branches.

Managed background and foreground services with exposed AIDL interfaces to send data between apps.

Implemented an always online service that was ready to receive calls at any time.

Worked on Starva Bluetooth BLE SDK to design module to pair with Bluetooth devices and transmit large bytes of attributes.

Maintained bi-weekly presentations at the end of the sprint with progress report on new features.

Worked with UX and Design team to continuously update the UI and UX of the app as new improvements were created.

Wrote new stories using Jira for new features to be implemented in sprints.

Prioritized Jira stories based on priority of requirements.

ADP, Roseland, NJ

Sr. Android Developer November 2016 to June 2018

https://play.google.com/store/apps/details?id=com.adpmobile.android

https://play.google.com/store/apps/details?id=com.adp.run.mobile

App Descriptions:

ADP Mobile Solutions provides you with an easy and convenient way to access payroll, time & attendance, benefits, and other vital HR information for you and your team.

RUN Mobile Payroll is your essential smartphone companion—designed to help SMALL BUSINESS OWNERS like you manage your business, while you’re on the go.

Worked in small and large Agile teams to design, prototype, and build our product offering and tools.

Participated in Scrums as part of Agile project methodology.

Added animations and transitions with out-of-the-box features and third-party libraries.

Improved search navigation Activity to find out station names.

Integrated Java Guava Libraries for string processing, concurrency libraries, and I/O functions.

Programmed code using cutting-edge techniques, tools, and utilities.

Improved layout rendering by saving and optimizing the view hierarchy in all the resources.

Served as owner of the central Git repository for our team.

Managed code review sessions to always have high quality (reusable, simple, documented) code.

Managed the build creation with a Jenkins instance hosted on a private server.

Created the database using SQLite local file and a Firebase implementation.

Used native and third-party technologies to optimize the app functionality, including Java, Parse, Volley, SQLite, Fragments, Picasso, Android Studio, JSON, SQL Cipher, Spongy Castle, Git, and Jenkins.

Used Implicit and Explicit Intents. Created custom views to present data as needed.

Used Shared preferences. Created small testing instances with Android Wear and Android Auto.

Generated the application with a Model View Presenter architectural design pattern to help with modularity and maintainability.

Executed test cases and fixed bugs. Performed automated testing using Robolectric.

Used the Parcelable interface to serialize the objects.

Eliminated the use of external libraries by consolidating the use of OKHTTP and GSON.

Implemented List View using the view Holder pattern to improve the performance.

Target, Minneapolis, MN

Android Mobile App Developer April 2014 – November 2016

https://play.google.com/store/apps/details?id=com.target.ui

About the App: With the Target App, you can view store availability, find aisle location, and view interactive maps to easily locate the items in your store, find mobile coupons and other trending price cuts. Choose to pick up in store, ship to your home or add to your shopping list, find pricing, ratings, reviews, and other product details.

Implemented material design features such as RecyclerViews and CardViews.

Developed Custom Views, Compound Views, and various layouts to construct the complex but user-friendly user interface.

Utilized SQLite database to store data with ORMLite for data model mapping.

Delivered a working application to the Google Play store.

Used Retrofit and GSON to retrieve information from an internally programmed API and make the conversion between the JSON and POJOs.

Configured manual and generated content providers using Schematic.

Managed the build creation with a Jenkins instance hosted a private server.

Utilized Android Studio as the IDE in development.

Communicated with teammates in different time zones effectively to ensure the production workflow was not interrupted.

Created Services, AsyncTasks to perform update information check to avoid freezing the user interface.

Implemented New Relic to record custom metrics and networking.

Added HelpShift to allow users to easily search FAQs from their phones and send a note automatically attaching their device details.

Participated in the data modeling upgrade on the device side and the server side.

Generated documentation for detail design, including wire-framing using Just In Mind prototyping tool.

Included dependency injection with Dagger 2.

Utilized navigation drawer to provide quick and easy access to the menu items,

Utilized Google maps to provide directions to the appropriate Target store,

Consumed web services and parsed JSON files with GSON to fetch data which is used to populate the user interface.

Used AsyncTask to handle communication to the web services.

Supported 2 other languages: Spanish and German.

Utilized Agile methodology to fulfill rapidly changing client requirements.

Worked with the ZXing library for barcode reading.

Ensured backward compatibility by using Android support libraries.

Best Buy, Richfield, MN

Android Developer February 2011 – April 2014

https://play.google.com/store/apps/details?id=com.bestbuy.android

About the app:

Now the Best Buy app is more than just great hand-held shopping. It’s your fast, feel-good companion that can help you have more convenient and possibly even cooler Best Buy experiences, whether you’re at home, on your way to pick up, or shopping with us in-store.

Generated reachable daily goals and created a delegation task system that allowed developers focus on the development bearing.

Wrote unit tests for the functionality of the application.

Implemented user interface by using Custom Views, ListView, Relative Layout, Linear Layout, and Table Layout.

Applied fragments to minimize the activity count and simplify the navigation.

Provided input about architecture and technical strategy.

Performed extensive application testing with the Robolectric unit test framework.

Used Espresso and Mockito for testing the UI and App functionalities.

Communicated with RESTful web services to obtain insurance companies information using Retrofit, OkHTTP, and Jackson.

Used Retrofit and GSON to retrieve information from an internally programmed API and make the conversion between the JSON and POJOs.

Configured Post Get/Post/Header HTTP asynchronous requests to the backend API using Retrofit.

Organized collaboration between onsite and offshore developers.

Implemented Picasso to download the image from web services.

Architected and developed networking and secure applications for Android.

Implemented several design patterns such as MVC, Singleton, and Observer.

Collaborated with Software Engineers for the design and development of back-end services.

Designed and developed restful web services with J2EE technology over JBoss server.

Replaced the Google Maps API with Google Maps API V2.

US Bank, Denver, CO

Android Developer February 2009 to February 2011

https://play.google.com/store/apps/details?id=com.usbank.mobilebanking&hl=en_US

About the app: Complete everyday banking needs from almost anywhere. Such as sending and receiving money, depositing funds and more with the award-winning U.S. Bank Mobile App1.

Contributed value to cross-functional engineering teams (back-end development, front-end development, UI/UX designers, QA, Product Management, etc.).

Worked with 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.

Used a private Git server as code repository.

Utilized Gradle for 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.

Volkswagen, Herndon, Virginia

Senior Software Developer March 2003 - February 2009

Created website front end and templates using HTML and CSS.

Used PHP to connect to the MySQL database.

Documented integrations with internal and external services.

Contributed diligently to thorough code reviews to achieve high-quality code.

Worked with other development teams on platform integration strategies.

Worked with various groups to coordinate mobile application development, including Enterprise Architecture, Information Security, and the business.

Performed requirement gathering sessions to clarify and start up with the development process.

Created a new system to control the versions of a different process as a precursor of Subversion.

Tracking different types of events in the games to detect bugs and areas of opportunity.

Education

Bachelor’s Degree in Computer Science - Universidad de Puerto Rico en Bayamon



Contact this candidate