Android Developer Resume
PROFESSIONAL SUMMARY:
- 3+ years’ Android experience with 4 apps published to Play Store.
- Skilled programming in Kotlin and Java.
- Strong knowledge and demonstrated experience with Android architectures MVP, MVVM and design patterns Singleton, Builder, Factory, Façade, Observer, Decorator, etc.
- 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 RxKotlin, RxJava, RXAndroid, and Dependency Injection.
- Apply OOP and software design patterns.
- Effective working on Agile teams and adding value to Scrums and Sprints.
- Demonstrated ability to work with teams from other departments to achieve cross-functional goals and meet the specified requirements.
- 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.
- Strong written and oral communication skills.
- Hands on with JetPack.
TECHNICAL SKILLS:
Programming Languages: Kotlin, Java
Development IDEs: Android Studio, Visual Studio
Databases: SQLite, Room Database, Firebase MySQL, MS SQL
Networking/Web Services: REST, JSON, Retrofit, GSON, OkHTTP, Volley
Events: EventBus, Otto
Threading: RxJava, IntentServices, Handlers, JobScheduler
Dependency Injection: Dagger2, AndroidAnnotations, Hilt
Software Development Methodologies: Agile, Scm, Waterfall
CI/CD: Circle-CI, Jenkins, NDK, Firebase
Analytics: Crashlytics, Google Analytics, Mixpanel
Architecture Design Patterns: MVVM, MVP, MVC
Design Patterns and Practices: Adapter, Factory, Builder, Singleton, Extension Function, Data Class, Handler, Parceler
Project Management: JIRA, Setch, MPAndroidChart
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
Libraries: JetPack
Version Control: Git, GitHub, GitLab, TFS
PROFESSIONAL EXPERIENCE:
Confidential
Android Developer
Responsibilities:
- Integrated payment processing using proprietary APIs.
- Utilized SharedPs to provide consistency with local key-value pairs.
- Implemented Android KeyStore to store used passwords safely.
- Integrated new features into the Android app using Kotlin in modules built on MVVM architecture with Data Binding using JetPack.
- Implemented Google Analytics to track Click-tough rate on value-added service pop-up.
- Created Kotlin data classes for the creation of model classes in the application.
- Developed a Push campaign for Value-added service project
- Learned and Used Salesforce Marketing Cloud for Push campaign
- Refined that app by fixing bugs found though Dynatrace and Firebase tracking
- Wrote Units test using JUnit and Mockito.
- Implemented Firebase Crash Reporting in debugging and troubleshooting.
- Worked in Agile development environment and participated in Scrums, Sprit Planning, Sprint Retrospectives and Backlog management.
- Participated and maintained pair programming practices.
- Incorporated Krux SDK to capture people data from all mobile platforms and perform backend data mining.
- Handled version control, merges, and commits with GitHub and Git.
- Utilized BitRise.io for continuous integration.
- Created supporting home screen widgets to display specials based on user ps.
- Used Glide libraries for image handling.
Confidential, San Francisco, CA
Android App Developer
Responsibilities:
- Replaced old legacy Java code with Kotlin coroutines, extension functions, delegated properties, and configured null safety checks and higher order functions.
- Implemented RxJava for most of our asynchronous processes to simplify threading.
- Developed the Android app using MVVM architecture.
- Constructed the user interface by using RecyclerViews, custom view, compound view and various layouts.
- Used RxKotlin in conjunction with RxAndroid, RxBinding libraries to make app multithreaded and perform asynchronous operations.
- Implemented new features in Kotlin, eliminating null pointer exceptions.
- Used Android Device Monitor for monitoring CPU load, heap size and memory usage
- Implemented the multithreading communication using the built-in Android frameworks like RxJava.
- Created dynamic UI using ConstraintLayout and followed Material Design guidelines.
- Created fragments and custom views to implement new designs and reduce edge corner cases
- Used coroutines for asynchronous call and handle threading.
- Tested the user interface with implementing Espresso.
- Implemented Material design feature of RecyclerView, toolbar, CardView
- Tested the application on various devices and emulators to determine compatibility.
- Incorporated the communication between the application and the other Android applications backed by the customer.
- Used GitHub private repositories with standard workflows for version control.
Confidential, Bentonville, AR
Android Mobile App Developer
Responsibilities:
- Worked on existing large codebase using MVVM architecture to abstract the business logic and work on cloud-based middleware, databases, and REST/SOAP web services.
- Architected login component to implement an OTP generation algorithm with Google authenticator and biometric authentication with BiometricPrompt API.
- Used Android Studio as primary IDE and programmed in Kotlin with older features migrated from Java.
- Replaced JobDispatcher implementation with WorkManger API to download account statements in background and sync custom analytics data regularly to backend AWS server.
- Created custom authentication with Active Directory / LDAP using Auth0.
- Profiled the application using the APK analyzer to identify and fix issues for security scans such as SSL, encryption, loopholes, and other issues.
- Fixed accessibility defects in compliance with ADA standards.
- Improved the UI using ConstraintLayouts, CustomViews and Animations.
- Migrated Dagger2 to Koin Dependency Injection and created Koin modules for network, viewmodel, database, and background services injection.
- Defined utility classes for easy to test functionality like account details, account authentication, and several validations steps.
- Created FragmentFactory interface to allow code system to create a Fragment instance by providing it with the necessary arguments/dependencies needed to instantiate the Fragment.
- Utilized Amazon S3 (Simple Storage Service) service for media files storing and retrieving.
- Used Espresso and Mockito for testing User Interface (UI) and app functionalities.
- Tracked bugs and issues using Jira.
Confidential, Seattle, WA
Android Mobile App Developer
Responsibilities:
- Applied a MVVM architectural design pattern, transitioning code from MVP to MVVM.
- Used JetPack ViewModel to simplify the implementation of the MVVM architectural pattern.
- Simplified local database operations code base by providing a layer of abstraction to the code using JetPack Room.
- Fixed and analyzed crashes based on Crashlytics report.
- Created unit tests using JUnit and Expresso to test new features as they were created.
- Performed technical work using an Android Studio IDE platform.
- Programmed code in Java and Kotlin.
- Developed new features in Kotlin to reduce codebase with data classes and extension functions.
- Developed a large portion of domain layer logic into the applications according to technical assignment.
- Implemented Android Activities and Fragments to create design for the mockup designs.
- Customized List Views, Spinners, Adapters, Table Layouts, etc.
- Implemented dependency injection with Dagger II, and Butter Knife.
- Worked with Jenkins Continuous Integration server and used it to test real devices.
- Applied Leak Canary for memory leak detection/management.
- Used reactive frameworks such as RxJava, RxAndroid, RxBluetooth, and RxKotlin.
- Improved performance on back-end integration by transitioning to Retrofit working with RxJava and parsing JSON objects with GSON.
- Configured multithreads to receive and update calls from web server (Service and Broadcast Receiver).
- Used Frame Layout method to show background images of the app.
- Implemented local database using SQLite and optimized code.
- Designed logical flow for the application of different components.
- Mentored junior developers about best practices, material design, and the use of frameworks in Android Native development.
- Participated in ongoing initiatives to improve processes and establish best practices.