Senior Android Developer Resume
Charlotte, NC
SUMMARY
- 9 years’ experience in Android/Mobile Development.
- 4 enterprise mobile app published on the Google Play Store.
- 1 app developed for internal corporate use.
- Android experience with Java, Kotlin, and hybrid Kotlin - Java Android projects.
- Experience employing Object Oriented Architecture (OOP) architecture and design patterns (e.g., Singleton, Delegation, Model-View-Controller (MVC), Model - view - presenter (MVP), Model - view - view model (MVVM), Decorator, Proxy, Builder, Abstract Factory, etc.) to Android Mobile application developments.
- Skilled with Android SDK, debugging tools, memory management, and multithreading.
- Experience writing technical documents and designs relevant to the development process.
- Communicate effectively with stakeholders to manage expectations and gather business requirements and translate them into technical specification documents and solutions.
- Experience utilizing Test Driven Development (TDD) and Continuous Integration for test automation to ensure high quality and easy-to-deploy app updates.
- Proficient in Agile/SCRUM methodology and comfortable as a team member or team lead, and comfortable contributing to or leading story estimation, Sprint Planning meetings, Sprint Retrospectives, and Backlog grooming and Daily Stand-ups.
- Adept at transitioning code bases from Java to Kotlin or from one architectural pattern such as MVVM with JetPack Architecture Components.
- Detail-oriented Android developer and object-oriented programmer with experience in the entire software development lifecycle (SDLC). (Android mobile app requirements gathering - deployment).
- Experienced working with Android main components: Activity, Services, ContentProviders, and BroadcastReceivers.
- Adept at integrating various native Android SDK APIs such as LocationManager, Object Animator, FCM, BluetoothManager, SensorManager, etc.
- Comfortable with source control software programs (e.g., GIT, GitHub, GitLab, SourceTree, BitBucket, etc).
- Experience working with diverse Android development teams, both local and offshore.
- Experience adding accessibility to end user Android applications.
- Android development team mentor assisting in code reviews and follow-up Java/Kotlin coaching.
- Proactively perform extensive code and functional testing to ensure bug-free Android apps.
- Experience consuming backend RESTful web services with JSON and XML based responses.
- Experience troubleshooting issues including connectivity and integration issues.
- Highly noledgeable about Play Store submission requirements and publishing process.
- Experienced with Android Layouts and using ConstraintLayout to build complex UI/UX.
- Skilled at integrating Android back-end services using RxJava, Retrofit, and Kotlin Coroutines.
- Adept at developing various unit tests using the JUnit, Mockito, and PowerMock frameworks to ensure clean and stable code.
- Experience implementing application data persistence using Room, SQLite, SharedPreferences, External and Internal storage.
- Experience developing Android apps for the phone and tablet platform using Android SDK and Android Studio development environment across a range of industries.
- Experienced Android developer working on Business to Consumer Mobile apps and producing attractive and highly functional, material-oriented Android user interfaces (UIs).
- Extensive experience consuming web service APIs using XML or JSON using Retrofit, OkHttp, and GSON.
- Communicate effectively with UI/UX designers, QA, and Software engineers alike.
TECHNICAL SKILLS
Programming: Kotlin, Java, C#, Python, JavaScript, HTML, CSS3, C++, TypeScript
Architecture: MVVM, MVP, MVC, Builder, Factory, Façade, Proxy, Command, Singleton, Observer, Visitor, Interpreter
Integrated Development Environments (IDE): Android Studio, IntelliJ, Eclipse, Visual Studio, NetBeans
Agile Methodologies: Agile Scrum, Pair Programming, Xtreme Programming
Android Development: Sensor Manager, Location Manager, Bluetooth Low Energy, ProGuard, NineOldAndroid, Gradle, Gradle KTS
Database Management: SQLite, Firebase Realtime Database, Room, MySQL, Oracle SQL, MongoDB
Version Control: Git, GitHub, GitLab, BitBucket
Testing: JUnit, Mockito, MockK, PowerMock, Espresso, Robolectric, MonkeyRunner, Robotium, Cypress.io,, JaCoCo, Cucumber
Reporting: Play Console Reports, Firebase Crashlytics, Crystal Reports, InstaBug, Fabric
Dependency Injection: Koin, Dagger2, IcePick, Dagger 1, ButterKnife
Threading: RxJava, RxAndroid, Kotlin Coroutines, Intent Service, Handler, AsyncTask, Threads, Loopers and Loaders
Views: Custom Views and ViewGroups, Android adapter views
Cloud API: Google Maps API, Google Directions API, Activity Recognition API, Firebase Services, AWS S3
Web Services: Volley, Retrofit, OkHttp, OkHttp Interceptors, JSON, XML, GsonConverterFactory, Postman, CharlesProxy, Axios
Multimedia: MediaPlayer, Glide, Picasso, Universal Image Loader, Exoplayer, Youtube SDK
Software and OS: Windows OS, Linux, Mac OS
Continuous Integration: Jenkins, CircleCI, Travis, Hudson, Bitrise
Project Work Management and Collaboration Tools: Jira, Confluence
Parsing Libraries: GSON, Moshi, Jackson, SimpleXML
Miscellaneous Libraries: EventBus, Stetho, Timber, Lottie Animations, ReactJS
Cloud Messaging: Firebase Cloud Messaging, Google Cloud Messaging, MixPanel, UrbanAirship
Static Code Analyzers: Lint, Ktlint, Detekt, FindBugs
PROFESSIONAL EXPERIENCE
Senior Android Developer
Confidential, Charlotte, NC
Responsibilities:
- Attended and contributed to big room planning meetings with fellow developers on the project, which is aligned with an Agile development lifecyvle.
- Translated UI design requirements into native Android implementations.
- Developed application in Kotlin and Java, implementing new features in Kotlin and migrating older classes into Kotlin.
- Implemented several libraries for Kotlin effort such as RxKotlin, Kotlin-kapt, and Android KTX.
- Made use of Kotlin extension functions to optimize application experience.
- Made asynchronous API requests using Retrofit and RxJava to accomplish consumption effectively.
- Used GitHub and SourceTree for version control of the application in development.
- Performed code reviews on peers’ code to ensure high quality and maintainability.
- Worked in pair programming teams to ensure timely delivery of project requirements.
- Tested and fixed bugs using physical devices to ensure accuracy.
- Used Jira to track and locate current bugs.
- Wrote instrumentation tests and UI tests using Espresso.
- Integrated multiple third-party libraries such as Glide, Retrofit, RxJava and Dagger 2.
- Achieved and exceed on expectations remotely
- Developed application in MVVM architecture following best practices to achieve a scalable, testable, and maintainable project.
- Work in large codebase with MVVM data binding library to declaratively bind UI elements, notify views of any database changes and manage UI-related data in a lifecycle-conscious way.
- Used Jira to estimate and assign stories, triage bugs, identify issues with development and review process and provide solutions.
- Implemented LiveData to make an observable and lifecycle aware data structure in the application.
- Handled device configuration changes to persist data in the case of a device being rotated..
- Implemented Firebase to facilitate real-time parameter changes.
- Mentored onboarding developers on requirements and coding standards.
- Implemented custom animations on fragment transitions to enhance the overall user experience of the application.
SENIOR ANDROID ENGINEER
Confidential, San Francisco, CA
Responsibilities:
- Worked with an Android developpment team that followed an Agile/ Scrum methodology for software development project lifecycle reporting/updating.
- Closely worked with UI/UX designers to implement pixel-perfect mockups to multiple layouts in rebranding efforts.
- Refactored code base from Java environment to KotlinKTX plug-in environment.
- Provided support on key products should their be an incident/problem related to a product that was live and required a development fix.
- Worked on implement accessibility requirements in order to make the application ADA compliant using Android Accessibility Service class.
- Created Kotlin test suite cases to enforce ADA compliance.
- Utilized voice commands to assist in navigating the user across the application and worked with Google Material Design to make the UI readable and accessible to users with disabilities
- Stored latest articles produced by top Confidential writer’s API request in Room Database for offline network functionality and replace the old SQLite database.
- Refactored hardcoded string query statements using DAO objects and compile check annotations.
- Created prove of concept with suspend functions in the DAO objects.
- Optimized API request for real-time scores and schedules by transforming one type of data to another, reducing, mapping or expanding streams usingRxJavaoperators and performed concurrent HTTP requests using schedulers.
- Created prove of concept with suspend functions and updated Retrofit version to execute coroutines.
- UsedCharlesProxyAPI to debug several endpoints from backenddevelopers.
- Integrated Adobe Primetime SDK to improve quality and reliability across all functionalities, including VOD, live and linear TV for live video coverage of Confidential Selection Shows and Championships feature.
- ImplementAndroidAccessibilityservice class to aid in navigation using voice commands for ADA compliance.
- Strived for 85%+ test coverage using Espresso and check usingJaCoCotool for ‘View regular-season rankings for all Confidential sports’ user-story.
- Refactored Relative Layout implementations with Constraint layouts and created Barriers to position elements correctly.
- Created severalCustomViewsto replace lifecycle components such as fragments.
- Streamlined class creation with the Kotlin delegation object creation.
- Worked on system-level framework functionality such as activity management, user profiles, storage, and optimizing system performance and battery usage.
- Created build flavors to consolidate development effort across multiple environments like QA and UAT.
- Wrote unit tests for presenters using method invocations, spy mocks, no interactions in MVP Architecture using Mockito.
- Incorporated Krux SDK to capture people data from all mobile platforms and perform backend data mining.
- Solely developed and coded presenters, model and UI layer for View regular season rankings for all Confidential sports’ user-story in the MVP design pattern.
- Performed data modeling using Firebase real-time database, Firebase notifications and Firebase Crash Reporting.
- Collaborated in refactoring and migration from MVP design pattern to MVVM implementation.
- ImplementedHandlerThreadand Pool Threads to efficiently operate background and asynchronous operations.
- Used Espresso library tp perform automatic synchronization of test actions with the UI and ui-automator library for UI interactions that are not within app.
ANDROID MOBILE APPLICATION DEVELOPER
Confidential
Responsibilities:
- Fixed critical hardware-related issues logged in JIRA with respect to network connections, Wi-Fi connections, full network access, Google Play billing service, record audio and control vibration.
- IntegratedAppsFlyerandMoPubSDK to support viewability measurement and flexible Ad Network mediation.
- Fixed camera distortion issues when in AR Mode which affected some devices (i.e.,Nexus 6).
- Worked on Camera2 API for image capture with different resolutions, PEG Image Capture, YUV Image Capture, Camera Change option and exposure properties.
- UseduCropAndroid Image library to rotate, crop images for 4x6, 11x14 and 12x18 sizes and manage compression format (e.g.PNG, JPEG, WEBP), compression.
- Used Butterknife injection for non-Activity binding in adapters and fragments/activities.
- Refactored code withEventBusto simplify communication between Activities, Fragments, Threads and Services.
- Applied Android design patterns such as Façade, Decorator, Observer, and Singleton over an MVP architectural pattern coding in Java.
- Worked on JUnit testing framework for testing network modules and APIs.
- Included Google In-App Purchasing API to offer for purchase digital content and subscriptions.
- Incorporated online/offline sync mechanism to ensure seamless transition between connectivity states usingORMlitedb.
ANDROID ENGINEER
Confidential, Seattle WA
Responsibilities:
- Participated in planning, architecture, and design of the app.
- Created custom views and animations for visually appealing UI/UX.
- Created innovative solutions in media streaming and mobile user experience.
- Designed, developed, and documented application and framework code in Java.
- Used GSON converter to convert retrofit2 JSON responses to Java objects.
- Implemented several design patterns such as MVP for architecture and Singleton, Observer, Factory, Façade, Proxy, Builder.
- Used JIRA for new requirements, issues, bug tracking, and project planning.
- Constructed early prototypes of the User Interface integrating the latest Material Design guidelines.
- Developed several Compound Views and Custom Views.
- Extensive use of Fragments to enhance user interface experience.
- Implemented dependency injection in the app for object references with Dagger 2.
- Implemented Otto Library to facilitate communication amongst decoupled parts of the application.
- Experience with embedded local storage solutions such as SQLite.
- Implemented local file system for video download feature.
- Implemented different media players (ExoPlayer, MediaPlayer, VideoView, SurfaceView) for playing videos, and facilitating playing on different devices, screen sizes, and configuration changes.
- Implemented a structure to support different media sources by extending ExoPlayer.
- Consumed DASH, HLS, and Smooth Streaming using ExoPlayer extension libraries.
- Created compound and custom views to improve the user experience.
- Used Git repositories for a version control environment.
- Provided feedback and technical guidance to the development team.
- Developed a registration process with password recovery functionality.
- Created multiple Content Providers with a native approach to handling UI asynchronous updates.
- Made extensive use of heavy data workloads to show items in a RecyclerView.
- Used SQLite database schemafor persistent data storage for every schedule.
- Incorporated Facebook SDK and Twitter API for logging, posting and share experiences.
- Set up proper interactions of the front-end design and implementation with back-end servers.
- Created cloud connection with REST client calls, and parsed JSON response using GSON.
ANDROID APP DEVELOPER
Confidential, Pittsburgh, PA
Responsibilities:
- Generateda Material Design ready codebase, including views in the design support library:CardViews,RecyclerViews,Snackbars,CoordinatorLayouts, Floating Action Buttons, Custom toolbars,DrawerLayouts.
- Followedan Agile/Iterative development process on the Android team (XP, SCRUM, etc.).
- Generatedreachable daily goals and created a delegation task system that allowed developers focus on the development bearing.
- Produced technical documentation such as App Architecture and RESTful API definitions.
- Generatedcustom behavior in multiple screens using custom controls.
- Generateddownstream logic to communicate the servers with phones using Google Cloud Messaging (GCM).
- Applied a Model View Presenter (MVP) architectural design pattern to halp with the modularity and maintainability.
- Guidedteam in implementation of Android design patterns (MVP, Builder, Singleton, Factory).
- HandledFragment data retention to ensure data integrity in Android on-screen rotation with theonSaveInstanceStateandonRestoreInstanceStatemethods.
- Useof theMediaPlayerand background Services to in corporate playback functionality.
- Efficientlyused Activity, Intents, Fragments, Services, Broadcast Receivers, notifications, Content Providers and Media Players for building the app.
- Exchangedinformation between the application and the primary database using RESTful web services andAsyncTaskor Services.
- ImplementedRESTful data consumption using Retrofit with anOkHTTPclient, a GSON converter, and a custom interceptor.
SOFTWARE DEVELOPER
Confidential - Birmingham, AL
Responsibilities:
- Developed custom J2EE and EJB for custom analytical platforms in the healthcare industry.
- Used Hibernate ORM tool as persistence Layer - using the database and configuration data to provide persistence services (and persistent objects) to the application.
- Implemented Oracle Advanced Queuing using JMS and message-driven beans.
- Responsible for developing DAO layer using Spring MVC and configuration XML's for Hibernate and to also manage CRUD operations (insert, update, and delete)
- Implemented Dependency injection of spring framework. Developed and implemented the DAO and service classes.
- Developed reusable services using BPEL to transfer data. Participated in Analysis, interface design and development of JSP.
- Configured log4j to enable/disable logging in the application.
- Wrote SPA (Single Page Web Applications) using RESTFUL web services plus Ajax and AngularJS.
- Developed rich user interface using HTML, JSP, AJAX, JSTL, JavaScript, jQuery and CSS.
- Implemented PL/SQL queries, Procedures to perform data base operations.
- Wrote UNIX Shell scripts and used UNIX environment to deploy the EAR and read the logs.
- Implemented Log4j for logging purpose in the application. Tracked new Change Requests, analyzed requirements and designed solutions accordingly.
- Modified existing Java APIs on Performance and Fault management modules.
- Took ownership implementing unit testing the APIs using Java, Easy Mock, and JUnit.
- Designed new database tables and modified existing database tables to in corporate new statics and alarms in MySQL database.
- Involved in Build Process to package and deploy the JARs in the production environment.
- Involved in Peer Code Review processes and Inspections. Implemented agile development methodology.