Senior Android Developer Resume
Seattle, WA
SUMMARY
- Android App development using Java and Android SDK compatible across multiple Android versions; proficient in Android Studio and Eclipse, core Android and third - party frameworks.
- Efficient and accurate requirement gathering, working with stakeholders.
- A sound understanding of HTTP and REST-style web services.
- Strong understanding of server-side software, scalability, performance, and reliability. Created robust automated test suites and deployment scripts.
- Considerable experience debugging and profiling Android applications.
- Sound knowledge of relational databases (Oracle, MS SQL Server, MySQL, PostgreSQL, etc.).
- Hands-on development experience in the full software development cycle from start to finish.
- Experience with versioning (Subversion SVN, Source Safe VSS, GIT, GitHub).
- Optimization and performance enhancement expertise (battery, CPU, Memory leaks).
- Proficient in Agile/Scrum methodologies, working with multiple-sized teams from 3 to 10 members often with role of SCRUM master, and mentor to junior developers.
- Implemented customized HTTP clients to consume a web resource with frameworks such as Retrofit, Volley, OkHTTP and the native HttpURLConnection.
- Implemented Dependency Injection frameworks to optimize the unit testing and mocking processes (Dagger, Butter Knife, RoboGuice).
- Experienced with third-party APIs and web services like Volley, Picasso, Facebook, Twitter, YouTube Player and Surface View.
TECHNICAL SKILLS
Programming Languages: Java, C++, MySQL
Scripting Languages: jQuery, JavaScript HTML, CSS, Python, Bash, PHP, UML, Action
Script: REST, JSON
Back-End Integration: SOAP, XML, AJAX
Architecture/Design: MVC, MVP, MVVM, Builder, Abstract Factory, Façade, Dependency Injection, Observer, etc.
Project Tools: Basecamp, Slack Confluence, JIRA
Database: SQL Server, MySQL SQLite, Realm, MongoDB
Android Frameworks: Java Development Kit (JDK), Android SDK, Fabric, Firebase, Reactive-X Threading AsyncTask
Intent Services: Handler & Handler Threads Loopers and Loaders Hybrid Development PhoneGap Corona Labs Ionic React Native
IDE: Eclipse
Android Studio: Virtual StudioOptimization LeakCanary Icepick
ART: Dalvik, Memory Mapping
Testing: Test Fairy, Crashlytics
Logs: QXDM, QPST, QMITestPro, QMICM, CrashScope
Miscellaneous: Flurry, Robolectric, Dependency Injection, RecyclerViews, GSON, JUnit, Espresso, Robotium, MVVM, MVP, Chromecast, Retrofit, Ionic, Dagger, greenDAO, Gradle, GCMNetworkManager, Google Cloud Messaging, ConstraintLayout, Volley, Location Services, Glide, Firebase, Schematic, Bluetooth Low Energy, RxJava, Google Maps API, VidEffects, Material Design, ExoPlayer, Google Analytics, RoboGuice, JobScheduler, Git, Samsung SDK, IcePick, Leak Canary
PROFESSIONAL EXPERIENCE
Confidential, Seattle, WA
Senior Android Developer
Responsibilities:
- Working with an Agile/iterative development methodology, and Scrum process.
- Applying a new Android architecture to simplify asynchronous data loading into UI, optimize data persistence, and prevent memory leaks and problems with configuration changes using LiveData, ViewModel and LifecycleOwner with unit testing application.
- Migrating old features and built new ones using Kotlin Coroutines, contracts, Anko Commons, Anko Layouts, Delegate properties, extension functions, and Anko Coroutines in API request.
- Implementing several libraries for Kotlin effort such as RxKotlin, Kotlin-kapt, and Android KTX.
- Refactoring unit tests from Java to Kotlin.
- Implementing unit and instrumental tests using JUnit, Mockito, and Espresso.
- Aiding Product Owner and Stakeholders to define requirements.
- Analyzing and defining development hours for requirements split into user stories for UX/UI design and in line with the Material Design guidelines.
- Implementing newer features in Kotlin as well as migrated some existing code into Java.
- Using RecyclerView to display all list information inside of the application to the user.
- Designing lifecycle aware Model to expose data through observables to be decoupled completely from ViewModel and create ViewModel observable to get data to update UI elements in MVVM architecture.
- Implementing databinding with binding adapters and Android Databinding.
- Applying continuous improvement through creative solutions to glitches in synchronization, asynchronous APIs, and leveraging offline features.
- Writing unit test classes and instrumented test classes to enforce a code coverage of 85% in the code.
- Implementing RxJava for most of our asynchronous processes to simplify threading.
Confidential, Los Angeles, CA
Sr. Android Mobile Application Developer
Responsibilities:
- Worked on a team of 4 developers in an Agile Scrum environment. The team used JIRA for the task, and issue tracking, and GitHub code repository with BitRise for continuous integration.
- Worked closely with Ui/UX designers using Zeplin and implemented UI designs according to designer specification.
- Refactored the application architecture from MVC to MVP.
- Implemented list views for displaying new releases.
- Designing the user screens with Android UI design (including custom views).
- Implemented unique design for portrait, and landscape mode.
- IDE used was Android Studio, and coding in Java, and Kotlin.
- Implemented new application features in Kotlin and used the classes in with Java classes.
- Integrated Google Analytics into the application using Firebase to track the usage of the application, number of people, number of downloads, etc.
- Using RxJava and Retrofit to call RESTful web services and to manage threading working with backend team on connectivity.
- Configured multiple analytic tools to get valuable information on a post-install state: Crashlytics, Mixpanel, Flurry, Answers.
- Implemented an Android native module to integrate Google Analytics in Appcelerator based application.
- A key resource for layout, and UI work utilizing XML, Views, WebView, ListView, Menu Item, Activities, Fragments Animations, Notifications, Push Notifications, Async Task, etc.
- Created custom animations, and transitions to improve the user experience.
- Made a distinction between development, and production versions of the app each with their distinct credentials, and settings in the backend using Urban Airship.
- Worked on Starva Bluetooth BLE SDK to design module to pair with Bluetooth devices and transmit large bytes of attributes.
Confidential, Bolingbrook, IL
Android Developer
Responsibilities:
- Developed the app using Android Studio, Java, Android SDK, Core
- Android frameworks and third-party frameworks.
- Applied Agile/Scrum methodology.
- Managed tasks, issues, and backlog with JIRA.
- Wrote test cases with JUnit for unit testing and Espresso for automated testing to ensure quality control.
- Worked in MVP architectural pattern with a basis in RxJava which facilitated back-end processes along with Retrofit.
- Implemented Telesign for SMS messages in the two-step authentication procedure.
- Implemented Jumio for license and credit card scanning function to enable a clear scan.
- Used Dagger 2 for Dependency Injection.
- Configured Retrofit to parse JSON objects for asynchronous communication with back-end services.
- Used Firebase as onboard caching in addition to Firebase Push Notifications with FCM and Firebase Crash Reporting
- Ensured efficient implementation and troubleshooting of Android application.
- Used a private Git server for version control and Jenkins Continuous Integration server.
- Efficiently used Activity, Intents, Fragments, Services, Broadcast Receivers, notifications, Content Providers and Media Players for building the app.
- Used Shared Preferences and SQLite to persist user credentials.
Confidential, Louisville, KY
Android Developer
Responsibilities:
- Followed AGILE methodology with Test Driven Development for implementing the Application
- Work in large codebase with MVVM data binding library to declaratively bind UI elements, notify views of any database changes and manage UI-related data in a lifecycle-conscious way.
- Implemented rich user interface per UI/UX and Google's Material Design specifications.
- Developed highly efficient Java code and view layouts and the ability to diagnose performance bottleneck.
- Extensive experience with Java and full command of Android APIs on all OS versions.
- Find Bugs tools on a tight deadline in Agile/TDD environment
- Maintained control of versions using GIT and set-up a GitHub repository.
- Sped up the build process with continuous integration tools: CircleCi and Travis.
- Applied Flutter for cross-app development.
- Used Espresso & Mockito for testing the UI & App functionalities.
- Refactored and redesigned multiple Android modules for reusability purposes.
- Retrofit with RxJava for improved performance and multithreading capabilities.
- Used the View Pager Indicator to provide feedback to the user about the background processing status.
- Implemented layouts using the latest RecyclerView and CardView combinations to improve the User Interface.
- Found and fixed bugs using Crashlytics.
Confidential, Golden, CO
Android App Developer
Responsibilities:
- Used Google GSON to parse JSON files.
- Worked with PDF and SQL files using an embed WebView
- Incorporated the tab navigation over the application using the View Pager Indicator third party library.
- Designed custom views and use icons extensively for the layouts improving the User Interface.
- Used APIs from different API levels to support backward compatibility.
- Created all project documentation from requirements to deployment plan
- Attended daily SCRUM meetings to track app development progress.
- Involved in testing and testing design for the application after each sprint.
- Use of Implicit and Explicit Intents.
- Mentored three new developers about beta testing and requirement gathering.
- Ability to devise creative, technical solutions.
- Deployed Flurry for tracking and analytics.
- Experience developing rich application UI’s.
- Added environment configuration with sessions and user login using SharedPreferences.
- Implemented Picasso to do Asynchronous image loading.
- Work on Adjust SDK for mobile app marketers, combining attribution for advertising sources with advanced analytics and store statistics
- Added Push Notifications with Parse.
- Regularly provide constructive feedback to team members so they can continuously grow individually.
- Used Butter Knife library to apply binding in Android views.
- Supported two other languages such as Spanish and German.
- Utilized MVP and Singleton Design Patterns to design the app structure.
- Enhanced the module that communicates with the Java Web Services with Retrofit.
- Usage of core Android resources like Fragments, Styles, Themes, 9-