- 9 Years of Experience in Android App development and 6 published Enterprise Level apps.
- Use of Android Studio for Android app development in Java and Kotlin with use of native and third - party libraries.
- JetPack components for Android used to facilitate development and maintenance.
- Experience transitioning code from Java to Kotlin and development of new features in Kotlin.
- Experience working with RESTful Web Services using Retrofit, Volley, OKHTTP and parsing of JSON objects with GSON.
- Flexible and adaptable; able to work on-site, remote, with team or independent.
- Experienced in Agile Scrum software development processes, participating in daily Scrums, Sprint Planning, Sprint Retrofit, Sprint Backlog.
- Skilled in testing on devise or emulators using Jenkins CI server for continuous integration with Git repository and Gradle build.
- Implementation using various architecture and design patterns such as MVC, MVP, MVVM as well as Singleton, Command, Facade, Proxy for Android Mobile App development.
- Experienced in software development life cycle working with Android Mobile App Development.
- Experienced integrating Android mobile apps with web-based content via Web Services.
- Able to develop Android apps for various Android devices such as tablets, phones, smart TVs and Android Smart Watches.
- Expert coder, proficient in programming logic and languages, and adept at learning.
- Expert with IntelliJ, Eclipse, and Android Studio IDEs for Android development; coding in Java and Kotlin.
- Expertise or familiarity with well-designed user interfaces following Google Material Design Guidelines with mockups and wireframes in Balsamiq and Mockito.
- Use of various source control tools such BitRise.io, SVN, and Git, BitBucket and SourceTree.
- Follow best practices for requirement gathering, design documentation, code review, testing, and defect fixing.
- Follows best practices for requirement gathering, design documentation, code review, testing, and defect fixing in Android development.
- Full-stack developer cable of designing, developing and publishing scalable and high-performance Android applications working on both front-end and back-end development.
- Fully conversant with OOP principles, software development frameworks and mobile-targeted design patterns like MVP and MVVM.
Databases: SQLite, MongoDB
IDE: Eclipse, Android Studio, Firebase, IntelliJ, Visual Studio
Design Standards: Material Design
Design Patterns: MVP, MVC, MVVM
Development: Algorithm Writing, API Development, Server-Side Programming
Test-Driven Development (TDD): Continuous Integration, Agile Scrum
Continuous Integration: Jenkins CI, Travis CI, Bitrise.io
Operating Systems: Android OS Lollipop, Nougat, Marshmallow
Version Control: Git, GitHub, GitLab, SVN, Bitbucket, SourceTree, Mercurial
RESTful Web Services: REST, SOAP, XML, JSON, GSON
Threading: Loopers, Loaders, AsyncTask, Intent Service, RxJava
Testing: Mockito, Junit, Espresso, Robotium, Test Fairy, LeakCanary, Firebase Crash Reporting, Fabric Crashlytics
Dependency Injection: Dagger 1, Dagger 2, IcePick, Butter Knife
Suites: Firebase, JetPack, Fabric
Frameworks: Reactive-X (RxJava, RxAndroid, RxCache)
Integration and Threading: Volley, Retrofit, AsyncTask
Media: ExoPlayer, Glide, Picasso
Senior Android Developer
- Designed and developed new features in MVVM.
- Implemented Jetpack Navigation Components to compartmentalize and modularize concerns.
- Migrated notification management system from GCM to FCM.
- Developed a notification module to accommodate for loyalty services.
- Implemented a marshalling system to ensure proper serialization and deserialization of encrypted data using Gson and LoganSquare.
- Designed and developed a logging library to act as a facade for logging errors both in std output and crashlytics event logs for Firebase, Kochava and NewRelic.
- Designed and developed a module for A/B testing and feature flags via Apptimize.
- Migrated analytics solutions to Mparticle.
- Designed and developed a module to provide deeplinking solutions
- Designed and developed a library for networking solutions using Retrofit and OkHttp3.
- Wrote unit tests in Robolectric and Junit to improve code coverage
- Integrated with Fastlane for CI/CD solutions
- Used JIRA to estimate and assign stories, triage bugs, identify issues with our development and review process and provide solutions.
- Created stories and planned a road map for any tech debt related issues
- Prioritized board to address high priority issues and ensure production environment runs as smoothly as possible.
- Performed code reviews, approved and merged code on GitHub.
Tech Used: JavaKotlin, Navigation Components, Dagger2, OkHttp, Epsilon, Harmony, NewRelic, Kochava, Zxing, Google Pay, Fuse, Glide, GCM, Google Maps SDK, Mparticle, Apptimize, DiskLruCache, Material Design, MVVM, Fastlane, Firebase Analytics, FCM, Coroutines, Charles Proxy, Git, Github Android Studio, Java, Kotlin, JetPack, RxJava, RxAndroid, RxCache, Retrofit, Glide, Android Data Binding, Jira, Git, Agile Scrum, Dagger 2, Leak Canary, Google Cloud Messaging (GCM), Google Maps, Google Location, Ui/UX.
Senior Android Developer
- Developed rich UI for the most of the modules in the application using RecyclerView, ViewPager and Navigation Drawer.
- Worked in Android Studio for IDE and coding in Java with transitioning of many code elements to Kotlin including Java arrays.
- Upgraded Google location maps API location services in the Android app. Maintained interface guidelines and implemented search view. Implemented RxJava to get the server response.
- Used JetPack for Android components to improve back-end management.
- Used Leak Canary to manage, trace and fix memory leaks issue within the Android app.
- Optimized Android geo-location-based features, user location tracing, navigation, Geocoding.
- Used GIT for code repository and maintaining current and historical versions of the Android app source code.
- Integrated Google Cloud Messaging for sending notifications to registered users about weather events on the Android weather app.
- Used Dagger for dependency injections for loose coupling of app views and Android Data Binding.
- Used Retrofit to make a parent Callback Interface to automatically handle the error function, caching, and pagination to API.
- Used faster image loading libraries of Glide to manage bitmaps to improve Android app performance.
- Recommended and implemented switch from Picasso to Glide for more efficient memory management in the Android app.
- Bug-tracking the application using JIRA to organize, prioritize and assign issues as they arise.
- Incorporated Google Analytics for efficient track of the application crash and error reporting.
- Maintained long and short-range deliverables with product management team according to product roadmaps.
- Lead the Android app team in debugging critical application issues such as crashes, memory leaks, and concurrency problems.
- Implemented Android Data Binding as well as used Dagger 2 for dependency injection
Tech Used: Android Studio, Java, Kotlin, JetPack, RxJava, RxAndroid, RxCache, Retrofit, Glide, Android Data Binding, Jira, Git, Agile Scrum, Dagger 2, Leak Canary, Google Cloud Messaging (GCM), Google Maps, Google Location, Ui/UX.