About my software engineering journey.

I spent my childhood building things, all be them trivial, made of Lego, K'Nex or Meccano, with the typical result being absolute destruction as my brother and I smashed our creations against one another. I think we get our knack to build things from our dad, a skilled labourer who can just about bodge together absolutely anything and everything.

With the onset of PCs and games consoles, this graduated into the digital world where I got hooked on simulation games, spending countless hours building virtual worlds: theme parks (RollerCoaster Tycoon), zoos (Zoo Tycoon), hospitals (Theme Hospital), homes (The Sims), ancient civilisations (Age of Empires) and so on, not to mention the literal months of my life spent nurturing football teams across the Football Manager & FIFA game series.

Through school I was drawn towards maths, IT and business studies as they aligned with my algorithmic way of thinking and subsequent ability to solve problems. It was here I built my first website using Adobe Dreamweaver, finding that I loved the visual, creative, design side of things as much as I did the mechanics of the technology. I even worked with the schools IT technicians for a while, tinkering with computer hardware, firmware, and operating systems - but computer science wasn't for me.

So I went onto Loughborough University to study Information Technology Management for Business. The topics covered by this degree were broad, but in my first year I had 2 modules which touched upon the basics of web programming - HTML, CSS, JavaScript, PHP and SQL - and these were life-changing. I found I absolutely loved writing code, and began just building things in my room vs attending lectures, developing my practical skills through a variety of little projects. Fortunately through my second and third years I was able to choose modules that lent more towards my growing programming strengths and I managed to scrape through the more theoretical / business-related modules, eventually graduating with a solid 2:1.

Upon finishing university it was only a matter of time until I began a career in software engineering, but my tech stack was still basic HTML, CSS, JavaScript, PHP and SQL. I'd become all too familiar with jQuery and Bootstrap, and this was enough to land me a role as a Junior UX/UI Developer.

Creative Developer

Jan 2015 - Oct 2015

As a Creative Developer at SuccessFlow I was solely responsible for developing landing pages and email templates, both internally and for clients. The main challenges I faced in this role were meeting clients’ demands whilst working within the limitations of time, compatibility, and the platform used to build and host the assets. I discovered the caveats of email development and how to overcome them, as well as gained experience in developing the companies WordPress website. I also led the development of a system to integrate with project management software in order to provide advanced reporting and enhanced visibility into the profitability of projects and the efficiency of the team.

Web Developer

Mar 2016 - Apr 2017

As a Web Developer at Pri-Med I worked on a system to process medical data and provide healthcare professionals with insights and education about the treatment of their patients. I carried out a major overhaul of the sites front & back-end coding to improve its performance, reliability and maintainability. I also developed a variety of new features and greatly improved the UX/UI of the site. This role provided me with vital experience of working in a team of other developers, to whom I introduced, implemented and managed version control (GIT). I was also the lead developer in another of the company's projects, where I worked directly with the business's parent company (based in the US) to develop a similar system to the one here in the UK. I was also exposed to some new technologies such as IIS, Microsoft SQL Server, SOAP Web Services and some VB.net Application Development.

Full Stack Developer

May 2017 - Dec 2018

As a Full Stack Developer I was responsible for the maintenance of multiple Laravel applications alongside the development of new projects such as the break-up of a monolithic Laravel application into micro-services, consisting of several smaller Laravel applications and a React progressive web app. I was also a part of the re-development of a React Native mobile application.

Senior Software Engineer

Jan 2019 - Dec 2019

As a Senior Software Engineer I was responsible for the planning and development of several new features across our Laravel applications and a React Native mobile application. I played a large part in the management & personal development of our software team along with being a key architect in ongoing and future software endeavours in terms of architecture and implementation. I worked on moving APIs away from monolithic Laravel applications into microservices using serverless architecture via AWS and TypeScript as my language of choice.

Software Architect

Jan 2020 - Jan 2021

As a Software Architect I was responsible for the planning & management of all the companies software development activity, the improvement of processes, and the shaping of a rapidly growing team during a period of major expansion. Within my role of Senior Software Engineer, I identified a lot of room for improvement in the requirements analysis & design phases of our projects and found myself gravitating towards this new role, taking on new responsibilities involving lots of stakeholder interaction and project/product documentation, whilst moving to more of a supporting role on the actual development, testing and deployment phases of software development. We continue to work on moving away from our monolithic applications towards microservices whilst also delivering new features & value within our current architecture.

Head of Software

Feb 2021 - Mar 2022

As the Head of Software I led a department spanning 3 software engineering squads, technical project management, quality assurance, DevOps & Salesforce engineering. During my tenure in this role I: - Recruited into many key roles to establish an efficient, scalable team structure to match the companies rapid growth & ever-increasing product development demands - Defined our team mission & values, along with our roles & responsibilities, and from this established a personal development framework to aid line management & progression - Helped improve our delivery processes in line with the Agile methodology and DevOps principles - Established an incident management process complete with an out-of-hours protocol - Aligned the product and engineering teams and developed technical strategy to meet business objectives like never before - Improved vertical and horizontal communication, instilling value for transparency, honesty & respect - Nurtured a culture of collaboration, learning & growth All whilst continuing to support the discovery of product requirements, opportunities and problems, and helping architect solutions.

Principal Software Engineer

Apr 2022 - Oct 2022

As a Principal Software Engineer I have been acting as the technical lead on a large cross-functional project, implementing a new & improved domestic customer experience via a fresh e-commerce ecosystem I helped architect whilst in the role of Head of Software.

Chief Technology Officer

Nov 2022 - Dec 2023

Led the technology team at Re:Co in building a world-class data platform to provide industry-leading ESG insights, help organisations drive their sustainability improvement, and empower companies to invest, operate, and perform responsibly. My mission was to refine the product vision, define the engineering strategy, and develop a high performing team to expertly deliver on our roadmap to take our software from an MVP to an innovative platform that exceeds users needs, scales the business, and inspires sustainability improvement.