Sr. Android Developer Resume
Charlotte, NC
SUMMARY:
11 Years IT experience 7 years Android Experience
SKILLS:
Programming Languages: Kotlin, Java, html5, php, C, C#, C++
Multithreading: RxJava, Kotlin Flow, Kotlin Coroutines, AsyncTask, IntentService, ThreadPool, Thread, Runnable, Work Manager
UI/UX: ConstraintLayout, RecyclerView, Animations, Vector Drawables, 9Patch PNG, Bottom Navigation Vie
Multimedia: Glide, Picasso
Architecture and Design Patterns: MVVM, MVC, MVP, Façade, Builder, Factory, Singleton
Database and Storage: Firebase Realtime Databae, SQLite, Room DB, Shared Preferences, Encrypted Shared Preferences, External Storage, Internal Storage, Realm DB
Location Services: Google Maps API, Fused Location Provider, Location Manager
Push Notifications: Firbase Cloud Messaging
Dependency Injection: Dagger1, Dagger2, Hilt, Koin, ButterKnife
Android: Services, BoundServices, Intent Services, Broadcast Recievers, Configuration changes, Runtime Permissions, Exception Handling, Work Manager, Content Provider, Activities, Fragments, FrameLayout, Tabbed Layout, LiveData, ViewModel
Memory Management / Optimization: Android Profiler, Leak Canary
Version Control: GitHub, Git, BitBucket, Source Tree, GitLab, SVN
Bug Tracking: InstaBug, Firebase Crashlytics, Firebase Analytics
RESTful Services: Retrofit2, OkHttp, Volley
Testing: TDD, Junit, Espresso, Mockito, Monkey Runner, Firebase Test Lab
PROFESSIONAL EXPERIENCE:
Sr. Android Developer
Confidential, Charlotte, NC
Responsibilities:
- Used Crashlytics to track user behavior and obtain mobile analytics.
- Continuously research, test, and implement new techniques, frameworks, and utilities.
- Implemented Navigation Graph components from Android Jetpack Navigation to streamlined navigation between App States.
- Participating in the design reviews, security reviews, capacity reviews, and ADA compliance
- Designing application components with ADA compliant colors and UI using Material Design to enhance usability for all users.
- Experience building high volume consuming facing applications at massive scale.
- Worked with an internal QA team on system, performance, and acceptance testing, and Identification of issues during the test cycles.
- Created Material Design layouts with different animations optimized for User Experience.
- Followed the Test - Driven Development (TDD) approach while developing the app.
- Implemented dependency injection natively and following the Service Locator pattern for Kotlin injections.
- Refactored code from Java to Kotlin in a migration effort focus by modules in the entire project until reach an 80% of code migrated.
- Worked on the Confidential payments support on the application. Involved development on the applications networking module, Room Database storage and implementing the Confidential Mobile SDK.
- Collaborated with Scrum meetings to refactor search view patterns to make more use of Functional Programming with Kotlin language.
- Participated in rebranding effort to make cleaner and easier to identify components and card information for the user.
- Implemented Certificate Pinning along with Network XML certificates to secure endpoint connections in the Retrofit network call.
- Refactored common access code to MiddleWare identifier token.
- Created flow to refresh static tokens to provide easier ways to reconnect and revalidate user experiences.
- Implemented Firebase Push Notifications system to add alerts for users configuring payments.
- Created Deep-link experiences has part of Web navigation to seamlessly navigate into the application and recreate the synthetic back stack.
- Created the content provider logic to load the information with an Observer Pattern in the UI thread using Loaders.
- Developed Custom Views, Compound Views, and various layouts to construct the complex but user-friendly user interface.
Sr. Android Developer
Confidential, Seattle, WA
Responsibilities:
- Collaborated in a medium team with 6 Android Developers 6 iOS Developers, 8 Web Developers and 10 QE following TDD methodology in a 3 weeks Sprint cycle with Retrospective.
- Refactor code from MVP design pattern to MVVM design pattern to make use of new Lifecycle aware components.
- Implements ViewModel Android Jetpack Lifecycle aware to control access of the data from the View and expose data with Observable Lifecycle aware container.
- Enable LocationService Manager to keep track of user location.
- Enable in-app Map Navigation to easily identify stores close by the user last know location.
- Create background services for LocationServices to notify the user about special deals in their favorite local store.
- Created GeoFences with dwell logic to enable Audio Service accordingly to store audio service.
- Collaborated with runtime permissions settings and create permissions rationale to provide friendly and explicit reasons for LocationService permissions.
- Added Localytics for in-app behavior tracking and usage, including location, gender, preferences and interests.
- Created a module using Kotlin to enable the addition of a weather section which included location selector, using Google Places API.
- Created multiple CustomViews to make the application more scalable and reuse most of the components in multiple fragments.
- Substituted Fragments with CustomViews, where applicable, to make the lifecycle of the application cleaner and easier to maintain.
- Created unit testing and instrumented test using jUnit, Mockito, Espresso, Roboelectric and Cucumber to achieve an 90% of code coverage.
- Collaborated has part of Pull Request approval team, enforcing unit test, re-usability of the code, detecting code smells and apply SOLID principles to the code.
- Implemented Airship push notifications system and created target audience to identify users that hasn’t recently purchase on the favorite local store.
- Created Custom Notifications handled deeplink navigation with Synthetic Backstack and PendingIntent to navigate inside the application.
- Implemented CardIo payment along with Google Wallet and Visa SDK to provide multiple solutions to payment.
Mid-Tier Android Developer
Confidential, Dublin, OH
Responsibilities:
- Help define development environment and communicate the best development practices within the organization (i.e. code reviews, testing, etc).
- Work closely with other teams (Stakeholders, Product and UX) to drive product development in an iterative and agile way.
- Fully participate in the relevant scrum events; planning and estimation, daily scrums, sprint reviews, and retrospectives.
- Define business rules for data manipulation and then process the user's data with the help of Model and passing the results back to the View in MVC architecture.
- Create and update patient's appointments, visit history, and medical records locally using Realm database library.
- Work with Calendar API to send SMS and/or email appointment reminder.
- Automatic sync to secure AWS cloud at a specific time (Save data to cloud automatically) using IntentServices and AlarmManager API.
- Automatic scheduling of network requests and transparent disk and memory response caching with standard HTTP with Volley library.
- Pair-program to work on Google CData Client library for HTTP transport, error handling, authentication, JSON parsing, media download/upload, and batching.
- In corporate VuDroid library to enable PDF functionality within the app.
- Create Custom view circular ImageView to display profile images, material Dialogs, graphs, tabs and custom progress bars.
- Work with Behavior Driven Development frameworks such as Cucumber.
Sr. Mobile App Developer
Confidential, New York, NY
Responsibilities:
- Work on ‘Live events and exclusive programming with streaming coverage’ domain and network module.
- Implement several libraries for Kotlin effort, like RxKotlin, Kotlin-kapt and Android KTX.
- Replace Google In-App purchases with Amazon In-App Purchasing API to offer digital content, subscriptions for Video on Demand and Live TV.
- Successfully refactor module created in MVC to MVVM design pattern using base data-binding library.
- Include token-based authentication with Google in the existing login screen of the application.
- Stabilise app by fixing memory leaks using LeakCanary, avoid ANR and Out of memory exceptions.
- Modify the internal Realm database adding fields to store news information locally using data managers and content providers.
- Pair Program to implement 128-bit encryption to protect customer data in transit and on device using Java Cryptography Architecture and Android Crypto API.
- Improve background processing services using foreground services, JobSchedulers and FCM to selectively wake application up when network events occur.
- Refactor the clean cache mechanism to clear all user preferences and selections, visitor tokens, and all credentials when the user logs out.
- Explore and integrate the multi-window and drag-and-drop management feature for Android 7 preview “N”.
- Work in Pair Programming from Driver and Navigator across several iterations in the project strategy to reduce the learning curve on the customs process and custom SDK.
- Enrich user identities, segment and activate audiences, measure and optimize campaigns across all connected devices by integrating Kochava sdk in the app module.
- In corporate Exoplayer API UI module for displaying media and controlling playback with support for advanced HLS features.
Native Android Developer
Confidential, Pleasanton, CAResponsibilities:
- Configure backend and front-end code to enable push notifications to alert trained individuals in the immediate vicinity of the need for CPR using UrbanAirShip SDK.
- Make automatic scheduling of network requests and memory response caching using Volley HTTP library.
- Utilize fragments, diverse layouts, animations, material design, Compound Views, and Custom Views to fulfill user interface requirements.
- Leverage Google In-App Purchasing API to offer digital content and subscriptions for the purchase pro- Confidential programs.
- Work on Restful WS modules and used Retrofit, OkHttp for connection pooling, transparent compression, and response caching.
- Integrate Hockey App to collect live crash reports and user feedback, distribute beta versions, and inform testing strategies.
- Use Android's JUnit framework: write test cases to verify specific app behaviours, check for consistency across different Android devices.
- Add Fused Location Services API provided by Google Play services for location awareness with automated location tracking, geo-fencing and activity recognition.
- Research and work on Freeware Advanced Audio (AAC) Decoder to play AAC radio streams in background (as a Service).
- Develop a customizable interface with multiple layouts and several compound views and custom views.
Full Stack Developer
Confidential, Glendale, AZ
Responsibilities:
- Implemented Frontend and Backend WordPress detoxtorehab.com website to have an entry point for all the options and treatments available.
- Created PHP connection database, request of cities, zip code, and info about rehab company.
- Utilized for Frontend tools like XML and MySql using opensource code.
- Prepared the website mockup and presented ideas to Stack-Holders to apply the correct branding of the company.
- Wrote code using tools like HTML and CSS to follow the Web guidelines.
- Implemented PHP backend to connect with WordPress data base and data base Company.
- Designed new features for existing websites and customize themes to meet clients' requirements.
- Created user guide to help clients understand site features and management of website to increase visitor satisfaction.
- Implemented Mobile Android version for website.
- As an Android developer, my responsibility is to listen to the client's specifications and, based on these, develop the graphic model, once authorized, we proceed to look for the implementations that best suit the project and start planning the code area.
- Implemented Layouts to match website definition using Linear Layout and Relative Layouts.
- Implemented MVP design pattern to define backend implementation accordingly to website.
- Debugged code and created unit test cases to detect errors and resolve them accordingly.
- Developed a NFC application with Base 64(image), shared preferences with Json and decoding base64.
- Utilized for network calls Volley, Lottie animation for Front End XML, Firebase Notifications.
- Prepared the app mockups and demos that are presented to product owners.
- Wrote code using Java and XML to connect between 2 mobiles using NFC (Near Field Connection) to transfer personal data saved in shared preferences.
- Stored images in shared preferences with base 64 inside a Json format. The data in Json is transferred by NFC and decode when is received.
- Decoded base 64 and printed the info saved in shared preferences using volley and Base AdapterList View.
- Imported implements into dependencies in grandle and coded class MainActivity and extends AppCompatActivity.
- Coded variables and methods (onCreate, onResume, and my own Methods...).
- Coded method with implementation Volley to connect with MySql PHP Database.
Web Developer
Confidential, Glendale, AZ
Responsibilities:
- Met with clients to gather requirements, design sites and schedules.
- Managed a team of 4 web developers.
- Used HTML and php to deliver dynamic and responsive website.
- Implemented and modified backend database using myphpadmin using mysql databse.
- Wrote code using tools like HTML and CSS to follow the Web guidelines.
- Developed website project scope and created concepts
- Used sessions to ensure security around authentication process.
- Worked closely with senior developer and learned advanced project management skills.
- Environment html4/html5, css2/css3, javascript, jquery, requirejs, ajax, json, D3js, accessibility, spring mvc, web service, tcm, rally, clear quest.
- As a part of the Confidential .com team developed reusable components, plugins, libraries and adoptive responsive interfaces.
- Worked on a development team which included other technical professionals, subject matter experts, project stakeholders and executive leadership.
- Developed web applications with a focus on, but not necessarily limited to, the ‘front end’ implementation.
- Developed software in our Agile/Scrum environment, participated in and contributed to the ceremonies and processes (daily stand-ups, code reviews, sprint retrospectives, etc.) that kept our process continually improving.
- Ensured that Scrum is being followed along with other SDLC requirements such as PCI security.