Senior Android Developer Resume
Mclean, VA
SUMMARY
- Solid understanding of Management Information Systems (MIS).
- Proven hands - on technical skills with leading development environments/frameworks such as Android Studio, React.js, etc.,
- Demonstrated hands-on skill with architecture and design patterns such as MVVM, MVP, MVC, Presenter, REST, Singleton, Builder, Factory, etc.
- Programming language coding skill with Kotlin and Java.
- Strong understanding of OOP and software design patterns
- Experience with Agile and working in teams using Scrum
- Experience with Android third-party libraries like Retrofit, Picasso, Glide, Location API, Google Maps, Stripe, PayPal, Dagger, Android Annotations
- Well versed in newest patterns like reactive programming with RxJava and Dependency Injection
- Hands-on experience with Java and Kotlin
- Strong ability to work with teams from other departments to achieve cross-functional goals and meet the specified requirements
- Strong written and oral communication skills
- Experience with Mockito, Junit, Espresso and simulated design patterns to test and develop applications
- Hands-on experience with debugging and profiling Android applications
- Ability to mentor less experienced team members on technical matters
- Well versed in Material Design guidelines
- Ability to problem-solve and manage multiple priorities in fast-paced, deadline driven environments
- Hands-on experience with continuous integration tools like Jenkins and Travis CI
- Adept with development/design standards and best practices in Android
TECHNICAL SKILLS
Programming Languages: Kotlin, Java, C#, VB.NET, HTML, CSS, JavaScript, jQuery
Development IDEs: Android Studio, Visual Studio, Visual Studio Code, SSMS, Eclipse
Databases: SQLite, Room Database, Firebase Realtime DB, MySQL, MS SQL
Networking/Web Services: REST, JSON, Retrofit, GSON, OkHTTP, WebAPI2, Volley
Events: EventBus, Otto
Threading: RxJava, IntentServices, Handlers, JobScheduler
Dependency Injection: Dagger2, AndroidAnnotations
UI/UX: Material Design, Material Dialogs, Calligraphy, ExoPlayer, VideoView, Chromecast, Push Notifications
Security: AES/Cipher, Spongy Castle
Messaging: Urban Airship, Google Cloud Messaging
Payment Processing: BrainTree SDK
Debug/Testing/Performance Frameworks: Junit, Espresso, Hugo, Robotium, Mockito, LeakCanary, Doze Mode, Android P, Timber, Bluetooth BLE
Version Control: Git, GitHub, GitLab, TFS
Architecture Design Patterns: MVVM, MVP, MVC
Design Patterns and Practices: Adapter, Factory, Builder, Singleton, Extension Function, Data Class, Handler, Parceler
Project Management: JIRA, Sketch, MPAndroidChart
Software Development Methodologies: Agile, Scrum, Waterfall
CI/CD: Circle-CI, Jenkins, NDK, Firebase
Analytics: Crashlytics, Google Analytics, Mixpanel
Other: JetPack, IoT, Services
PROFESSIONAL EXPERIENCE
SENIOR ANDROID DEVELOPER
Confidential, McLean, VA
Responsibilities:
- Led team to refactor portion of codebase from Java to Kotlin.
- Refactored code from MVP to MVVM to streamline codebase and reusability of logic.
- Created a Background Service to update JSON stored locally on the device.
- Implemented scrollable RecyclerView to display searched properties and resorts listings.
- Improved image loading from cache using Glide.
- Cached user data locally into SQLite database for offline viewing.
- Refactored methods to reduce the method count to under 64k to avoid multidexing.
- Improved real-time room quotes and availability by performing asynchronous network calls using Retrofit and RxJava.
- Parsed data using built in GSON Converter to populate detailed room information when selecting room types
- Detected memory leaks using Leak Canary.
- Implemented unit/instrumentation testing using JUnit and Espresso.
- Encrypted and stored user settings in shared preferences.
- Supported multiple language and regional support using Android string resources.
- Mentored junior developers throughout the Agile lifecycle.
SENIOR ANDROID DEVELOPER
Confidential, Maryland Heights, MO
Responsibilities:
- Worked with team on QA for the Kotlin-based application.
- Worked with team on QA for the application.
- Assisted on the development of the Gameplan/Dashboard Bff.
- Reviewed code for every pull request by teammates.
- Updated Endpoint from Big Data hub to use Kong API services,
- Applied peer programming practice.
- Configured device IP filter for the application to blacklist certain devices/locations.
- Enabled feature to track vehicles when they are outside of hub locations (in shop or elsewhere) using geofencing.
- Implemented a feature to check feature flags to throttle data access depending on location as a means of reducing the server load.
- Increased test coverage from 30% to 70% peak.
- Implemented Soathree to add a tray on Electric Vehicle Trip Plsnnrt.
- Implemented TDD by creating unit tests for all development using Mockito and Espresso for testing.
- Utilized retrofit to consume RESTful APIs.
- Used Amazon Web Services (AWS) as backend system for android application.
- Implemented newer features in Kotlin and migrated some existing code into Java.
- Used RecyclerView to display all list information inside of the application to the user
- Implemented databinding with binding adapters and Android Databinding.
- Worked in an agile scrum environment with daily stand ups and 2-week sprint.
- Programmed in the Dart Programming Language.
- Applied understanding of Cross platform performance concerns and conventions when using Dart.
- Used Flutter (Dart Front-end) to craft highly responsive application Front Ends that adhere to Material Design.
SENIOR ANDROID MOBILE APP DEVELOPER
Confidential, New York, NY
Responsibilities:
- Created/edited/deleted all receipt categories.
- Applied automatic backup support via Google Drive.
- Applied pair programming within an Agile project execution framework complete with daily Scrums.
- Established continuous integration using Jenkins CI.
- Synchronized data between Android device and web servers, implemented automated execution and integrated account management and authentication into data transfer.
- Architected the app using Data binding library to operate with observable data objects, generated customized binding classes and supported two-way data binding.
- Integrated Android-Query (AQuery) library for asynchronous tasks and manipulated UI elements to display distance traveled for mileage reimbursement.
- Integrated Google Play billing service API for buy one-time products, query for in-app product details, and test acknowledging purchase with license testers.
- Enabled the user to search and pinpoint desired listings based on multiple varying inputs via SearchView and Content Provider allowing for customized findings.
- Designed and integrated a "Terms and Conditions" screen where the user can review, in detail, the "Terms of Service" and "Licensing Agreement".
- Validated asynchronous operations whose results affect subsequent operations in a UI test using Idling Resource Espresso.
- Provide backwards-compatible notification API with Wear and Auto support, media playback and routing. Created modules, components and custom scopes using Dagger2 and perform loose coupling.
- Worked with ScribeJava OAuth library to sign HTTP messages and request tokens from an OAuth service provider.
- Converted all of the Relative/Linear layouts to ConstraintLayouts so we can flatten the view structure and improve performance.
- Created a generic Retrofit wrapper class which are put in an internal library to replace Volley and in corporate RxJava 2 for API calls.
- Focused on implementing rich user interface per UI/UX and Google's Material Design specifications. Used third party Z-Xing library to scan items using barcode scanner.
SENIOR ANDROID DEVELOPER
Confidential, San Francisco, CA
Responsibilities:
- Participate in application planning, architecture, and design
- Execute Android performance tuning and crash reporting applications.
- Implement Android services to synchronize the latest news, getting them from RESTful web services.
- Attend SCRUM meetings to track app development progress.
- Developed rich application layouts following Material Design.
- Consumed REST API to display user history on the user interface.
- Develop test cases using Junit and tested the User Interface using Espresso.
- Implementation of dependency injection using Dagger2 for object references.
- Follow Test-Driven Development (TDD) approach while developing the application.
- Identify issues by root cause analysis during test cycles.
- Mentored Product and QA team on the nuances of Android devices.
- Diagnose and fix bugs that cause unintended product behavior.
- Design URIs needed to access and modify the exported Content Provider data.
- Create Material Design layouts with different animations optimized for the ultimate User Experience.
- Maintain high unit test coverage and continuous integration principles.
- Implemented RESTful data consumption using Retrofit with an OkHTTP client, a GSON converter, and a custom interceptor.
- Implemented EventBus to facilitate the communication between processes in the Android app.
- Supervised the creation of testing suites developed with Espresso and Mockito.
- Added push notification features with Firebase Cloud Messaging for Android.
ANDROID MOBILE APPLICATION DEVELOPER
Confidential, San Francisco, CA
Responsibilities:
- Delivered across the entire app life cycle concept, design, build, deploy, test, release to appstores.
- Workeddirectly with developers and product managers to conceptualize, build andtest products.
- Built prototypes at tech scoping stage of projects.
- Refined code to includeZXingmulti-format 1D/2D barcode image processing library to scan products to instantly read ratings and reviews.
- Worked on Find in Store feature on the Product Page featureimplementation.
- Developed Testing frameworks usingRobotium,Robolectricandother automated testing tools based on requirements.
- Refinedthe app using latest classes, Fragments, Receivers, Widgets, notifications and best UI external libraries.
- ImplementedPicasso,Volley for smooth networking operations and image loading and caching.
- Simplifiedcommunication between Activities, Fragments, Threads, Services, etc. usinggreenrobotEvent buslibrary.
- Worked onSynchronization of the backend database with the frontend UI, SQLite by implementing RESTful web services and JSONparsing.
- Made appmultithreaded using, Async Task, Thread Pool. Executors,Executors,ParallelProgramming and Handlers.
- AddedACRA library to automaticallypost crashreports to aGoogleDocform.
- Updatedvarious UI components, such as addingViewPagerIndicatorwidgets to existingViewPagerobjects and improving custom progressindicators.
- Implemented GSON library for serialisation anddeserialisationof Json data received from remoteAPIs.
- Integrated Amazon in-app purchases.
- Providedbackward compatibility to the application using support packages, fragments external libs,ActionBarSherlockandActionBarCompact.
- Maintained 80%+ test coverage usingEspresso.
ANDROID DEVELOPER
Confidential, Richfield, MN
Responsibilities:
- Guided decisions on architecture and technical strategy.
- Strong understanding of server-side software, scalability, performance, and reliability.
- Implemented the user interface by using Custom Views, ListView, Relative Layout, Linear Layout and Table Layout.
- Applied fragments to minimize the activity count and simplify the navigation
- Performed extensive application testing with the Robolectric unit test framework.
- Used Espresso & Mockito for testing the UI & App functionalities.
- Communicated with RESTful web services to obtain insurance companies information using Retrofit, OkHTTP and Jackson.
- Generated reachable daily goals and created a delegation task system that allowed developers focus on the development bearing.
- Wrote unit tests for the functionality of the application.
- Used Retrofit and GSON to retrieve information from an internally programmed API and make the conversion between the JSON and POJOs.
- Post Get/Post/Header HTTP asynchronous request to the backend API using Retrofit
- Organized collaboration between onsite and offshore developers.
- Implemented Picasso to download the image from web services.
- Experience in architecting and developing networking and secure applications for Android.
- Implemented several design patterns such as MVC, Singleton, and Observer.
- Collaborated with Software Engineers for the design and development of back-end services.
- Designed and developed restful web services with J2EE technology over JBoss server.
- Replaced the Google Maps API with Google Maps API V2.
Android Developer
Confidential, Newport Beach, CA
Responsibilities:
- Tested the application using J-Unit testing framework.
- Implemented automated testing with Espresso.
- Applied the Dalvik Debug Monitor Server (DDMS) for debugging and testing.
- Assisted with debugging and profiling Android applications.
- Implemented automated testing with Robolectric in Android.
- Implemented automated testing with Robolectric.
- Debugged and tested the application using Logcat, DDMS, and TraceView on different devices.
- Implemented Crashlytics to monitor crashes and exceptions and user app analytics data.
- Supported the design, development, testing, and implementation of application.
- Involved in post-production support and maintenance processes to fix the bugs.
- Active in branching, pushing, and merging codes with remote GIT repository.
- Handled memory leaks in constructors and threads to speed up the response time.