Senior Android Developer Resume
ChicagO
TECHNICAL SKILLS
IDE: Android Studio/IntelliJ, Eclipse, PyCharm
Languages: Java, Kotlin, CSS, HTML, Python, Verilog, C
Databases: SQLite, MySQL, Room, Firebase DB, Realm
Architectural Patterns: MVVM, MVP, MVC
Development: Continuous Integration/Deployment, Jenkins, Docker, Circle - CI, TDD, JIRA, Confluence, Git bash, GitHub, SVN, BitBucket, AWS - CloudFormation
Web Services: REST, SOAP, XML, JSON, GSON, Moshi, Retrofit, Volley
Threading: RxJava, Coroutines, Loopers, Loaders, AsyncTask, Intent Service
Testing: JUnit, Mockito, Espresso, Robolectric, Selenium/Cucumber
Android Development: RxAndroid, RxCache, AndroidKTX, OkHTTP, Dependency Injection, EventBus, Handlers, Dagger, NDK, Material Design, Jetpack, Slices, Sketch, MPAndroidChart, AndroidAnnotations, ExoPlayer, VideoView, MonkeyRunner, JobScheduler, LeakCanary, Bluetooth BLE, Nougat, Otto, Timber, SyncAdapters, IcePick, Braintree SDK, ReLinker, Glide, SpongyCastle, Google Cloud Messaging, Caligraphy, Stripe SDK, AndroidPhotoFilter, Push Notification, Chromecast, Spork, Parse, Parceler, Crashlytics, Cipher Flurry, Mixpanel, Urban Airship
PROFESSIONAL EXPERIENCE
SENIOR ANDROID DEVELOPER
Confidential, Chicago
Responsibilities:
- Teh person in charge of weekly builds, where me trigger Jenkins build post teh Tag merge where Core modules are merged wif US repo and resolve any conflict before raising PR. Responsible for Leading my Team onshore/offshore from story to production per release.
- Then create tags and release notes to pass off to External QA team for testing
- Look after teh build for both iOS and Android. Making sure testflight upload is successful as well as google play for BETA.
- We took teh project for US market from previous vendor, leading my team from taking ownership of teh task, and made sure KT was successful.
- Made several confluence process docs. From own learning of process flow as well during KT from past vendor
- Used Jira for ticket, make sure dashboard everyone is assigned work and backlog defect tickets are single digits.
- We use a consul (configuration repo) for json config of local changes which is bundle in project repo. Also teh project repo does configuration to during feature localization. me is in charge and take teh vital role
- Authority to merge PR for both consul (configuration repo) and project repo. me has teh most amount of PR raised. Also do a lot of PR reviews for team.
- Adobe for push notifications.
- Go to guy for Any Android related issue. Help other Senior Android developers
- Do json file configuration every release to take core feature and enable to US market as per BTA and PMO requirements
- Lead stand-up calls, take status of team members, attend client calls
- Used MParticles tools for event handling
- Used New relics for crash reporting and user journey of checking api calls to come up wif issues reported by customers.
- In charge of PhraseApp: Involved in creating several keys and values including SPA for Us team
- Look after Jenkins pipeline for QA, BETA and DEV jobs.
- Use Charles Proxy to trace api calls
- Admin for App center, give other access. Upload AAB file to google console
- Involved in many ticket triages and passing off to right core component team
- Do functional, crash analytical (GDAS) tickets
- Involved in crash reporting
SENIOR ANDROID DEVELOPER
Confidential - New York, NY
Responsibilities:
- Large Agile team including API developers, designers, iOS developers and testers
- Worked on existing large codebase in MVVM architecture wif data-binding implementation
- Migrated Spanish version of teh 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 teh back-end server and apply map, flatmap, buffer, merge, reduce and zip functional operators to JSON data
- Used Espresso for teh automated UI testing RecyclerView interactions and Mockito was used wif Retrofit for mocking teh API call (Mockserver)
- Upgraded Google in-app purchases API and GooglePay API to buy digital access to NYT Crossword and NYT Cooking for $24.99/month
- Performed static code analysis and code review (Collaborator)
- Gotten ‘Best sellers lists at teh top of teh Books section’ acceptance criteria
- Replaced old Videoview MediaPlayer API wif ExoPlayer SDK to watch exclusive NYT stories and videos
- Redesigned navigation for swiping quickly across sections
- Fixed a tedious issue where some users were unable to see images render
- Improved Android Keystore program to store cryptographic keys in a container and protect key material from unauthorized use
- Replaced MixPanel implementation wif Firebase push notification services to send breaking news alerts
ANDROID ARCHITECT
Confidential - Los Angeles, CA
Responsibilities:
- Mid-size team, worked closely wif teh back-end and designers
- Communicated wif web-servers using Retrofit/okhttp libraries to display wide range of brands and products in custom RecyclerView
- Refactored teh architecture from MVP to new Architectural Lifecycle aware components using LiveData, ViewModel and Room database
- Managed OOM (Object-Oriented modelling) 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
- Utilized Facebook Stetho, Debug tools, Job schedulers, Services and Android Profiler to identify issues and enhance teh performance
- Made app compatible to Android O by improving teh background processing limits, notification channels, battery consumption and memory
- Improved teh search UI which finds out what you are looking for and coded “Add to bag” and “checkout” user interfaces
- 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 teh news feed
- Used Google Protocol buffers library to perform XML serialization of data
- Worked on teh free/paid Subscription product flavors of teh app to expose different user-stories
SENIOR ANDROID DEVELOPER
Confidential, Houston, TX
Responsibilities:
- Mid-size team, Daily scrum, agile environment and working closely wif iOS team
- Attended teh SCRUM meeting to keep track of teh current sprint
- Worked wif a Model View Presenter architectural design pattern, singleton, factory, facade, builder pattern to help wif teh modularity and maintainability
- Updated OpenStreetMap modular tile provider system to support online and offline tile sources, overlay support wif 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 wif MixPanel external client SDK
- Replaced old UI wif 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 wif retrofit configuration in service layer to get flight list and details
- Refactored legacy code to accommodate all new changes in data download and synchronization strategies to Reactive code - RxJava
- Used MobileAppTracking library for attribution analytics to measure teh value of advertising partners
- Incorporated device specific content-providers and build own custom content providers based on client requirements
- Wrote unit test cases for ’Nearby flights’ and ‘real-time flight status’ presenters using Mockito library wif method interactions and spy objects
- Used Apache Commons Codec to produce Base64 encode/decode mechanism for web service communication
ANDROID DEVELOPER
Confidential, Los Angeles, CA
Responsibilities:
- Worked wifin a Mid-sizde team
- Worked on teh 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 me/O functions
- Coded teh network layer using Volley networking library to display venue and access bottle menus in customized listview wif sticky headers
- Improved map view styles and search in any area feature
- Wrote functional integration testing using Robolectric in TDD manner
- Performed code analysis, optimization 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 teh app
- Simplified communication between Activities, Fragments, Threads and Services wif subscriber-publisher pattern using event bus library
- Included localization features for French and Italian versions of teh 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 wif BDD approach
- Implemented New Relic to record custom metrics and networking
- Refactored unorganized spaghetti codebase into MVC architecture following SOLID principals
- Improved search by keyword, ingredients options UI, data-parsing in coordination wif other iOS developer
- Downloaded cooking videos using DownloadManager and saved it on internal phone memory
- Incorporated Facebook SDK to share cooking triumphs wif friends
- Posted Cook’s profile data to backend using RestFul web-services using AsyncTaskLoaders
- Pair programmed to call native C/C++ Code using NDK
- Worked closely wif teh external designer team to import teh assets correctly through Zeplin web platform
- Used Android web view for loading html pages and working around cookie manager
- Added ACRA library to automatically post-crash reports to a GoogleDoc form
- Fixed critical and major bugs reported by testers on JIRA in 2 weeks sprint cycle
- Used BitBucket for source control management and continuous integration wif Travis CI