Sr. Android Mobile Developer Resume
Columbus, OH
SUMMARY
- A result - oriented professional offering over 12 years of experience building, integrating, testing, and supporting Android applications for mobile and tablet devices on the Android platform.
- 6 Apps published on play store; 1 app in Alpha test phase; 1 app built for internal corporate use.
- Skilled in RxJava for multithreading and consumption of RESTful Web.
- Ability to debug, diagnose performance bottlenecks and fix complex issues in Android.
- Build mobile applications that utilize web services (REST, HTTP-based, XML, SOAP, JSON or other services).
- Contribution Android teams with mentoring, development, and extensive code reviews.
- Able to develop consistent, reliable code that is efficient and clean.
- Collaborates well with cross-functional teams, finding ways to add value for other teams, and contribute to overall quality and success of application.
- Proactive self-learner skilled in adapting to new technologies, such as Smart Watches, Chromecast, and Smart TV devices.
- Proficient in using best UI/UX best practices implementing fragments, diverse layouts, animations, Material Design, Compound Views, and Custom Views.
- Designed various applications using optimal architectural design patterns (Model View Controller, Model View Presenter, Model View View Model).
- Experienced in integrating Android mobile apps with web services using Retrofit, Volley, Async Task, OkHTTP, JSON, GSON, and REST.
- Extensive experience with source control code repositories such as Git, GitHub, and GitLab using tools like SourceTree as well as the command line.
- Worked with continuous integration servers (Jenkins, Hudson, Travis) and implemented simultaneous testing on various devices.
- Experience with continuous integration tools like Jenkins or Travis CI and automated testing frame Experience in working with Android SMS Manager, Location Manager, Google Maps, APIs, and Ajax.
- Experience using 3rd party libraries for image loading, notifications, and web services.
- Experience with embedded local storage solutions such as SQLite, Room DB, Shared Preferences, Encrypted Shared Preferences, internal storage, external storage and cloud storage with Firebase.
TECHNICAL SKILLS
Programming Languages & Tools: C, C++, C#, Java, JavaScript, Kotlin, CSS, XML, Linux, J2EE, Spring, JSON
Database: SQL, Oracle SQL, MySQL, SQLite, Mongo, Room DB, Firebase
Web Technologies: HTML, CSS, Node JS, ExpressJS, JavaScript, Ruby
Android Libraries: EventBus, Butterknife Retrofit, Room DB, LiveData, RxJava, Glide, Picasso, TextureView Video Player, RxAndroidBle, RxAndroid, EventBus, HttpLoggingInterceptor, Dagger2, Dagger1
Version Control: GitHub, Git, Source Tree, BitBucket
Architecture & Design Patterns: MVC, MVP, MVVM, Singleton, Builder, Factory, Facade, Dependency Injection
Debugging & Testing: Jenkins, Test Fairy, Robotium, Leak Canary, Mockito, Espresso, Firebase Hudson CI, Travis CI, JUnit, Monkey Runner, RoboElectric
IDEs: JCreator, Android Studio, NetBeans, Eclipse, Visual Studio, Gradle
OS: Windows XP/7/8/10, Mac OS
UI/UX: Android RecyclerView, Android ListView, GridView, CardView, ConstraintLayout, GuideLines, BottomNavigationView, LinearLayout, Vector Drawables, Animations, AnimationUtil
Scheduling: WorkManager, JobScheduler, Evernote Android Job, Handler, AlarmManager, Pending Intents
Issue Tracking: Jira, InstaBug
PROFESSIONAL EXPERIENCE
Sr. Android Mobile Developer
Confidential, Columbus, OH
Responsibilities:
- Leading the team and coordinated on object-oriented programming with the Android framework for the app
- Worked on various files in both Java and Kotlin and refactored some legacy Java code into Kotlin.
- Developed modules in Kotlin using MVVM app architecture for ease of maintainability and extensibility, as well as improved quality testing.
- Using the Android Studio toolkit and identify and fixing existing anti-patterns in the code base.
- Created Kotlin singleton objects to abstract consumption of data model layers into Repository layers.
- Created custom and compound views to preserve the general look and feel specified by the client.
- Began transitioning modules of the app from MVP architecture to MVVM, and applied SOLID principles throughout the Android mobile app.
- Fixed null pointer exception crashes.
- Terms and Conditions feature to sign in.
- Metrics to failed log in to Google Firebase and Google Scribe.
- Metrics to a Successful Login to Google Firebase and Google Scribe.
- Feature to show the user when the battery percentage is low.
- Created Recycler Views and their respective adapters to display all list information per UI/UX design requirements.
- Handled web services calls for information and content data retrieval with Retrofit.
- Assisted in new employee on boarding.
- Peer Reviewed coding through PRs.
- Updated the UI of the application for ease of use.
- Assisted in spring grooming where I assigned points to tickets.
- Worked on payment module to create a payment and process money transfer using OAuth2 tokens and multiple payment APIs.
- Worked on unit tests extensively following TDD best practices, using JUnit, Mockito and Espresso for UI testing in the development process.
- Used Intents and Intent Filters to initiate activities and pass information between Activities and Fragments.
- Implemented Location Services for geolocation and geofencing.
- Applied encryption techniques to encrypt local Room database.
- Documented how the application is used when in offline mode as well as how it behaves when the user suddenly loses access to the internet.
- Led presentations for tech demos and engaged in one-on-ones with peer developers.
- Helped with German translation of the application.
- Assisted in the launch of an EU version of the application (Germany).
Sr. Android Developer
Confidential
Responsibilities:
- Mentored Junior developers and assist in reading code base, perform code reviews etc.
- Worked in an AGILE team and also play SCRUM Master (daily standups, weekly planning meetings).
- Led discussions and contributing to technical decisions, striving for clean architecture.
- Designed App Architecture, select necessary tools, frameworks and patterns with Android JetPack Architectural components (LiveData, ViewModel, Room)
- Integrated Retrofit for network call handling.
- Created analytic BLE beacons for tracking information.
- Pulled server data using REST API, using Retrofit, okhttp and RxJava(RxAndroid) networking libraries.
- Used Kotlin to update the code base to bring it more inline with the rest of the various modules.
- Created functional test to ensure that new code is working properly and as intended.
- Collaborated with external clients to include Branch SDK for mobile conversion, retention, and engagement through deep linking and user routing.
- Use Mockito API for Capturing the arguments, wrapping java objects with spy and verify the calls on the mock objects.
- Refactored code base to implement dependency injection strategy using Dagger library.
- Created several components and factory interfaces to isolate app components into modular fashion.
- Implemented background services to keep track of BLE connectivity and resolve issues with Android Oreo background limitations.
- Coded schedulable jobs through WorkManager API.
- Performed bug fixes on existing code and took part in code reviews.
- Participated in sprint retrospective, where I gave suggestions on how to improve the work flow.
- Defined migrations strategy with the implementation of Room database to remove previous SqliteOpen helper implementation.
Sr. Android Developer
Confidential, San Francisco CA
Responsibilities:
- Collaborated with the server-side developers to design APIs specifically for the Android application.
- Work in a multi-disciplinary team in London and alongside dev peers throughout US within an agile team (daily standups, weekly planning meetings).
- Lead discussions and contributing to technical decisions, striving for clean architecture.
- Designed App Architecture, select necessary tools, frameworks and patterns with Android JetPack Architectural components (LiveData, ViewModel, Room)
- Worked with Android Beacon Library API to request ranging update from one or more beacons at a frequency of approximately 1Hz.
- Exported data to CSV or PDF using Android PdfViewer and FastCRV external library.
- Saved and backup a GPS "mileage receipt" for each trip using FireBase Cloud Backend and Realtime database services.
- Upload paper receipts of meals, supplies, and other expenses with background threads using JobSchedulers and JobIntentServices to MongoDB backend.
- Consumed Milage API, Accounts details API using Retrofit, okhttp and RxJava(RxAndroid) networking libraries.
- Migrate and develop new products features using Kotlin programming language features and Android KTX.
- Upgraded payments systems within the app by incorporating Stripe SDK to accept and manage card payments.
- Collaborated with external clients to include Branch SDK for mobile conversion, retention, and engagement through deep linking and user routing.
- Use Mockito API for Capturing the arguments, wrapping java objects with spy and verify the calls on the mock objects.
- Refactored code base to implement dependency injection strategy using Dagger library.
- Created several components and factory interfaces to isolate app components into modular fashion.
- Implemented background services to keep track of BLE connectivity and resolve issues with Android Oreo background limitations.
- Coded schedulable jobs through WorkManager Api to have routines for backup information from Mileage Website entries.
- Contributed with proper documentation and KT documents to ease onboarding process for new developers.
- Defined migrations strategy with the implementation of Room database to remove previous SqliteOpen helper implementation.
Sr. Android Developer
Confidential, Atlanta, GA
Responsibilities:
- Ensured new and existing applications met Mercedes requirements.
- Code reviewed peer’s development.
- Worked with Designers and Product Managers to agree product definitions.
- Coded, debugged and united test systems per requirements and technical design.
- Coded in existing MVVM architecture using Data Binding Library to bind UI components in the layouts to data sources.
- Created Repository layer and abstracted monolithic ViewModel into view-case scenario.
- Performed Offline database synchronization with Realm Database to display the latest news from Mercedes-Benz, View manuals and how-to videos.
- Scheduled payments with Mercedes-Benz Financial Services using Google Pay API to request any credit or debit card stored in customer's Google Account.
- Posted and update account and contact information with Backend API using Retrofit Form-Encoding and perform secure network traffic transmission.
- Worked with Android NDK and use ReLinker library to load native libraries asynchronously.
- Upgraded Splunk MINT SDK to collect crash, performance and usage data for your app and send it to our Cloud servers.
- Worked alongside senior developer to use AltBeacon library to interact and get notifications when one or more beacons appear or disappear.
- Addressed many of the development and performance issues that plagued reflection-based solutions using Dagger2 injection library.
- Communicated with Amazon Web Services (AWS) for secure cloud services platform, database storage and content delivery.
Android Specialist
Confidential, San Francisco, CA
Responsibilities:
- Worked with other developers to write software based on backlog items.
- Worked with testers to ensure they are engaged and ready to test the software at the right time in the development cycle.
- Supported, refactored and enhanced existing production systems.
- Organized business logic, workflows, processes, rules in Domain layer and communicated with data/ presentation layer in MVP architecture.
- Integrated OAuth2 authentication with Identity Server.
- Enhanced the module that communicates with the Java WebServices with Volley library.
- Collected customer data and send it to your tools for mobile analytics, marketing automation, and raw data access with SQL using Segment SDK.
- Replaced Samsung Pay with card.io library for credit card scanning and BrainTree SDK.
- Used Git flow for code integration, Jenkins for continuous integration and JIRA for bug tracking.
- Worked on Schedule Deliveries’ and Real Time tracking’ acceptance criteria’s in TDD manner.
- Wrote automated UI test cases using Espresso and functional integration testing using Robolectric API.
- Performed additional beta testing using Google Cloud testing mechanism.
- Encrypted card details in Android Keystore system to store cryptographic keys in a container to make it more difficult to extract from the device.
Native Android Developer
Confidential, Dublin, OH
Responsibilities:
- Helped define development environment and communicate the best development practices within the organization (i.e., code reviews, testing, etc.).
- Worked closely with other teams (Stakeholders, Product and UX) to drive product development in an iterative and agile way.
- Participated in the relevant scrum events; planning and estimation, daily scrums, sprint reviews, and retrospectives.
- Defined business rules for data manipulation and then processed the user's data with the help of Model and passed the results back to the View in MVC architecture.
- Created and updated patient's appointments, visit history, and medical records locally using Realm database library.
- Worked with Calendar API to send SMS and/or email appointment reminder.
- Automated sync to secure AWS cloud at a specific time (Save data to cloud automatically) using IntentServices and AlarmManager API.
- Created automatic routines scheduling network requests and transparent disk and memory response caching with standard HTTP with Volley library.
- Pair-programmed to work on Google CData Client library for HTTP transport, error handling, authentication, JSON parsing, media download/upload, and batching.
- Incorporated VuDroid library to enable PDF functionality within the app.
- Created Custom view circular ImageView to display profile images, material Dialogs, graphs, tabs and custom progress bars.
- Worked with Behavior Driven Development frameworks such as Cucumber.
JR. Android Programmer
Confidential, Sterling, VA
Responsibilities:
- Collaborated as a member of the team undertaking the shared commitment towards completion of the team's sprint goals.
- Accepted joint responsible with the team for converting the Product backlog into 'Done' potentially releasable increments.
- Implemented disk-based LRU cache which specifically targets Android compatibility for accessing filesystem.
- Optimized UI for different android versions and devices using Fragments.
- Parsed JSON data using HTTP client (GET, POST, DELETE, PUT) Volley library and displayed in a listview following view holder pattern to display latest news and articles.
- Upgraded Twitter SDK and Facebook SDK to share articles and videos.
- Performed XML DOM parsing to weather information according to current location of the user.
- Configured and send Notifications around breaking news and important emails using GCM with UrbanAirShip client.
- Implemented data persistence using SQLite for caching data in the app device.
Associate Software/Android Engineer
Confidential, Columbus, OH
Responsibilities:
- Under constant supervision, collaborated with multiple teams under Confidential development team.
- Participated in several Code-Labs and Courses covering technical discussions and increase code quality.
- Successfully assisted multiple teams to build and deploy to both test and live servers.
- Utilized version control software such as GitHub and Jenkins to deploy and monitor software releases.
- Contributed to created multiple Jenkin pipelines to speed up build process.
- Created small fixes to help software compile and deploy to large enterprise servers.
- Effectively tested new software for bugs and defects for the JP Morgan consumer banking branch.
- Including Microsoft Excel and HP Quality Center to both manage defects as well as creating test scripts.
- Created several test cases using tools like Cucumber, Mockito and jUnit.
- Worked closely with product owners and business analyst to ensure that any new functionality both worked but also did not break any existing functionality.
- Collaborated with QA engineers to elaborate uses cases and implement pyramid test.
- Applied happy path along with black box white box strategy to ensure code quality in multiple assignations.
- Provided support to various software teams in migrating software access to a central access team.
