Senior Android App Developer Resume
SUMMARY
- 8 Years of experience in Android Application Development
- 9 apps published to Play Store.
- Ability to contribute to design, architecture, and technical strategy.
- Skilled Kotlin and Java programmer.
- Ability to set tasks and complete work independently wifout direction or work as part of a team.
- Conducted interviews and contributed to the continuous grow the engineering team.
- Able to articulate rationale for development decision.
- Ability to ask the right questions, provide feedback to stakeholders, break down tasks, and create a plan to achieve the intended result.
- Knowledgeable of HTTP and REST - style web services.
- Ability to research, consult and guide decisions on architecture and technical strategy.
- Continuously research, test, and implement new techniques, Android frameworks, and utilities.
- Worked extensively wif Kotlin Coroutines
- Developed new features in Kotlin and migrated existing Java code into Kotlin.
- Architected, designed, developed, and tested applications from scratch.
- Conducted technical Knowledge Transfer sessions for new developers.
- Comfortable wif version control tools such as GitHub, Gitlab and more.
- A proponent of coding best practices based on Object Oriented Principals.
- Commitment to getting results for time-sensitive launches, promotions, and events.
- Adept wif Android performance tuning and crash reporting applications.
- Considerable experience in debugging and profiling Android applications.
- Configured and initialized multiple cloud integration services including Parse, Firebase, and Firebase Cloud Messaging on Android apps.
- Implemented push notifications using Firebase Cloud Messaging on the Google Firebase console.
- Ability to manage priorities in a complex environment and maintain high productivity in an Agile Environment.
TECHNICAL SKILLS
Mobile App Development: Android, Android SDK, JDK
Programming Languages: Kotlin, C++, JAVA, Fortran, Python, OpenGL, SQL, JavaScript, HTML, CSS
Database: MySQL, SQL, SQLite, Room DB, MongoDB, Firebase Realtime DB
IDE: NetBeans, Eclipse, Android Studio
Operating Systems: Android, Linux, Windows, Ubuntu, MacOS
Web Design: HTML, php, HTML5, CSS, Node.js,Angular.js,JavaScript
Web Services: SOAP, REST, JSON, GSON
Issue Tracking: JIRA, ADB,LeakCanary, Firebase Crashlytics
UI/UX: Android CustomViews, Material Design, RecyclerViews, Animations
Multithreading: AsyncTask,IntentService, Handler Threads, RxJava, Kotlin Coroutines, WorkManager
Design and Architecture: MVC,MVP,MVVM,Singleton, Dependency Injection, Builder, Factory, Façade, Proxy, Command, Observer
Multimedia: Picasso, Glide, Fresco
Version Control: GitLab, Git, GitHub, SourceTree, Command Line
Methodologies: TDD, Pair Programming, Agile, Scrum
Dependency Injection: Dagger, Butter Knife, Ice Pick Android Annotations
Continuous Integration: Jenkins Bitrise Travis, Hudson
Testing and Troubleshooting: Leak Canary, Mockito, Junit, Espresso
Misc: JobScheduler, EventBus, Schematic, Location Services, Bluetooth Low Energy (BLE)
Push Notifications: Urban Airship/Firebase Cloud Messaging (FCM), Google Cloud Messaging (GCM)
PROFESSIONAL EXPERIENCE
Senior Android App Developer
Confidential
Responsibilities:
- Worked wifin an Agile/Scrum development structure operating remotely using Slack, Zoom, and Outlook.
- Led morning stand-ups when Lead was unavailable.
- Worked wif Android Studio as the main IDE for the project.
- Worked wifin a large MVVM Architecture.
- Programmed in Kotlin and Java, and updated and modified legacy codebase, including many libraries and documents.
- Updated code to use Couchbase documents for content to avoid needing a release to update copy or content.
- Worked wif iOS Developers to ensure Android app was consistent wif iOS app in appearance and functionality.
- Used reactive frameworks such as RxJava, RxAndroid, RxBluetooth, and RxKotlin.
- Synced wif other team members and leads when a task was unclear or assistance was needed and assisted other team members wif tasks when needed.
- Used Charles Proxy to debug and test API calls as well as provide data for QA and Analytics.
- Wrote tests for all new code and legacy code when tests were missing or incomplete using TDD principals.
- Wrote Units test using Junit and Mockito.
- Assisted QA in validating tickets when needed.
- Implemented Dependency Injection on almost all tickets wif Dagger 2.
- Used Postman to interact wif client custom APIs.
- Completed peer code reviews for colleagues.
- Worked on various app features, including autantication, bookings, displaying live wait times, dynamic recommendations, custom maps, search and filtering functionality, and proper error screens and reporting.
- Ensured all content and screens met expectations for screen-reader functionality using Android.
- Added functionality for analytics tracking for NewRelic analytics data.
- Used Maven to modify and manually test code locally.
- Used Jira to track tickets, stories, and deadlines
- Added a custom account to the user's device to autanticate back-end services using OAuth.
- Used GitHub and Git for version control, code reviews and avoiding breaking changes.
- Used TestAid to create mock accounts for testing and validation purposes.
- Applied Google Maps third-party library.
- Applied Accessibility Suite and TalkBack, including fixing/updating voiceover text and debugging as needed.
- Worked on confidential projects dat were to be kept secret even wif the company.
- Screened potential interview candidates when filling vacancies on the team.
Senior Android Developer
Confidential, Boise, Idaho
Responsibilities:
- Attended daily standups and gave my input on current tasks and the tasks to follow, following agile scrum methodology.
- Implemented concurrency design pattern using Kotlin coroutines to simplify code dat executes asynchronously and for the consumption of REST API resources.
- Replace JobDispatcher implementation wif WorkManger API to download flight details in background and sync analytics data regularly
- Work on payment module to Create a Payment and Process the Order using you're OAuth2 tokens, the Client Metadata ID, and PayPal's API
- Integrated Kotlin Koin dependency injection to describe dependencies into modules and sub-modules, provide a factory bean definition and resolve a component dependency.
- Created notifications wif pending intents to navigate the user back to the application when clicked.
- Converted old WebViews into native android implementations utilizing Constraints Layouts and various design views.
- Application was developed in MVP initially, halped in refactoring to MVVM for a more maintainable and scalable code base.
- Implemented new features using android databinding library, using two-way data binding wif an MVVM architecture.
- Created RecyclerViews and their respective adapters to display all list information as per the UI/UX design requirements.
- Worked directly wif lead to direct the application technologies and android supported versions.
- Utilized fragments to create a dynamic and upscale UI for the user.
- Utilized LeakCanary to detect and remove all memory leaks if any.
- Communicated wif iOS team to make goals and implementations uniform as per design and business requirements.
- Implemented unit tests using Junit and Mockito to mock all necessary dependencies.
Senior Android Developer
Confidential, New York, NY
Responsibilities:
- Use Espresso & Mockito for testing User Interface (UI) & App functionalities.
- Usage of native and third-party technologies to optimize the application functionality including Android Studio, Java, Android Pay, Android Wear, Crashlytics, Espresso, Picasso, Custom Views, Facebook API, Twitter API, Google Maps API, SQLite, Dagger, Butter Knife.
- Application was design in Kotlin using MVVM architecture.
- Secured the code of the application wif ProGuard.
- Utilized Android Studio IDE to develop and code updates to the application.
- Refactored and redesigned multiple modules for reusability purposes.
- Introduced Dagger 2 for easier decoupling of the modules through dependency injection.
- Use the Jackson and GSON libraries (depending on the project) to parse JSON files coming from web services.
- Handle fragment data retention to ensure data integrity on screen rotation.
- Work to improve the user experience by modifying the app navigation and replacing activities for fragments when possible and adding tabs and navigation drawer.
- Heavy use of Fabric Crashlytics for real-time bug and crash reporting
- Implemented instance handlers for Java threading - separated from the user's interface thread.
- Use of RxJava for most of our asynchronous processes.
- Participate in Agile/iterative development methodologies (XP, SCRUM, etc.).
- Integration of third-party APIs using Retrofit.
- Use GitHub private repositories wif standard Workflows as a Version Control Software.
- Implemented an internal library to manage the process of logging responses from the Web Service.
- Documented and demonstrated solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code.
Sr Android Developer
Confidential, New York, NY
Responsibilities:
- Conducted pair programming sessions for fast paced development and implementation.
- Performed code reviews on the work of other team members.
- Continuous Integration wif Go scripts using pipelines.
- Worked on the migration and refactoring from MVP Architecture to MVVM architecture.
- Implemented newer features in Kotlin and refactored old Java classes.
- Used micro services architecture, closely worked wif backend team.
- Applied several design patters while implementing new features and refactors, Observer, Singleton, Builder, Facade, Adapter, Repository, Router, etc.
- Provided technical advice to the business and design teams on new application.
- Refactored error messages across the application.
- Maintained high-quality code using code coverage and code correctness using various tools including Lint and SonarQube.
- Created custom views for interface to improve the user experience.
- Created robust automated unit/functional test suites and deployment scripts.
- Implemented RecyclerView, toolbar, and CardView.
- Conducted interviews and meetings wif stakeholders and test users
- Used GIT for source control management and continuous integration wif Travis for CI.
- Used implicit intents to redirect to Google PlayStore and Android app section
- Used Navigation Drawer and Tabs to provide easy navigation of the Android interface
- Worked wif an internal QA team on system, performance, and acceptance testing using Jira for issue tracking.
- Usage of Bluetooth Low Energy in the establishment of cellular to TV box connection
- Developed registration process wif password recovery functionality for the app using Firebase Autantication.
- Supported screen resolutions to provide proper resizing across Android devices using ConstraintLayouts.
- Managed two developers on Android to plan and develop the mobile platform.
- Implemented a Recycler wif lazy image loading using Glide.
Android Mobile App Developer
Confidential, Dallas, TX
Responsibilities:
- Developed the application in Android Studio using MVP architecture pattern.
- Used Espresso & Mockito for testing the UI & App functionalities.
- Organized & improved global widgets and UI controls.
- Designed screens related to categories and detail pages for the application.
- Provided architectural inputs, daily updates, sorting open issues dat involve issues related to design, development, and implementation.
- Used Retrofit to make a parent callback interface to automatically handle the error function, caching, and pagination to API.
- Used RxJava for all web service requests to the Android app. Integrated third-party SDK & frameworks, defining app architecture & development strategies, JSON/REST.
- Developed Navigation Drawer for the app, providing better navigation of app features.
- Implemented Google Cloud Messaging for instant alerts for the customers.
- Implemented OAuth and autantication tokens.
- Implemented entire feature using Fragments and Custom Views.
- Performed analysis of mobile application code for re-engineering.
- Used sync adapters to load changed data from the server and send modified data to the server from the mobile app.
- Worked closely wif other team members, management, and employees to develop the business logic of the application.
- Introduced Push Notifications through Firebase.
- Used Parcelable to marshal Java objects from Activity to Activity.
- Used Retrofit and GSON to retrieve information from an internally programmed API and convert between the JSON and POJOs.
- Used GIT for code repository to maintain current and historical versions of the Android app source code.
- Used Google Maps API and Google Location services to provide directions for users.
- Implemented rating system and user comment threads.
Junior Android Developer
Confidential, San Francisco, CA
Responsibilities:
- Incorporated payment modes using Stripe, PayPal, card.io library to pay for rides and securely store credit card information to pay for future orders.
- Refactored the project using MVP and applied code reusability using dependency injection libraries (Dagger2, Butterknife).
- Adhered to Material Design structure and TEMPprincipals.
- Used Rx-java, applied multithreaded programming, asynchronous programming, and design patterns.
- Managed refactoring to fix bugs, apply clean code architecture, added features and functionalities, and improved User interface wifout effecting business requirements.
- Worked independently on Track you're delivery, use cases.
- Added Flurry for user behavior tracking and quality control over crashes.
- Integrated Facebook and Twitter API for incorporating Like, Login and Sharing features.
- Managed the build creation wif a Jenkins instance hosted on a private server.
- Managed the JIRA backlog and assisted wif debugging and profiling Android apps.
- Included GPS features, by implementing Google Maps, and Google Places APIs.
- Added LocationManager (GPS) to find users and customize Android UX experience.
- Used Picasso libs for memory efficient imaging and disk caching.
- Coded cryptographic API interfaces to implement algorithms for encryption, decryption, and/or key agreements.
- Developed a library dat abstracted core business rules and defined the business objects to provide the interface for GUI. This layer implemented core banking RESTful services, Handlers/Executors/Threads for multithreading.
- Resolved dependencies using Dagger2 wifout effecting other modules.
- Wrote unit tests using JUnit, Mockito and developed automated test using Jenkins.
- Used Jenkins as the continuous integration environment to track code issues and manage tasks.
- Designed custom, compound views, and custom animation effects to fit User Interface (UI) requirements.
- Developed enhancements and improvements to the current application.
Android Mobile App Developer
Confidential, San Francisco, CA
Responsibilities:
- Played an active role in team by interacting wif business analysts and converted business requirements into system requirements.
- As a team member, me was involved in the design and implementation of the UI, classes, architecture, and activities of the mobile application.
- Built compatibility wif android version 4.4 and up.
- Worked on XML UI designs.
- Worked on animations in the applications like view animations, frame animations, tween animations etc.
- Involved in writing application logic in Eclipse using ADT plug-in for Android.
- Worked in different phases of the project cycle like design, development, and testing.
- Implemented Frame Layout method to show background images of the app.
- Used JUnit framework for Unit testing of application.
- Updated backend validations to meet tablet specific requirements.
- Used Android Studio to develop the screens for the application using MVC design pattern.
- Worked on Android.mk files to build Source Code as part of build environment.
- Application was initially in MVC and was refactored to MVP.
- Used MVP (Model View Presenter) design pattern to allow a presentation layer which is separate from the logic, so dat everything about how the interface works is separated from the on-screen representation.
- Implemented Singleton Object class for managing 3rd party API to access the information in various modules of the application.
- Involved in requirement gathering, UI design and development.