Sr. Android Developer Resume
Santa Clara, CA
SUMMARY:
7+ years of experience in developing, publishing and testing Android apps using Java and Kotlin
MY SKILLS:
- Kotlin
- Java
- Reactive Programming
- Agile
- Test Driven Development
- Management
- Mentor Juniors
- Decision Making
TECH SKILLS:
Programming Languages: Java, Kotlin, C#, T - SQL, XSLT, JavaScript, Scheme, C, Java, C++, Python, Korn Shell
Areas of Expertise: Graph Theory, File Format Design, Domain-Specific Languages, Artificial Intelligence, 2D Graphics, Parallel Computation, Automated Planning and Scheduling, Programming Language Theory, User Interface Design, Database Design
Miscellaneous: XML, XSD, Windows Forms, HTML, CSS, HTML DOM, Microsoft Silverlight, Node.js
Dev. Software: Microsoft Visual Studio, Microsoft SQL Server, XNA Game Studio, Racket Scheme
Other Libraries: JetPack, Android KTX, LiveData, ContentProviders, BroadcastReceivers, Services, MVP, Permissions, MVVM, LocationManager, NotificationManager, Clean Code, Widgets, UI, UX, Jenkins CI, TeamCity, CardView, CoordinatorLayout, ConstrainLayout, Executor, HandlerThread, Asynctask, Thread Pool, IntentService, Web Services, JobSchedulers, okhttp, RESTFul, SOAP, Jackson, Agile, Volley, Retrofit, HttpConnection, Picasso, OAuth, Dagger2, Dependency Injection, RxAndroid, Reactive Programming, Butterknife, Firebase, Scrum, Agile, Waterfall, XP, Jira, Trello, Confluence, Github, BitBucket, SVN, Realm, Room, SQLite, GitFlow, TDD, BDD, UIAutomator, Mockito, Espresso, Cucumber, Google Home API, Iot, Google Maps, PlayServices, Wearables, Bluetooth BLE, Beacons, MultiThreading, AIDL, Kotlin, PairProgramming, XP, Scrum
EXPERIENCE:
Sr. Android Developer
Confidential, Santa Clara, CA
Responsibilities:
- Worked on a cross - platform environment with several department across the organization
- Liaised as a point of contact for the Android deployment team
- Pair programmed with dev-ops team to enhance deployment process for several environment using Bamboo and Jenkins
- Created onboarding process documentation for new developers, so the setup environment for multiple projects was reduced
- Worked closely with UI/UX department to implement look and feel for several screens
- Created several Compound Views to reduce individual layouts.
- Created several Groovy files to handle Dev configuration, testers and release configuration reducing time and complexity for developers
- Identified bugs, missing features, and suboptimal behaviour of application and constructed detailed entries (issues) in JIRA that describe these problems and their causes
- Collaborated on several navigation features to implement business requirements for several vehicles deployment, including electric vehicles
- Created charts, UML and Flow charts to easily identify subroutines and process for non-technical members and to identify behavioural edge cases
- Assisted developers in other departments with setup of project on new systems, for the purpose of porting its features to similar applications belonging to Confidential
- Constructed UI debugging component to display (real or simulated) vehicle battery capacity, and to modify (simulated) vehicle battery capacity
- Worked on a MVP environment implementing Reactive design components and refactored callback with observable pattern
- Implemented Conductor Library across with Custom Controller Change Handler to create animation transitions between controllers also define pool of Routers to optimize an abstract RouterTransaction and easily pass data between controllers.
Lead Android Developer
Confidential, San Ramon, CA
Responsibilities:
- Work on application from scratch using JetPack components and Android KTX
- Migrate code to Kotlin language with coroutines, sealed classes, null safety check on Techron Advantage Card feature to check balance and make payments
- Include pdfviewer sdk to view in-app receipts for Mobile Payments
- Add ability to mock final classes/methods using Mockito 2.1.0. and strive for 85%unit test code coverage
- Add WorkManager to project to periodically sync application data with a server and send logs, analytics to backend services
- Enable modular app development and work on Confidential sdk with functional reactive programming using map, flattop, zip, concat operators
- Implement LiveData to notify views of any database changes, manage activity and fragment lifecycles
- Pair-program to link PayPal account and Techron Advantage Card to user account using RxKotlin and Retrofit
- Add a custom account to the user's device to authenticate back-end services using OAuth 2.0
- Independently work on the feature to sign up and create a user account for mobile payments
- Improve location based features including geocoding, geofencing for station locator feature, find a Confidential or Confidential station and view services offered
- Mentor juniors to explain code, pair program, explain approach to architecture and perform code reviews
- Ensure that good standards and best practices are in place for all code released with code reviews
- Analyse the requirements and develop strategies for the development of the Web and Android product
Senior Android Developer
Confidential, Chicago, Illinois
Responsibilities:
- Separate background tasks from activities/views/fragments to make them independent of most lifecycle-related events by implementing MV
- Implement SignPost library to sign HTTP messages and request tokens from an OAuth service provider to combine it with different HTTP messaging layers
- Upgrade to card.io SDK to accept credit card payments with the use of SSL pinning when transmitting sensitive information to protect against man-in-the-middle attacks
- Create promo code feature with backend communication using RXJava and Retrofit
- Configure Firebase services and enable notification channels to send push notifications relating to special savings alerts and deals
- Provide backwards-compatible notification API with Wear and Auto support
- Create flexible UI elements that can display app data outside the app and can be extended to Android 4.4 using Slice component
- Perform AES encryption of data received from server and protect local Room database with SQLCipher
- Reduced Dependency Carrying, replace dependencies and decouple the creation of the usage of an object using Dagger2 library
- Work with the Quality Assurance team to ensure that the software is fully unit tested, can be performance tested, and passes the companies quality requirements
- Include MessagePack binary serialization format library to exchange data among multiple languages
Full-Stack Developer
Confidential, New York, NY
Responsibilities:
- Schedule and manage large downloads in background with auto retry support using Download Manager API
- Work with remote developers based in London to develop wealth management tool algorithm and call C/C++ functions using NDK
- In corporate Splunk MINT SDK to collect crash, performance and usage data for app and send it to Cloud servers
- Liaise with clients to include Segment SDK to collect customer data and send it to servers for analytics and marketing automation
- Implement Lottie SDK library to parse Adobe After Effects animations exported as json and render them natively on mobile
- Authenticate users with fingerprint scans on supported devices using FingerPrintManager API in conjunction with the Android Keystore
- Manipulate UI events and API responses, create event streams, compose and transform streams with query-like operators using ReactiveX
- Replace ViewPager library with material design tabs
- Use the Data Binding Library to support two-way data binding to receive data changes to a property and listen to user updates
- Create custom and compound views to show client portfolio in a tabular format with graphical information
- Work with external client to in corporate FreeWheel sdk and Nielsen proprietary measurement sdk for monetization features
- Create asynchronous operations using multiple strategies: AsyncTask, Handlers, Intent Services, and Loaders for Android
- Integrate a third-party notifications service into the framework
Mobile App Developer
Confidential
Responsibilities:
- Deliver the new Android app with a significantly improved UX and design using the material design features; theme, toolbar, recycler view and animations
- Use Java CIFS Client Library to implement the CIFS/SMB networking protocol
- Pair program on InetSocketAddress class to explicitly bind and set the SO TIMEOUT on client sockets before they are connected
- Work on Wi-Fi APIs to communicate with the lower-level wireless stack for Wi-Fi network access.
- Troubleshoot app and fix critical bugs relating to network connections, Wi-Fi connections, full network access and Near Field Communication
- Provide continuous improvement through solutions to glitches in synchronisation, asynchronous APIs, and leveraging offline features
- Provide migration from RxJava1.0 to RxJava 2.0 using Flowable, Disposable, Schedulers, Bi-functions, operators and other functions
- In corporate PhotoView imageView library to perform zooming, multi-touch, double-tap and update UI based on the zoom/scroll position
- Work on Google In-App Purchasing API to offer digital content and purchases
- Use shared preferences to store the list of connected address
- Use GoogleZxing library for multi-format 1D/2D barcode image processing
- Build prototypes at tech scoping stage of projects and create and maintain a technical framework to support the apps
Android Developer
Confidential
Responsibilities:
- Work on bug fixing, troubleshooting and improving application performance
- Develop a flexible UI building framework using Android Fragment
- Manage ongoing maintenance to fix bugs, added features and functionalities, and improved UI
- Independently in corporate Joda library stale timezone data
- In corporate ACRA library to automatically post-crash reports to a GoogleDoc form
- Develop the feature to view hotel bill in real-time throughout stay
- Create service to download neighbourhood guides, cultural tips and store it locally for offline usage
- Write program on Redeem Reward Points algorithm
- Write networking calls program to display over 3,000 properties across Confidential ’s 13 brands in custom ListView
- Work with designers to optimize UI for tablets and all devices in vertical or horizontal orientation
- Involve in the user experience design process, from wireframes and mockups through implementation and release