- 5 years of experience of professional Android application development
- 5 published apps in the Google Play Store
- Experience in Java, Kotlin, Android UI Toolkit and Layout Managers. Proficient in Android Application Framework and Android SDK Tools.
- Memory test and analysis with the Android Studio Heap Tool
- Ability to diagnose and solve mobile networking performance issues.
- Expertise in the implementation of persistent data for mobile devices applications, web - based databases and use of the cloud.
- Managed Version Control tools such as SVN, Git, BitBucket.
- Adroitness in data base management systems like MySQL and SQLite.
- Successfully managed integrated data security algorithms to protect personal data.
- Experience in the use of Git, GitHub for version control on Android projects.
- Full life cycle of Android mobile application development, including emulator testing and device testing both with and without continuous integration.
- Have developed applications in such a way that device adaptability (Android device forms and SDK
- Have worked with low-level code interfacing with the Java native JNI and the Android NDK.
- Experience with mobile Wallet and various payment processing integrations.
- Gathered requirement and produced technical documentation.
- Configured automated builds with Jenkins, Hudson, and Travis.
- Solid exposure to Version Control tools such as Git, SVN, Perforce, Bitbucket, and TFS.
- Publish release packages and records.
- Multiple Device Support (Screens, Internationalization and Accessibility)
- Providing assistance to code merges, builds, deployments, and ensuring production stability.
- High capacity to constantly learn latest device technologies such as Smart Watches, Android Smart TV’s, Chromecast.
- Network integration experience with GSON, OkHTTP, Dagger, Butter Knife, RxJava, Retrofit, Volley, AsyncTask.
- Experience consuming web services and HTTP REST interaction with JSON and XML
Android OS: Android Jellybean, KitKat, Lollipop, Marshmallow, Nougat
Development Environment & Tools: Android Studio, Eclipse, IntelliJ
Git, GitHub, SVN: Programming Languages
JIRA: DDMS tool
Firebase Crash Reporting: Fabric Crashlytics
Architecture & Design Patterns: MVC, MVP, MVVM, Singleton, Dependency Injection,
Android Libraries: C standard Library
MPL and MECL libraries.: Ksoap2 library
Jersey Library: open source libraries,
Java Swing: Ajax Swing
Web Integration: JSON, XML, SOAP, REST, GSON
Web Integration: UI implementation, threading, memory management, performance enhancement, user experience, back-end integration, business logic
Methodologies: Agile/Scrum, Test Driven Development, Continuous Integration, Unit Testing, Functional Testing
Miscellaneous Android Mobile Development: Firebase, Retrolambda, Parse, ConstraintLayout, Android Studio, Loaders, JobScheduler, GreenDAO, Loopers, Dagger, IntentServices, Travis, GSON, NineOldAndroids, Google Cloud Messaging, Jenkins, Handlers, LeakCanary, Certificate Pinning, Realm, AndroidPhotoFilters, Mockito, GPS, Google Custom Search, Material Dialogs, Protobuf, SpongyCastle, RxJava, Broadcast Receivers, Picasso, Volley, MonkeyRunner, JUnit, Dependency Injection, EventBus, Robolectric, ProgressBar, MPAndroidChart, Espresso, Support Libraries, OkHTTP, Sugar, Retrofit, Answers, Moshi, VidEffects, Push Notifications, MVC, Glide, Chromecast, Content Resolvers.
Senior Android developer
- Implemented the MVVM architecture design pattern for the app.
- Used Databinding to dynamically update contents of UIs.
- Used MockK for efficient unit testing of Kotlin business logic and to effectively mock classes’ dependencies.
- Implemented Coroutines to handle async work, manage concurrent tasks and data propagation.
- Test coroutines for unit tests to test how responses are handled using blocking functions.
- Relied on Firebase Cloud Services for data and media storage.
- Utilized JIRA for project management and story and sprint organization.
- Implemented Glide third party library for network image loading.
- Designed and coded Custom Views to create unique functionality that could be reused across multiple screens of the app.
- Enabled reactive and responsive UI designs using the ConstraintLayout.
- Participated in daily scrum stand ups and cooperation with teams to work through blockers.
- Implemented multiple lists of the application using RecyclerViews.
- Added Jetpack Navigation component to implement and manage navigation across the app
- Responsible for managing the app’s versioning through Gradle files configuration.
- Implemented custom SnackBars for unique and customizable local messaging in app.
- Set up Gson parsing library to map REST API JSON responses into objects.
- Created Proguard rules to minimize and obfuscate app in release builds.
- Performed performance and issue fixing using Android Studio’s Profiler and debugger.
- Encrypted Shared Preferences to store sensitive info locally.
- For our Continuous integration and build management Bamboo CI server was used.
- Implemented JaCoco library and configuration to measure local unit tests coverage.
- Worked with Bitbucket for distributed git version control repository.
- Implemented Custom Toolbars and enabled them with custom actions.
- Implemented several Object Animators loaded through xml resources.
- Used LiveData and MutableLiveData instances for lifecycle aware observable data.
- Performedn UI State management using sealed class states, LiveData and Databinding.
Technologies: Android Studio, Kotlin, RxKotlin, Retrofit, Postman, Charles Proxy, Bamboo, Jira, Confluence, Teams, Skype, MVVM, JetPack, Git, BitBucket, ConstraintLayout, Recycler View, ViewModel, Animations, Android Data Binding,
Senior Android developer
- Agile methodology use for software project development with Jira as the project management tool.
- I used RxKotlin to make the Android app highly reactive with multi-thread processing and management with Retrofit to handle interfacing with APIs.
- Implemented Android Jetpack for databinding, view models and navigation graphs.
- Postman used to verify data payloads returned from GET requests to APIs.
- Charles Proxy used to verify calls and requests being made to servers.
- Improved user interface to provide more detail with RecyclerViews for dynamic, smooth-loading views with data binding in all layouts for reactive views.
- Architectural pattern MVVM was used to create a highly decoupled and modular app.
- GitLab provided version control with Git branch release branching and development, feature, release branching.
- Troubleshooting with QEs working cooperatively to understand acceptance criteria and resolve bugs and defects.
- Responsible for onboarding and knowledge transfer for new developers.
- Responsible for work of offshore developers, assigning tasks in Jira and making sure they understand assignments, that all assignments were completed correctly and timely, and provided mentoring as needed.
- Worked with new Android jetpack navigation controller to provide smooth and elegant navigation in the Android app.
- Backlog refinement with project managers and other developers to assign points to stories, understand acceptance criteria, and slot stories for work in sprints.
- Android animations created with custom scripts I wrote, particularly for recycler views, to provide a more interesting customer experience.
- Used Constraint layouts for layouts that look good across all screen sizes.
- Set-up Localytics to provide analytics of user behavior in app.
- Adobe Analytics used to convert localytics tagging to Adobe tagging.
- Mock unit testing used in testing framework for robust unit testing in Kotlin.
- Binding adapters custom written for multiple different applications, like for loading images into image views, or for passing ViewModels across layouts.
- Refactored Java to Kotlin to utilize all benefits of Kotlin, like null safety.
Technologies: Android Studio, Java, Kotlin, RxKotlin, Retrofit, Postman, Charles Proxy, AVDs, Jira, Confluence, Teams, Skype, MVVM, JetPack, Git, GitLab, Localytics, Adobe Analytics, Constraints, Recycler View, ViewModel, Animations, Android Data Binding,
Senior Android developer
- Worked closely with the UI/UX team to develop an easy to use search engine UI.
- Actively ensured that UI/UX team followed Material Design best practices and guidelines.
- Implemented Material Design features of RecyclerView, ActionBar, CardView for Android app user interface.
- Partnered with cross-functional teams to define new product requirements, features, and functionality.
- Worked with asynchronous requests to the server with Volley library for Android.
- Used Fabric Crashlytics to track user behavior and obtain mobile analytics.
- The Android development team used a private Git server and I managed the code-base.
- We used Jenkins CI for continuous integration and testing/
- Led developers in code-reviews and oversaw development of unit tests and functional tests, using jUnit and Mockito.
- Used Retrofit and GSON to retrieve information from an internally programmed API in Android development.
- Assisted with Android development and hardware ecosystem, from devices to the Play Store.
- Supported multiple screen resolutions implementing different layouts for portrait and landscape.
- Participated in requirement gathering and ensuring customer specifications were met for this Android project.
- Participated in all stages of software development, including submission and deployment to Google Play store.
- Implementing new Android components and libraries.
- Participated in the decision-making process for selecting the appropriate technologies for the project based on requirements and the user’s needs.
- Developed Android Activities, Fragments and display modes.
- Used Dagger 2 for dependency injection.
- Documented the progress of the daily stand-ups with the Atlassian stack (JIRA, Confluence, HipChat).
- Worked with the Mobile Product Management team to define the new product features in he Android app.
- Contributed in production release deployment, certifying release features, monitoring production logs and fixing production issues on demand.
- As a team member, I was involved in the design and implementation of the UI, classes and activities of the mobile application.