BBC Sounds
An early hire to the new Glasgow based BBC Sounds team, I joined a large established team based in Salford & London, first working as part of a distributed team then transitioning to fully remote working. With a focus on collaborative working, pair & mob programming I have worked across various projects such as codebase modularisation to allow code reuse across apps & widgets; automating the process of delivering releases to the app store; aiding the test team in improving our automated UI tests and numerous user-facing features and fixes.
Conker Group
Working remotely, I was the senior dev in a team of 3 maintaining a large suite of B2B apps. I helped improve working practises to ensure the whole team and various projects were aligned and reduce friction when moving from one project to another. I have worked with management to promote best-practises such as pair programming and code review to better prepare the business for planned growth of its development teams.
J.P. Morgan
I worked on J.P.Morgan’s eXecute FX trading app, a mixed-language Objective-C and Swift project. I also contributed code used in all other apps in the organisation via their shared code library.
From the beginning of 2019 I led eXecute’s 3-strong developer team. During this time I architected, helped to implement and oversaw delivery of new functionality allowing trading in a new-to-mobile asset class. This involved liaising with the product owner and other technical teams to ensure that requirements were clear, dependencies were resolved and blockers were resolved. I also mentored the more junior developers, promoting best practises such as: writing testable code using SOLID principles; UI testing and use of automation.
Poker Log
Sadly no longer online
Poker Log was a personal project which I used to teach myself both the Swift programming language and some new APIs introduced in iOS8. While making a useful productivity app for poker players, in order to learn I tried to fit as many relevant frameworks as possible into the app. Among other technologies, the app uses App Groups, Core Data, Core Location, MapKit, iCloud, Size Classes and a Today Extension
Clydesdale Bank
As part of the launch of Clydesdale’s new mobile banking app, I added TouchID login to their iOS app which is used for their Clydesdale, Yorkshire and B brands. I have also delivered a number of smaller features including app login using personal details and using the app as a security token for high value payments.
iServe
I helped to deliver an iPad experience for the iServe “till in your pocket” app. Working with the existing team of in-house devs my task was to decouple the app’s business logic from the UI and improve code reuse while creating the UI for the iPad. As a result of the decoupling of business logic from view code we were also able to significantly increase unit test coverage.
Sage One
Working on a greenfield app with a small team, I was involved in the choosing and configuring of our CI and testing environment almost as much as I was cutting code. I configured Jenkins to selectively build branches from our git repo, run unit & UI tests and distribute the app.
Palringo
Working as part of a small team, our task was to completely redesign and rewrite the UI layer of this complex chat-based iOS application. The redesign used Storyboards and Auto Layout in contrast to the programmatically generated UI which preceded it. This meant learning new skills using Auto Layout & constraints while still working with UI using frames, springs and struts.
The core functionality of the app was contained in a legacy cross-platform C++ (Objective C++) core. This required me to develop C++ skills in order to understand and modify the complex codebase.
Reactn
Sadly no longer online
I was the sole iOS developer on the iOS, Android and Web product Reactn. I helped to work with the other devs to design the RESTful API which this app used communicate with its backend. My main role was to iteratively add and improving features while responding to the customer’s feedback and evolving requirements.
Open Face Chinese Poker
Sadly no longer online
I was the creator, owner and sole developer of this iPhone, Web and Android game. The game was developed using Adobe Air to make iteasy to quickly develop for multiple platforms and all three clients shared a common ActionScript codebase. The server component was written in C# using the Player.io (now Yahoo Games Network) SDK.