Post Job Free

Resume

Sign in

Daniel Kottenstette - Android Developer

Location:
Santa Clara, CA
Salary:
90$ Hour
Posted:
November 25, 2020

Contact this candidate

Resume:

Daniel Kottenstette

Sr. Android Developer

650-***-****

addwm8@r.postjobfree.com

ABOUT ME

6+ years’ experience in developing complex Android applications for Fortune 500 clients

Experience in strategically contributing to organizational/function goals

Experience with Agile methodologies/SCRUM

Experience with third-party libraries and APIs and integration, leveraging OOP principles and integrating SOLID principles for high-quality code

Strong working knowledge of the general mobile landscape, architectures, trends, and emerging technologies

Driven to innovate and explore solutions to implement business requirements into technical requirements

Strong understanding of MVP, MVVM pattern and clean Architecture

Experience with Native UI building and knowledge of the component life cycles

Ability to work with newer technologies while showing drive and adaptability

Experienced with TDD and implemented test automation and unit testing

SKILLS

Kotlin, Java, Java Spring/Java J2EE, Jasmine, Espresso, Mockito, JetPack, Powermock, Google Assistance API, Reactive Programming, OAUTH2, GIT, Jira, Trello, Bitbucket, Github, Jenkins, MVVM, MVP, Content Provider, Gradle, Google Maps, Espresso, JUnit, Unit Testing, Mockito, PowerMock, DaggerMock Eclipse, Android Studio, SQLite, AsyncTask, Material Design, RecyclerView, Firebase, Google Analytics, Push Notifications, Firebase Real time database, Firebase Crashlytics, TDD, Agile, Design Patterns, RESTful Web Service, Bluetooth BLE, TDD, Kanbaan, RESTful web services, Microsoft Azure, AWS Cloud, Amazon Alexa

PROJECT EXPERIENCE

Sr. Android Developer

Telenav / Santa Clara, CA

June 2019 – Present

ARP is a navigation app made for embedded Android systems in GM, Ford, and Toyota vehicles with more brands to be added. Media Kit is a cloud service that aggregates multiple music providers like Napster, Apple Music, and Spotify and returns universal models of the music data.

Implemented Firebase into an existing android application with Kotlin, as well as another remote config service called Launch Darkly

Collaborated with back end engineers to implement different Restful APIs for the Rich Data POI and Parkopedia services

Added in support to pay from your car for parking in advance through the Parkopedia service and library

Administered JIRA tasks and set-up sprints for ARP

Operated as a scrum master and project manager for ARP for three months

Used intents and broadcasters to enable cross app communication between ARP and another app VIVID

Implemented SOLID principles for the entire ARP codebase that helped the refactor and made ARP more maintainable in two weeks for a 100k+ lines of code to sift through and make better

Helped with the demo of VIVID with ARP to Rivian and impressed the CEO so much that he wanted to use our products when Rivian launches there first cars and trucks

Implemented over 100 Restful APIs in the Cloud for Media Kit

Two-week sprints in an Agile environment with Retrospective week between sprints cycle

Team size varied between the projects, ARP had a team size of anywhere from 5 to 15 people, Media Kit has a team size of 3

Created templates for UI resources and made them very easy to implement within the ARP android code more easily instead where it was all previously hard coded in

Maintained multiple similar projects with a single codebase and made sure neither affected the other through separating the unique parts of the code through flavors and having the common business logic exist for both flavors to share from

Created UI templates through XML in Android Studio

Made a script to automatically deploy a JAR file to the Telenav Cloud server

Help kickstarted a brand-new cloud/Java Spring/J2EE project and meticulously maintain and add features very rapidly

Implemented Alexa Auto 1.4, 2.0, and 2.1 Libraries into ARP

Implemented a TTS engine called readspeaker into ARP

Implemented 3 modes for ARP to draw map data from Onboard, Hybrid, and Pure Streaming

Aggregated artist data from Napster, Spotify, and Apple Music through their public APIs

Provided a detailed weekly report of what was done by me and the team, and helped plan and groom future sprints

Senior Android Developer and App Architect

Nike Run Club / Beaverton, OR

April 2018 – June 2019

NRC has the tools you need to run better, including GPS run tracking; audio guided runs; weekly, monthly, and custom distance challenges; customized coaching plans for your goals; and nonstop motivation from your friends.

Link: https://play.google.com/store/apps/details?id=com.nike.plusgps

Incorporated Baidu Geolocation API to improve GPS access to get the users position

Hold daily calls with clients to include Segment SDK to collect customer data and send it to Firebase for analytics, marketing automation, and raw data access

Performed phased Java to Kotlin migration, resolve conflicts, refactored code with extension function, delegate properties, sealed classes, null safety check and data classes

Worked on domain and data layer to remove Volley library implementation to RxKotlin, coroutines and executors

Performed unit testing, enable mocking of static methods, constructors, final classes and methods, private methods, removal of static initializers using Mockito2 and Powermock

Removed Dagger implementation with Koin dependency injection for simply declare modules, dependencies, scopes and subcomponents

Connected with Nike Bluetooth device using BLE SDK and develop algorithm to receive pace, distance, GPS route, heart rate, and mile splits data into a custom view on device

Restructured the product flavours using MVP architecture

Implemented Checkout implementation of Android In-App Billing API (v3+) to load all the purchases using continuationToken or SKU details

Worked with Google Fit SDK to connect app and devices to Google Fit with the Recording API and access the user's fitness history with the History API

Conduct code reviews using crucible tool and mentor offshore junior developers in Agile, Scrum

Collaborated with our product owner to deliver apps and continue to optimise performance post-release

Sr. Android Native App Developer

Hinge / New York, NY

February 2017 – March 2018

Hinge is the dating app for people who want to get off dating apps. And it is working. Currently, 3 out of 4 first dates lead to second dates.

Link: https://play.google.com/store/apps/details?id=co.hinge.app

Replaced IntentServices, AlarmManager implementation with WorkManager API to perform background processing of request

Created new chat features and refactor code using MVVM Data binding to make presentation layer and the logic loosely coupled

Included Google In-App billing feature for auto renew subscription at least 24-hours before the end of the current period and buy digital content

Used App Links Assistant in Android Studio to add Android App Links and configure Firebase Invites

Separated logical components of app project into discrete modulesApp bundles and customize feature delivery by using App Bundles

Performed API request using Retrofit, RxJava, okhtpp and cache responses in Room local database for offline usage

Integrated Kochava SDK to track all post-install activities from location events to purchases, and syndicate data to Mixpanel

Performed AES 256 encryption of API request and store user details in keystore

Improved login feature of the app using OAuth library for token-based authentication and authorization

Upgraded Google in-app purchases API and GooglePay API to buy digital access to NYT Crossword and NYT Cooking for $24.99/month

Used Espresso for the automated UI testing recyclerview interactions and Mockito was used with Retrofit for mocking the API call (Mockserver)

Work on two separate and very different codebases at the same time keeping multiple stakeholders in the loop on any issues

Used Atlassian Bamboo as Continuous integration system to track released versions with all of fixes de-tailed in a changelog and code backup

Mid-Level Android Programmer

Zappos.com/ Las Vegas, NV

March 2016 – January 2017

Zappos makes shopping easier! Shop all the top brands and latest trends of shoes, clothing, accessories & more.

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

Share your favorite styles and trends on social media

Find the perfect fit! On-trend women's, men's, and kid's styles from the latest & best, clothing & footwear brands.

Improved app performance, check memory leaks, OOM exceptions and perform static code analysis

Perform bug fixes relating to filters getting reset and address issues relating to Android 4.4 crash

Migrated from Paypal sdk to Braintree sdk and include card.io for credit card scanning

Implemented Certificate pinning using Okhttp and use Apache HTTP client to initialize the obtained bks keystore for SSL connections

Improved UI using Recyclerview, toolbar, cardview, animation and themes

Improved Android Keystore program to store cryptographic keys in a container and protect key material from unauthorised use

Improved search UI to find what you are looking for and coded ‘Add to bag’ and ‘checkout’ user interface

Programmed codehaus jackson XML converter with retrofit configuration in service layer

Adopt RxLifecycle, RxBinding to bind the network calls to the Android lifecycle and automatically complete sequences based on a second lifecycle stream

Migrated SQLIte database to Realm database to store items locally, user- profile information and preference settings

Followed documentation to integrate Facebook and Twitter for app-sharing, indexing and authentication

Helped define and maintain visual guidelines and ensure consistency throughout the app

Android Developer

Trader Interactive / Norfolk, VA

January 2015 – February 2016

CycleTrader is your best source for all your motorcycle needs. Search, save, or share more than 100,000 new and used detailed motorcycle listings, sold by dealers and private sellers nationwide.

Link: https://play.google.com/store/apps/details?id=com.DWS.cycletrader

Used Moshi custom adapter to customize how values are converted to and from JSON

Resolve intra-library dependencies and replaced the standard System.loadLibrary call using ReLinker library

Find accounts on the device and read Google service configuration

Upgraded Google Maps sdk implementation to display motorcycle dealer’s custom marker near user location with insurance quotes and estimate payments data

Developed algorithms and code feature to search, save, or share 100,000 new and used detailed motorcycle listings

Designed for multiple screens sizes and densities using fragments, width-qualifiers and nine-patch image drawables

Executed unit test strategies on all supported platforms to help improve overall quality and tested code coverage using Espresso

Refactored unorganised spaghetti codebase into MVC architecture following SOLID principles

Scheduled all network requests such as fetching responses for image from web and backend

Used GreenDAO with SQLCipher and secure shared preferences to persist data securely inside the application

Upgraded Samsung’s and Amazon’s In-App Purchasing API payment service to provide a checkout process for the sell virtual items, services and subscriptions

Collaborated with the product management team to clarify designs and requirements

Android Mobile App Developer

Epic Systems Corporation / Verona, WI

April 2014 – December 2014

MyChart gives you access to your lab results, appointment information, current medications, immunization history, and more on your mobile device.

Link: https://play.google.com/store/apps/details?id=epic.mychart.android

Communicated with backend server using HTTP classes and AsyncTask to get data and display family's health information

Refined the application using latest classes, Fragments, Receivers, Widgets, notifications and industry standard UI libraries

Used the support libraries to bring backwards compatibility using fragments and actionbar to previous Android versions

Integrated Google Analytics for efficient tracking of user events within the application

Upgraded Smooth ProgressBar custom view to support Android lollipop version (5.0)

Used MVP, Facade, Singleton, and View holder patterns in the code to improve logic

Used Apache Commons Codec to produce Base64 encode/decode mechanism for web service communication

Pair programmed to call native C/C++ Code using NDK

Added ACRA library to automatically post-crash reports to a GoogleDoc form

Improved the hardware controls in the app to take pictures and videos, change audio settings and record audio

Integrated Google Calendar API to manage appointments

Worked closely with QA, from definition of new features up to the final release

EDUCATION

Iowa State University Ames, IA

Bachelor of Science: Mathematics



Contact this candidate