Senior Android Developer Resume
3.00/5 (Submit Your Rating)
OBJECTIVE:
- A highly dedicated and results - oriented professional with 7+ years of experience developing efficient mobile applications. I am an extremely logical thinker, with a passion for problem solving and a drive for quality. I am interested in developing new technologies and I am seeking a new contractor role as an Android Developer.
TECHNICAL SKILLS
- Kotlin
- Doze Mode
- JIRA
- RxJava
- JobScheduler
- Volley
- BrainTree
- SDK
- VideoView
- LeakCanary
- Android Studio
- GitHub
- OkHTTP
- Mixpanel
- NDK
- Circle-CI
- Firebase
- Services
- Hugo
- Loaders Multithreading
- Chromecast
- Urban Airship
- GSON
- Sketch
- Dagger2
- Bluetooth BLE
- MPAndroidChart
- Otto
- LeakCanary
- ExoPlayer
- IntentService
- IoT
- Eclipse Robotium
- Retrofit
- Crashlytics
- Analytics
- MVP
- Koin
- Espresso
- Jenkins
- Parceler
- Android P
- JetPack
- Material Dialogs
- Caligraphy
- JUnit
- Scrum
- JetPack
- Room
- Timber
- SpongyCastle
- Firebase
- GitLab
- Handlers
- LeakCanary
- MVVM
- EventBus
- AES/Cipher
- REST
- UrbanAirShip
- Mockito
- Dependency Injection
- GCM
- Espresso
PROFESSIONAL EXPERIENCE
SENIOR ANDROID DEVELOPER
Confidential
Responsibilities:
- Architect and code user story from scratch using new Architecture components using LiveData, ViewModel and Room database
- Took advantage of Android's jetpack's Navigation component to abstract much of the navigation logic away from fragments
- Work in multiple modules to ensure a separation of concerns between network, domain and presentational logic
- Adding new screens for adding cards to google wallet, handled click events and screen navigation
- Making UI based off of existing design.
- Handled accessibility issues such as making it keyboard accessible and screen reader accessible
- French translations for the text
- Used multiple project flavors - usbcDebug, blueLabel
- Lead onsite Android developer
- Made new Manage Cards Module from scratch
- Added new screens for lost, stolen, never received, damaged cards for user to choose
- Went to different screens based off user selection
- Integrated Manage Cards Module Into main application
- Worked with testers daily to fix small issues and generate new builds
SENIOR ANDROID DEVELOPER
Confidential
Responsibilities:
- Architect and code user story from scratch using new Architecture components using LiveData, ViewModel and Room database
- Create API request to generate the token request from client app and send encrypted user data with RSA/ESA asymmetric algorithm to backend
- Took advantage of Android's jetpack's Navigation component to abstract much of the navigation logic away from fragments
- Work in multiple modules to ensure a separation of concerns between network, domain and presentational logic
- Include new Security library, part of Android Jetpack to secure streaming read and write operations using
- Conduct Unit tests utilizing MockK, Junit and InstantTaskExecutorRule to test coroutines
- Introduce complex sealed classes to simplify a problem of receiving an array of varying responses from API
- Perform the network operation and raise the level of abstraction around threading for parsing external API to load list of users, payments check and login activities
- Implement fingerprint authentication in an intuitive and secure fashion as a supplementary login mechanism
- Perform integration for Braze SDK base analytics library and Braze SDK user interface library for in - app messages, push, and the news feed
- Migrate Dagger2 library to Koin dependency injection library for Kotlin
- Work in code review first environment in order to reduce bottlenecks often induced by pull request processes
- Optimize the performance of Layout hierarchies with ViewStub, mainly for those that contained views that were not used frequently
SENIOR ANDROID DEVELOPER
Confidential
Responsibilities:
- Orchestrate and implemented complex chain and lottie animation throughout the application
- Create a generic custom element class that can render improved shadows on elements when material design s card view wasn't enough
- Download and stream workouts video into Exoplayer media UI using Jobschedulers and DownlaodManager
- Implement reusable accessibility extensions to ensure correct screen reader focus order in varying scenarios, such as with dynamic positioning of content on material design s bottom sheet
- Create a custom reusable snapping recycler view and adapter to meet acceptance criteria to ensure carousels snap at X amount of items
- Work with Google Fit API to upload fitness data to a central repository and authorization scopes to request user permission to work with fitness data
- Optimize app to use Sensors API to provide access to raw sensor data streams from sensors available on the Android device
- Use History API to provide access to the fitness history and perform bulk operations, like inserting, deleting, and reading fitness data
- Integrate MyFitnessPal SDK to allow apps access the functionality of MyFitnessPal and track users diets and exercise
- Create and load privacy policy and T&C external content into webviews
- Replace GCM with Urban Airship SDK to include Push Notifications, App - Invites and In-App Purchase
NATIVE ANDROID DEVELOPER
Confidential
Responsibilities:
- Code new modules with an MVP approach, setting up all the interfaces and the decoupling of the classes for newer usecases and mock API testing
- Include Matisse SDK to enable selection of images including JPEG, PNG, GIF and videos including MPEG, MP4 and define custom filter rules
- Support functionality to deploy code behind feature flags, Remote configuration, experiment with A/B tests, and roll out or roll back features immediately using Optimizely sdk
- Integrate PayPal SDK to receive a one - time payment from customer's PayPal account or payment card (scanned with card.io)
- Use gRPC library to support bi-directional streaming and fully integrate pluggable authentication with HTTP/2-based transport
- Independently work on the specific paid product flavor which can change or update order anytime
- Create a chain of nested gson custom deserializers to manage a tempermental api returning values of more than a single type
- 1Involve with addressing internal and external issues raised as well as general bug bashing
- Implement Constraint Layouts to improve the layout performance and increase the UI layouts readability
- Remove retrofit callbacks with asynchronous RxJava to send a Get, Post, Update http request to backend to display 1000 top brands of pet food and supplies in custom ListView
- Collaborate with the backend team to integrate the AWS framework to increase reliability and responsiveness of real-time transit tracking information
ANDROID DEVELOPER
Confidential
Responsibilities:
- Work existing Clean code architecture in MVP and create shopping module, add to basket module and customer profile module
- Work closely with UI/UX team for doing Material Design and apply custom animations on views, assign proper spacing for iconography
- Create multiple services for connecting with company backend to retrieve user account details, billing, and payment
- Implement Google Play Billing system and configure BillingClient and override on ConsumeResponse in the MVVM design pattern
- Include DaggerMock testing library to test Dagger components in Unit test cases in TDD manner for presentation layer
- Program modules, components, scopes to inject view models and network objects using Dagger Creational pattern
- Replace volley library with RxJava, retrofit library to make asychrous API calls to get user - profile and monthly stats data in custom view
- Add custom deep links that the user will be sent to if the app is already installed and leverage the power of Google Services, to send invites to friends
- Enable Google Pay to process payments from users, integrate Payment data cryptography for merchants and use sample tokens to test integration.
- Perform AIDL define the programming interface that both the client and service agree upon in order to communicate with each other using interprocess communication (IPC)