Android Lead Resume
3.00/5 (Submit Your Rating)
New York, NY
TECHNICAL SKILLS:
- RxAndroid
- Kotlin
- JIRA
- RxJava
- JobScheduler
- Volley
- BrainTree SDK
- VideoView
- LeakCanary
- Android Studio
- GitHub
- OkHTTP
- Git
- Mixpanel
- NDK
- Circle - CI
- Flurry
- Spork
- ReLinker
- Loaders
- Push Notifications
- Stripe
- GSON
- Sketch
- Dagger2
- Chromecast
- MPAndroidChart
- LeakCanary
- ExoPlayer
- IntentServices
- Glide
- Eclipse
- Robotium
- Retrofit
- Crashlytics
- Google Analytics
- MVP
- AndroidAnnotations
- Bluetooth BLE
- Jenkins
- Slices
- Nougat
- AndroidPhotoFilters
- Material Dialogs
- Caligraphy
- JUnit
- Timber
- Material Design
- ORMLite
- IcePick
- SpongyCastle
- Firebase
- GitLab
- Handlers
- LeakCanary
- MVVM
- EventBus
- Cipher
- JetPack
- Android KTX
- Mockito
- Dependency Injection
- Google Cloud Messaging
- Espresso
PROFESSIONAL EXPERIENCE:
Android Lead
Confidential - New York, NY
Responsibilities:
- Large Agile team including API developers, designers, iOS developers and testers
- Worked on existing large codebase in MVVM architecture with data-binding implementation
- Migrated Spanish version of the app to Kotlin using Anko, Android KTX, JetPack, coroutines, extension functions, delegate properties and null-safety checks
- Worked on RxJava2/ Retrofit to ping API calls to the back-end server and apply map, flatmap, buffer, merge, reduce and zip functional operators to JSON data
- Used Espresso for the automated UI testing recyclerview interactions and Mockito was used with Retrofit for mocking the API call(Mockserver)
- Upgraded Google in-app purchases API and GooglePay API to buy digital access to NYT Crossword and NYT Cooking
- Perform static code analysis and code review (Collaborator) got ‘Best sellers lists at the top of the Books section’ acceptance criteria
- Replaced old videoview MediaPlayer API with ExoPlayer sdk to watch exclusive NYT stories videos
- Redesigned navigation for swiping quickly across sections
- Fixed an issue where some users were not seeing images render
- Improved Android Keystore program to store cryptographic keys in a container and protect key material from unauthorised use
- Replaced MixPanel implementation with Google Firebase push notification services to send breaking news alerts
Android Architect
Confidential, Los Angeles, CA
Responsibilities:
- Mid-size team, working closely with the back-end and designers
- Communicated with web-server using Retrofit/okhttp libraries to display wide range of brands and products in custom recyclerview
- Refactored the architecture from MVP to new Architectural Lifecycle aware components using LiveData, Viewmodel and Room
- Managed OOM exceptions to improve performance using Crashlytics, Leakcanary, Android Device Monitor(DDMS), JIRA
- Upgraded existing local database from SQLite to Realm to store product list and details for offline access
- Utilised Facebook Stetho, Debug tools, Jobscheduler, Services and Android Profiler to identify issues and enhance the performance
- Made app compatible to Android O by improving the background processing limits, notification channels, battery consumption and memory
- Improved search UI to find what you are looking for and coded ‘Add to bag’ and ‘checkout’ user interface
- Added Braintree SDK and updated Stripe sdk to accept user payments at checkout for selected products
- Integrated Braze SDK base analytics library and user interface library for in-app messages, push, and the news feed
- Used Google Protocol buffers library to perform XML serialisation of data
- Work on the free/paid Subscription product flavors of the app to expose different user-stories
Senior Android Developer
Confidential, Houston, TX
Responsibilities:
- Mid-size team, Daily scrum, agile environment and working closely with iOS team
- Attended the SCRUM meeting to keep track of the current sprint
- Worked with a Model View Presenter architectural design pattern, singleton, factory, facade, builder pattern to help with the modularity and maintainability
- Updated OpenStreetMap modular tile provider system to support online and offline tile sources, overlay support with built-in overlays for plotting icons, tracking location, and drawing shapes
- Designed notifications UI and send real-time push notification for flight alerts and airport delays with MixPanel external client sdk
- Replaced old UI with NavigationView drawer, swipe tabs and material design features to build new master screen
- Used AChartEngine ChartFactory, GraphicalActivity and GraphicalView interfaces to plot flight paths
- Programmed codehaus jackson XML converter with retrofit configuration in service layer to get fight list and details
- Refactored legacy code to accommodate all new changes in data download and synchronisation strategies to Reactive code - RxJava
- Used MobileAppTracking library for attribution analytics to measure the value of advertising partners
- Incorporated device specific content-providers and build own custom content providers based on client requirements
- Write unit test cases for ’Nearby flights’ and ‘real-time flight status’ presenters using Mockito library with method interactions and spy objects
- Used Apache Commons Codec to produce Base64 encode/decode mechanism for web service communication
Native Android Developer
Confidential, Los Angeles, CA
Responsibilities:
- Mid-size team
- Work on the algorithm to compare and see bottle service pricing at different venues
- Integrated ImageViewTouch library to include zoom and pan capabilities on image view widget
- Included Google Guava library to perform caching, primitives support, concurrency, annotations, string processing and I/O functions
- Coded the network layer using Volley networking library to display venue and access bottle menus in customised listview with sticky headers
- Improved map view styles and search in any area feature
- Write functional integration testing using Robolectric in TDD manner
- Perform code analysis, optimisation and checked Android quality control using PMD, Findbugs, Checkstyle, Gradle and jaCoCo reports
- Incorporated HockeyApp SDK for alpha/beta testing, error reporting and user feedback for the app
- Simplified communication between Activities, Fragments, Threads and Services with subscriber-publisher pattern using event bus library
- Included localisation features for French and Italian versions of the application
- Used YouTube Android Player API to in corporate videos
- Applied Crashlytics to bug and app crash reporting
Android Developer
Confidential, Seattle, WA
Responsibilities:
- Small team with BDD appraoch
- Implemented New Relic to record custom metrics and networking
- Refactor unorganised spaghetti codebase into MVC architecture following SOLID principles
- Improved search by keyword, ingredients options UI, data-parsing in coordination with other iOS developer
- Downloaded cooking videos using DownloadManager and save it on internal phone memory
- Post Cook’s profile data to backend using RestFul web-services using AsyncTaskLoaders
- Pair program to call native C/C++ Code using NDK
- Worked closely with the external designer team to import the assets correctly through Zeplin web platform
- Used Android web view for loading html pages and working around cookie manager
- Fixed critical and major bugs reported by testers on JIRA in 2 weeks sprint cycle
- Used BitBucket for source control management and continuous integration with Travis CI