Work Experience
I definitely wouldn't expect anyone to read all of this! But feel free to
take a look at and have a read through any part you may be particularly
interested in.
Alternatively if you want to know more about anything here or ask any
other questions please feel free to reach out on LinkedIn
I also have a number of personal projects I'm either working on or have
finished which you can check out on my personal projects
page
At Deliveroo I work currently within the Loyalty team where we focus on
building out and tightening the different Deliveroo Plus subscription
offerings that we have. I joined the team as we were kicking off the
brand new Diamond subscription tier project; the first Deliveroo have
added in years.
The project required both updates to the entire existing flow of the app
as well as brand new features such as allowing customers to earn and
spend the credits that they’d earned, adding support for Apple Pay for
our subscriptions, recreating the subscription screen from the ground up
and more.
Throughout the project I’ve made changes and been involved in all of the
areas that were impacted but my main focus was around our new credit
back / cashback offering in which, from the iOS side of things, I led
the project from inception to completion.
I joined PhotoBox just after the very first release of their new iOS
app. The app was being rebuilt from the ground up in order to bring it
up to date with modern standards and so, as a team, our job was to not
only implement a brand new design into the more read-only or
"shop-window" parts of the app such as the product and shop pages but
also add support for the company's many products into the interactive
in-app editor.
As an early member of the team I was responsible for the development of
a number of crucial parts of the app. One area in particular early on
being the payment flow which I helped to not only speed up and redesign
but to also add Apple Pay support where there was none before, something
which we saw a huge uptake of almost instantly after releasing. As part
of the payment's work I also championed making use of the Lottie
animation framework to improve the feel of the app especially when
loading times were unavoidable.
With lots of potential available with the nature of the app and with it
being in its infancy there was lots of room for innovation. My first
personal addition to the app was creating a feature for the canvas wall
art products to allow customers to view what they'd created in our
editor on an interactive 3D canvas with the option to preview the
product with AR.
Outside of new feature innovations I also designed and pushed for
user-centric improvements and additions to new features such as the
creation of an interactive tutorial for a new "Magic Pages" feature.
The tutorial made use of Video Game practices of a show and try guidance
system where the user is first automatically shown how the feature
should work as shown in the below gif
The first "automatic" part of the tutorial
And is then guided through shifting UI elements to use the feature
themselves as you can also see in the below gif where the user is first
guided to the left hand image through an animation and once they've
picked up their image are then guided to the destination of the their
draggable image
The second "guided" part of the tutorial
Through this combination of show and try our user's were easily able to
learn and use a new and powerful but potentially hard to pick up feature
Joining Premier Inn Digital was the first time I finally got to work as
part of a full iOS development team; something I'd been wanting for
years but hadn't had the luxury of when working in early-stage startups.
Having people to discuss problems and ideas with has been incredible and
being able to work in a fully fleshed out Scrum environment has made a
huge difference in being able to focus on one problem at a time,
something I wish I had always had.
Due to an ever increasingly complex and large codebase a few months
after joining we went through the process of evaluating VIPER as a
replacement architecture for our current MVC implementation. After a
number of test runs we took the decision to fully migrate to VIPER and
over the last year we have, bar a few small screens, successfully done
so. To make the process of migration easier I created a number of
scripts and eventually Xcode templates to automatically generate blank
“modules” complete with the necessary boilerplate code for those
modules.
Going from startups to a large company there was certainly some
eye-openers in terms of release freezes, sign-offs etc. But exposure to
both of these worlds has, I believe, given me a good understanding of
both such as where the two crossover, where the weaknesses of each lie,
what the benefits of both are and most importantly where both can
benefit from the ways of working of one another.
When I took over the development of SimbaPay's iOS app my first decision
was to start the process of updating the existing codebase from
Objective C to Swift. By ensuring all future features from the time of
me joining the company were written in Swift and iteratively rewriting
and refactoring a number of classes with each release the codebase
became predominantly Swift based. Before the process began the codebase
was purely Objective C.
In addition to ensuring that the code continued to be updated and
improved I also introduced continuous integration to the development
cycle using BuddyBuild which drastically increased the speed at which
new versions were tested and deployed.
Taking on the sole development of a financial app such as SimbaPay was
challenging but hugely beneficial. The sensitive nature of monetary
transactions meant that features and code rewrites that I made always
needed to be thought out in depth and the implementation of these
features incredibly accurate.
Outside of the technical aspects of the job I also represented the
company for a presentation at the Kenyan embassy in Paris when we were
looking to expand into France.
In our funding phase we were invited to an incubator in Cape Town with
Barclays during which we completely redesigned the money transfer flow
in the app and I had to concatonate our existing 5 screens into a single
all-encompassing screen in a week in time for our presentation to
potential investors.
ReadBug was my first real devloper role and as the only iOS developer on
the team having to figure everything out myself meant I learnt a huge
amount and massively accelerated my understanding of not just iOS
development but the entire stack which in turn I believe has allowed me
to develop mobile applications much more efficiently.
During my time at the company I brought a number of good engineering
practices to Readbug such as applying the lean methodology which helped
us to learn more, faster and also introducing the idea of stand ups to
allow everyone to gain a clearer context of the day ahead across the
different teams.
When I arrived at ReadBug the entire app was written in Objective C,
something I had next to no experience with as I'd started my mobile
development path on the release of Swift. Writing all of the new
features in Swift whilst also having to connect all of the existing
codebase through a bridging header file whilst at the same time needing
to learn Obejctive C's syntax and quirks was a unique challenge. I
wouldn't recommend it to anyone but in the end I do think it made me a
better developer.