John McDonnell
×
John McDonnell

John McDonnell

Contract Android Developer


Background


About

About

Experienced, self-taught Android developer with 9 years commercial experience. I love facing hard problems that challenge my skill set and strive to keep up with the latest developments in Android and other related technologies.

Work Experience

Work Experience

  • Android Developer, British Airways | AND Digital

    Jun, 2021 - Present

    Whilst working at British Airways, the main challenges I've faced have been refactoring large amounts of legacy code whilst discovering and maintaining correct business logic. Lots of work has been done to move to MVI, whilst also implementing BA's modern design language for new features. Recently, I've been working on adding Jetpack Compose in the form of a UI module and library so that upcoming features can be implemented with it.

    • Legacy Code

    • MVI

    • Jetpack Compose

  • Android Developer, YourParkingSpace

    Mar, 2020 - Jun, 20204 months

    YourParkingSpace offer the ability to rent out and book parking spaces. Working on a greenfield project, I was responsible for architecting the rebuild of their existing app to allow for greater testability and scalability. Dynamic Feature Modules and Instant Apps were also a key requirement of the new app.

    • Dynamic Feature Modules

    • Instant Apps

    • Dagger 2

    • RxJava 3

    • Jetpack Navigation

    • Coroutines

  • Android Developer, Gymshark

    Oct, 2020 - Jan, 20213 months

    Gymshark is a fitness apparel and accessories brand, manufacturer and retailer headquartered in Solihull, United Kingdom. I worked on their upcoming e-commerce app.

    • Implemented app security and encryption mechanisms

    • Implemented CI using Bitrise

    • Integrated Firebase for analytics and beta distribution

    • Worked with Jetpack Navigation

    • Material Components

    • MVVM

    • RxJava 3

    • Hilt

  • Android Developer, Karmarama | TSB

    Jan, 2020 - Jul, 20206 months

    Karmarama (part of Accenture) are working with TSB to deliver new features to the mobile app. My tasks here involved integrating with an existing team of 15 Android developers based in Spain and delivering features such as the new branding and design system, integrating a live chat SDK that involved close collaboration with IBM, and other features such as SCA (Strong Customer Authentication).

    The codebase was heavily modularised, and followed MVVM (with androidx), Clean Architecture, and was unit and UI tested using JUnit 5 and MockK.

    As there were quite a few organisations involved in this project, lots of collaboration and good communication was needed to enable us to deliver the features required.

  • Android Developer, Monolith

    May, 2019 - Jan, 20208 months

    Monolith is a decentralised banking alternative, powered by Ethereum. My core responsibility there was to implement the native Android parts of a React Native app. The security of the app was crucial, as the app would essentially be used as an Ethereum wallet where users could store their tokens.

    Further responsibilities included Circle CI setup, Play Store distribution, iOS bug fixing, educating team members about the Android build system & the Play Store.

  • Android Developer, Natwest | Bó

    Nov, 2018 - May, 20196 months

    Natwest launched Bó challenger bank.

    I was responsible for implementing Android related security features, building native Android modules for the React Native developers to integrate with third party SDKs, setting up CI pipeline for distribution and testing, and advising on Android best practises. It has since been discontinued.

  • Android Developer, Costa Coffee

    Jul, 2018 - Nov, 20184 months

    Costa are a leading Coffee shop in the UK. The Costa app allows customers to view their loyalty points, transactions, find nearby stores, and customise & order coffee to collect in store. Additionally, Costa provide an app for baristas to receive orders from customers, mark them as completed, and print receipts.

    I was brought in to Costa to help the existing team refactor the app’s architecture as well as fix bugs, and develop features.

  • Android Developer, Hero

    Oct, 2017 - Jul, 20189 months

    Hero are a startup company that allow in-store retail shopping assistants to connect to online customers via their mobile app. The app is like any standard messaging app, with the added ability to recommend products and send shopping invites to customers.

    I was tasked with architecting and developing their first Android beta. I wrote the app in Kotlin, and followed Clean architecture and MVP.

  • Android Developer, Bink

    Jul, 2016 - Jul, 20171 year

    At Bink, I was responsible for architecting and developing their mobile Android app. This involved implementing complex animations and features using the RecyclerView component for the Bink wallet. MVVM architecture in conjunction with RxJava was used in the UI to create easily testable and maintainable code.

    I was later tasked with developing the Bink Android SDK, comprising of core functionality and UI from the Bink App, that could be consumed by third party developers. The SDK was heavily tested in Kotlin using Mockito, JUnit and Espresso.

    I was also involved in the setup and configuration of Jenkins CI & Artifactory that were used for continuous integration and deployment.

  • Android Developer, Thortful

    Jul, 2016 - Jul, 20171 year

    Thortful is a startup greetings card company based in London who sell physical greetings cards. I designed and wrote their Android app.

    • Implemented the ability to capture and process the user’s handwriting using OpenCV

    • Android tablet support

    • Google App Indexing

    • Stripe payments

    • Image manipulation and cropping to allow users to create their own greetings cards.

    • Responsible for the distribution to the Google Play Store which was mostly automated through Jenkins using the Google Publishing API.

  • Android Developer, Black Swan

    May, 2014 - May, 20151 year

    At Black Swan, I was initially tasked with the full redesign of the My Vodafone app for Vodafone. I then moved on to the development of the Npower app.

    • Implemented a Wi-Fi hotspot locator for Vodafone

  • Android Developer, Velti

    Nov, 2012 - May, 20141 year 6 months

    I started at Velti on an internship, which soon lead to a full time role. I worked on the various projects for blue-chip clients which primarily involved bug fixing and implementation of new features.

    • O2 Academy

    • Playstation

    • Barclays Premier League

Skills

Skills

  • Android Developer

    Kotlin

    Coroutines

    MVI

    Hilt / Dagger

    RxJava

    React Native (integration only)

    CI/CD

  • Backend Developer

    Golang

    Node JS

    Ktor

    Docker

    GRPC / MQTT

    PostgreSQL

Interests

Interests

  • Flying - private pilot

  • Chess

  • Skiing