Resume

Sign in

Senior Android Developer

Location:
Boston, MA
Posted:
April 27, 2022

Contact this candidate

Resume:

Years of Experience

* ***** ******* ***********

* **** ********* ** **** Store

Logan Boyd

Senior Android Developer

Phone: 617-***-****

Email: adqmoc@r.postjobfree.com

Professional Summary

Hands-on with multiple code bases, including Java and Kotlin.

Experienced migrating Java to Kotlin.

Experienced with tools, libraries, and databases such as Retrofit, RxJava, Glide, Imageloader, Picasso, RecyclerView, Dependency Injection, etc.

Experience with Android JetPack components such as Room, Navigation and LiveData.

Knowledge, understanding, and experience tracking user behavior and usage statistics using the analytics libraries Google Analytics and Firebase.

Use of TDD, paired programming, mandatory code review, unit testing, automated testing, stress testing, instrumentation testing, and UI testing with tools such as Mockito, JUnit, Espresso, Robolectric, and Cucumber.

UI development with strong UX that follows Android Material Design guidelines and SOLID. Principles.

Applied sound mobile security practices such as Obfuscation, Encryption, SSL, Certification Pinning, Tokens.

Applied elements of Kotlin Flow such as coroutines to interact with databases and networking operations in repository layer in Clean code architecture.

Experienced performing daily code reviews on new submissions using SonarQube tool.

Worked hands-on with Mockk library to Mock a call that uses coroutines, capture, and replay an argument, perform integration test cases using Robolectric and generate global coverage report using JaCoCo plugin.

Continuously research, test, and implement new techniques, Android frameworks, and utilities.

Ability to manage competing priorities in a complex Android app development environment and maintain high productivity and high quality.

Experience with Android performance tuning and crash reporting applications.

A firm understanding of building mobile applications that utilize web services (REST, HTTP-based, XML, SOAP, JSON or other services).

Ability to ask the right questions, provide feedback to stakeholders, break down tasks, and create a plan to achieve the intended result.

Able to optimize the technical architecture and technical debt of the Android app.

Created logins, embedded tweets using the Twitter API.

Skilled with implementing fragments, diverse layouts, animations, Material Design, Compound Views and Custom Views.

Strong knowledge in Android multithreading frameworks: AsyncTaks, IntentServices, Handlers, Threads, Runnables, Loopers.

Applies Google’s best practices targeted to mobile environments: use of networking, memory management, battery status, responsive and intuitive design, managing multiple screen sizes, identifying app installations, internationalization.

Performed Espresso, JUnit, Mockito and simulated design patterns in Android to test and develop applications.

Designed the schema for and deployed SQL and MySQL servers.

Created the initial setup of multiple continuous integration servers to help the build creation process (Travis, Jenkins, Circle-CI).

Use of multiple MBaaS (Mobile Backend as a service) and cloud integration tools like Parse, Firebase, Google Cloud Services, Amazon Web Services.

Technical Skills

Architecture/Design Patterns

MVC, MVP, MVVM, Abstract Factory, Builder, Decorator, Façade, Proxy, Visitor, Strategy, interpreter, Command

Project Management & Leadership

Agile Scrum, Scrum Master, Team Lead, Mentor

Project Planning

Managing dependencies, Gathering Requirements, External teams, and Managing project tasks, backlog.

Languages

Java, Kotlin, SQL, XML

Database

Firebase, SQLite, SQL, MySQL, Room

Development Environments

Git, GitHub, SVN, Jenkins, Hudson, Travis CI, JIRA, Confluence, Maven, Gradle, LeakCanary, Slack, Kanban

Android Development

Android OS, Dependency Injection, GcmNetworkManager, Push Notifications, JUnit, Retrofit, EventBus, Otto, SSL, Mixpanel, Mockito, Material Dialogs, Google Places, AsyncTask, Glide, ProGuard, Bluetooth Low Energy, ButterKnife, Services, Google Analytics, Volley, RecyclerView Animator, Spork, Libphonenumber, XmlPullParser, GSON, CoordinatorLayout, Multi-Window, GitHub, SOAP, Volley, JobScheduler, Content Providers, Parceler, SQLCipher, ZXing, Cipher, Maven, Dagger, MVC, RxJava, Facebook SDK, Google Custom Search, Gradle, FloatingActionButton, Jackson, Google Cloud Messaging, Picasso, Material Design, Android-Job, ORMLite, Logger, Handlers, Android Studio, Doze Mode, VideoView, Espresso, Parse, Animations, Loaders, Fresco

Misc Development

Back-end development, web development, back-end integration (JSON, GSON, REST, SOAP, XML), SSH, LAMP, MEAN, CMS

Professional Experience

July 2019 – Present

Senior Android Developer

Kaiser Permanente, Boston, MA

https://play.google.com/store/apps/details?id=org.ghc.android&hl=en_US&gl=US

The Kaiser Permanente of Washington app makes it easier than ever to manage your health. Exclusively for Washington residents, the app has easy-to-use, quick-access options for virtual care, finding a doctor, exchanging secure messages with your care team, managing prescriptions, scheduling visits, paying bills, and more.

Worked in an Agile/Scrum environment with 5 Android developers, QA testers, UI/UX designers and backend developers.

Participated in daily standup meetings with other team members, presenting to KP stakeholders every other week, and active in 2-week sprints.

Worked with iOS, Mac, Windows teams.

Worked closely with UI/UX teams.

Worked closely with backend/server team and internal and external QA teams.

Built UI with Android Studio.

Applied MVVM app architecture for ease of maintainability and extensibility, as well as improved quality testing.

Transitioned existing code to Kotlin and programmed new functions in Kotlin.

Applied coroutines and Kotlin flow to make app multithreaded and perform synchronous operations.

Introduced Kotlin extension functions to efficiently re-use existing codes and reduce code duplication.

Implemented Android Architecture lifecycle aware components and used LiveData to build data objects that notified views when the underlying database changed.

Used Data Binding Library to support two-way data binding to receive data changes to a property and listen to user updates to that property at the same time.

Wrote instrumentation tests and UI tests using Espresso and Mockito.

Implemented deeplink across several feature components.

Applied WebRTC/Pexip for real-time video communication over the internet.

Implemented Bluetooth Kit and Bluetooth Low Energy (BLW) to manage the connection with the device.

September 2017 – July 2019

Senior Android Developer

WeWork, New York, NY

https://play.google.com/store/apps/details?id=com.wework.mobile

WeWork is a Forbes listed company that provides office workspace and community access to entrepreneurs. The WeWork Android Mobile Application allows WeWork members to book conference rooms, register guests, see what is happening in the community and much more.

Followed TDD/BDD and Agile methodologies throughout the project.

Developed and tested the app using Android Studio.

Migrated architecture from MVP to MVVM.

Implemented several design patterns such as MVP, Singleton, Observer, Builder, Façade

Migrated code from Java to Kotlin.

Took advantage of Kotlin null safety and extension functions.

Used Kotlin Coroutines for asynchronous tasks

Used Observables and other RxJava operators

Created extensive caching of both images (lazy-load) and data (object data from network as SQLite tables).

Developed a look and feel that mimicked the iOS version of the app following the Google Material Design guidelines.

Implemented Custom and Compound View to match the UI/UX specifications.

Created several compound views to match the UI provided by the UI team.

Layout user interface maintained efficiently through Fragments.

Implemented custom/compound views for displaying queried data.

Used the Picasso library for intensive image rendering on RecyclerView.

Implemented Google Maps and location services to find services where users are currently located.

Integrated multipane fragment-based navigation to adapt to portrait and landscape orientations to better use the screen state adapting to phones and tablets.

Added animated transitions when calling other activities to improve the user experience.

Used JSON in RESTful services to extend the application response capabilities.

Created and maintained technical documentation for this application

Sped up the build process with Jenkins continuous integration tool.

Integrated Crashlytics to analyze the behavior of the users.

Completed RESTful data consumption using Retrofit with a GSON converter and a custom interceptor

Tracked incident reports with JIRA.

Connected the app to Twitter, Instagram, and Facebook.

Developed unit testing, instrumentation testing and automation testing for each new feature using Junit, Mockito, Roboelectric, and Espresso.

August 2015 – September 2017

Android App Developer

Shoe Carnival, Evansville, IN

https://play.google.com/store/apps/details?id=com.gpshopper.shoecarnival&hl=en

Shoe Carnival is one of the nation's largest, fastest growing and most exciting family footwear. The Shoe Carnival App offers customers a unique and fun shopping experience with a broad assortment of shoe brands. The FREE downloadable app offers rewards and an easy online shopping experience.

Worked in an Agile development environment with peer engineers to scope, develop and deliver a software experience that realized the product strategy.

Applied OOP software design patterns/best practices.

Developed the app in Java using Android Studio as IDE for coding.

Utilized RxJava and MVP architectural pattern, with various design patterns such as Abstract Factory, Builder, Observer, and Singleton.

Utilized Eclipse IDE to implement the application in Java and automated testing with Robotium.

Performed Continuous Integration with Jenkins using Git and BitBucket for code repository/version control.

Wrote Javadoc for documenting the different modules, hardware, and software features.

Managed build creation with a Jenkins instance hosted on a private server.

Performed code reviews to ensure code quality and adherence to company coding standards and industry best practices.

Created custom views to present data as it was needed.

Integrated Flurry for mobile analytics.

Implemented UI/UX look-and-feel in the app, applying styles and themes following the new Google Material Design guidelines.

Created multiple Content Providers with a native approach to handling UI asynchronous updates.

Coordinated proper interactions of the Android front-end design and implementation with backend servers.

Refactored unoptimized pieces of code to guarantee maximization in the use of resources.

Utilized AsyncTask to connect to remote servers.

Followed Test-Driven-Development (TDD) and used Mockito PowerMock and Espresso for our default testing frameworks.

Maintained control of versions using GIT and set-up a GitHub repository.

Sped up the build process with continuous integration tools: CircleCi and Travis.

March 2014 – August 2015

Android Mobile App Developer

Redfin, Seattle, WA https://play.google.com/store/apps/details?id=com.redfin.android

The Redfin app provides the most accurate home data with MLS real-estate listings updating every 5 minutes. Search nearby homes, condos, and townhouses for sale. Browse photos of each home, see the most up-to-date property details, and instantly book a free home tour with a Redfin Real Estate Agent. Find your dream house with Redfin's award-winning tools and full-service brokerage at your fingertips!

Worked with other developers, designers, and product/business managers to develop new features consistent with product roadmap.

Created frameworks and automation in the development process to maximize build efficiency and secure solid code.

Applied MVP architecture and design patterns Factory, Singleton, and Decorator.

Integrated new features using Kotlin into an existing Java code base.

Utilized 3rd party libraries such as Retrofit RxJava and OkHTTP to handle back-end integration.

Configured app to enable users to save favorite homes and property searches to their Redfin account.

Customized Home Filters to enable search by price, property type, and desired features.

Applied Android-Job utility library to run jobs delayed in the background by creating JobRequest with the corresponding builder class and scheduled this request with the JobManager.

Communicated with Calendar AP and content providers to read calendar events plus confidential information, read contacts, read web bookmarks, and history.

Improved performance of the app using SonarQube, Network profiler, CPU, and battery profilers.

Configured app to get directions and alert a user to attend every open house in user’s area.

Utilized Facebook Stetho, Charles Proxy API, Memory profiler, HierarchyViewer and Android Profiler to identify issues and enhance the performance.

Configured MixPanel API to send instant notifications when a new home hits the market and push notifications for any house, condo, or townhome that meets search criteria.

Configured bound service to send requests, receive results, and even do so across processes with interprocess communication (IPC).

Created a custom transition animation and applied one or more animation effects to all views in a view hierarchy.

Coded the algorithm necessary to properly structure the query for the request needed to implement the “Filtered Search” feature.

Migrated from AsyncTasks and IntentServices-based components to a reactive paradigm with RxJava concurrency modelling.

Programmed update patches, modules, and components to mitigate security risks.

June 2012 – March 2014

Android Mobile Application Developer

Chick-fil-a

Atlanta, GA

https://play.google.com/store/apps/details?id=com.chickfila.cfaflagship

Android food app that lets users order online and pick up without the wait. The Android ap keeps track of orders and displays favorites first on the food menu.

Developed the Android application in Eclipse using Java programming language.

Managed the build creation with a Jenkins instance on a private server.

Consumed web services using OkHTTP to make restful web service calls.

Designed the application with an MVP approach, setting up all the interfaces and the decoupling of the classes.

Implemented custom views and incorporated navigation icons throughout layouts to improve UI/UX.

Designed Android threading to run tasks in the background to prevent locking up main Android thread.

Designed custom animations for transitions between application activities.

Worked with AsyncTask for multithreading and services with AsyncTask for longer running asynchronous tasks.

Used Universal Image Loader for media management.

Created Compound views programmatically to increase reusability.

Implemented Dagger for dependency injection.

Used Jenkins continuous integration server with Git code repository on a private server for version control.

Debugged and tested the application using Robolectric.

Wrote unit tests and worked with QA team on testing and bugs QA.

Utilized Android Support Libraries to ensure Android version compatibility.

Used Butter Knife library to apply binding in Android views.

Implemented RESTful call to receive JSON based response and parsed to display data to the user.

Implemented messaging with Push Notifications and Google Cloud Messaging (GCM).

Education

Bachelor of Science - Computer Science - Middle Tennessee State University



Contact this candidate