- Skilled in Android application development in Android Studio and Eclipse, coding in Java and Kotlin.
- Experience developing Android apps in versions of Android including Marshmallow, Lollipop, KitKat, Nougat, and Oreo.
- Experience with Reactive - X programming using Reactive frameworks in Android development.
- Experience developing mobile applications throughout the entire software development lifecycle (SDLC). Participated in all the phases including Requirements Collection, Design & Analysis of Customer Specifications, Development and Customization of the application, Unit testing and Production support, using Agile Scrum.
- Skilled in Android development using Android SDK, frameworks, Java and Android Studio or Eclipse.
- Experience in Messaging, Bluetooth and Wi-Fi connectivity with Android devices with Android CTS.
- Experience with third-party APIs and web services like Google, Facebook, Twitter, YouTube Player and Surface View.
- Experienced integrating Android mobile apps with web services using Retrofit, Volley, AsyncTask, OkHTTP and JSON, GSON, REST.
- Proficient on User Interface (UI) in android, having good knowledge on customizing UI components.
- Android frameworks and APIs, Loaders, AsyncTaskLoader and SyncAdapters.
- Experience working on-site and off-site teams and management of remote teams.
- Experience with dependency injection with Dagger 1, Dagger 2, Butter Knife.
- Strong understanding of Android framework, best practices, and design patterns.
- Proficient in using SVN and GIT code version control tools, as well as GUIs such as SourceTree, and BitBucket.
- Experience with mobile Wallet and various payment processing integrations.
- Proactive self-learner who adapts to new technologies, such as Smart Watches, Chromecast, and Smart TV devices.
- Passionate about best UI/UX best practices implementing fragments, diverse layouts, animations, Material Design, Compound Views and Custom Views.
- Experience in the implementation of Android mobile applications with RxJava, Firebase, Retrofit and Bluetooth for modern applications using IoT and learning.
- Experience in architecting and developing networking and secure applications for Android; working with video, static content, and advertising.
- Experience in building multithreaded applications using Threads, Handlers, Asynctask, Retrofit, and RxJava
IDEs: Android Studio, Visual Studio, Eclipse, IntelliJ, NetBeans
Project Management: Agile, Scrum, Kanban, Git, SVN, GitHub, BitBucket, Confluence, Javadoc, JIRA, Requirements Gathering, Code Reviews, TFS, Windows Azure, RUP, RAD
Quality & Testing: Continuous Integration using Jenkins, Hudson, or Travis CI servers. Test Driven Development (TDD), Unit Testing with Mockito and JUnit, Robolectric, Automated testing with Espresso, Robotium, Monkey Runner, Crashlytics, Leak Canary, Bluetooth Low Energy, TestFairy
Mobile Data Management: SQLite, NoSQL, Keychain, Parse, Firebase, greenDAO, Shared Preferences, RxCache, Internal and External Storage
Mobile Development: Dependency Injection using Dagger 1, Dagger 2, Butter Knife, RoboGuice, and Android Annotations, Consumption of RESTful web services with REST, SOAP, XML, JSON, GSON, Multithreading with Retrofit, RxJava, RxAndroid, Firebase, Loopers, Loaders, Volley, AsyncTask, Management of Media with Universal Image Loader, Picasso, Glide, MediaPlayer, ExoPlayer, and YouTube, Misc Libraries: EventBus, Google Maps, Google Cloud Messaging, NineOldAndroids, Spongy Castle, Kickflip, Cordova, PushBots, Schematic, Content Providers, Job Scheduler, Videffects, AnswersRx
Confidential, Vista, CA
Senior Android Developer
- Used Android Studio as main IDE for all Android development purposes working in Java and Kotlin with Reactive=X programming using Reactive frameworks such as RxJava, RxKotlin, RxBluetooth.
- Refactored Java code to Kotlin for existing applications.
- Created new features programmatically using Kotlin.
- Eliminated null point exceptions using Kotlin.
- Implemented dependency injection with Dagger 2.
- Used Android testing suite to write unit testing, as well as employed Test-Driven Development (TDD).
- Used Leak Canary and Charles Proxy for testing.
- Implemented several design patterns: Observable, Visitor, Factory, Singleton.
- Followed Full Agile methodology: Scrum, Planning, Grooming and Demo ceremonies strictly followed.
- Mentored junior members of the team in best practices and familiarizing with the code base.
- Utilized 3rd party libraries such as Retrofit, RxJava, and OkHTTP to handle back-end integration.
- Worked with Kotlin, the new programming language made by Google for native Android app development.
- Migrated our entire system from SVN to GIT, maintaining all history, branches and tags.
- Utilized Jira to track bugs, stories and spikes.
- Collaborated with 3rd party companies to deliver new SDKs and APIs.
- Demonstrated new features and current builds to high-level executives and stakeholders.
- Received crash reports from active users and resolved issues from looking at stack traces.
Confidential, Lakeland, FL
Android Application Developer
- Used Android Studio as main IDE working in Java and Kotlin.
- Used RESTful to communicate with web services and replaced old third-party libraries with more modern and attractive ones.
- Collaborated with external teams on modification and improvements to the Android app.
- Development of quality code using cutting-edge techniques, tools, and utilities for Android.
- Refactored code, updated features, and functionality using Android Studio.
- Used RxJava for all web service requests to the Android app.
- Actively worked with the back-end team to improve the RESTful API to include new features for the Android app.
- Helped transition the Android app from MVC to MVP, to achieve a complete separation of concerns, better code reuse, simpler code reuse and a higher percentage of unit tests.
- Contributed to the Android project product documentation.
- Performed regular Android team code reviews to ensure overall code quality and adherence to company coding standards and industry best practices.
- Use of SQLite database schema for persistent data storage for every schedule.
- Participated on the RESTful API definitions for the app.
- Used JustInMind prototyping tool for the first mock for the navigation approval.
- 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.
- Ability to manage competing priorities in a complex environment and maintain high productivity.
- Used the View Pager Indicator to provide feedback to the user about the background processing status.
- Implemented IcePick when building references to track them in an easier way and avoid memory leaks.
- Implementation of various user interface components such as WebView, ListView, ImageView, TextView to display the data for the application.
Confidential, Bentonville, AR
Senior Android Developer
- Implemented material design features such as Recycler Views and Card Views
- Developed Custom Views, Compound Views, and various layouts to construct the complex but user-friendly user interface
- Utilized SQLite database to store data with ORMLite for data model mapping
- Delivered a working application to the Google Play store
- Used Retrofit and GSON to retrieve information from an internally programmed API and make the conversion between the JSON and POJOs.
- Configured manual and generated content providers using Schematic.
- Mentored two junior developers on the software development process.
- Managed the build creation with a Jenkins instance hosted in a private server.
- Utilized Android Studio as the IDE in development
- Communicated with teammates in different time zones effectively to ensure the production workflow is not interrupted
- Created Services, AsyncTasks to perform update information check to avoid freezing the user interface
- Implemented New Relic to record custom metrics and networking
- Added HelpShift to allow users to easily search FAQs from their phones and send a note automatically attaching their device details
- Participated on the data modeling upgrade on the device side and the server side
- Generated documentation for detail design including wire-framing using JustInMind prototyping tool.
- Included dependency injection with Dagger 2.
- Utilized navigation drawer to provide quick and easy access to the menu items
- Utilized Google maps to provide directions to the appropriate Target store
- Consumed web services and parsed JSON files with GSON to fetch data which is used to populate the user interface
- Used AsyncTask to handle the communication to the web services.
- Supported 2 other languages such as Spanish and German
- Utilized Agile methodology to fulfill rapidly changing client requirements
- Worked with the ZXing library for bar code reading
- Ensure backward compatibility by using android support libraries.
Confidential, Mclean, VA
Senior Android De veloper
- Developed the application in Eclipse using Java coding and ensured backward with older Android OS.
- Constructed the user interface by using list view, custom view, compound view and various layouts
- Communicated with RESTful web services to obtain insurance companies information using Retrofit, OkHttp and Jackson.
- Supervised the creation of the testing (unit testing and integration testing) suites with Espresso and Mockito.
- Utilized Navigation Drawer and Tabs to provide quick and easy navigation
- Configured a Mix panel account to retrieve analytics information from every device installation.
- Parsed JSON files to obtain data returned from web services
- Used Loopj for asynchronous callbacks together with the Loading Everywhere library
- Upgraded the SQLite database to add various extra features to the app
- Mentored a junior Android developer on software development best practices
- Worked with the UI/UX team for the new app skin redesign
- Performed automated testing by using Robolectric
- Adapted Agile methodology to meet requirements on time
- Utilized Jira as the issue tracker for the application
- Git was the source control tool being used to manage the application development
- Managed memory leaks in debug builds with Leak Canary
- Responsible for the design, development, testing and publishing of the application
- Implemented Crittercism to monitor crashes and exceptions and user app analytics data
- Integrated conScore for in-depth view of interactions and conversion including detailed information about usage by device and type
- Added Localytics for in-app behavior tracking and usage, including location, gender, preferences, and interests.
Confidential, Atlanta, GA
Senior Android Developer
- Used Eclipse IDE to develop the Android application in Java using native and third-party frameworks and libraries.
- Implemented secure data encryption using an SQLCipher instance.
- Introduced Navigation Drawer and Tabs, custom and compound views to the project.
- Implemented HTTP client (GET, POST, DELETE, PUT) to consume RESTful web services.
- Connected the app to Twitter, Instagram, and Facebook.
- Generated reachable daily goals and created a delegation task system that allowed developers focus on the development bearing.
- Used Android Annotations for dependency injection.
- Used design patterns: MVP, Factory, Singleton, and Decorator.
- Identified bugs on the previous version improving the performance on the Android lifecycle.
- Trained internal Java developers for further application maintenance.
- Used Android Device Monitor for monitoring CPU load, heap size, and memory usage.
- Implemented the multithreading communication using the built-in Android frameworks like AsyncTask and Handlers.
- Closely worked with testing team and used developer testing tools like Robolectric.
- Integrated Flurry for mobile analytics.
- Use of GIT for source control management and continuous integration with Jenkins.
- Assisted with the architecture and implementation of runtime permissions for Android version 4.1 and above.
- Proven abilities to work closely and effectively with engineering and non-engineering teams
- Generated a downstream logic to communicate the servers with the phones using Google Cloud Messaging (GCM).
- Configured manual and generated content providers using Schematic.
- Interacted closely with both the Product and the Design teams.