About me
What do you want to know?
Background
I'm an experienced full-stack developer based in Nottingham, UK. I've worked in various roles in both agencies and in-house teams, as well as working as a freelancer.
I'm able to work as a solo developer for smaller projects, including scoping, designing, building and publishing a site. I've spent a lot of time working with small businesses and individuals, and I'm happy to give advice on all aspects of web development, including domain names and where to start. If you're interested in a site for yourself or your business, I can guide you through every step of the way, and you don't need to have any technical knowledge at all. If you'd like to know more, see "can you build me a website?".
I have strong front-end and back-end development skills, and I know the essentials as far as dev-ops. Vue.js and Laravel are my preferred frameworks, and I have also dabbled with others such as React, Angular2, and CraftCMS (this particular site is built with Craft). I have experience working on a huge range of different types of project, including simple brochure sites, customer dashboards, online booking systems, SPAs, Laravel-based APIs and SaaS systems. See more on my skills and experience
Software, Skills and Experience
- PHP, Laravel, Craft CMS, TDD with PHPUnit
- ES6 JavaScript, TypeScript, Vue, SPA’s, Nuxt
- MySQL, Postgres, Redis
- HTML5, CSS3, SCSS, build tools (webpack, gulp)
- API integration and RESTful API design
- Microservices Architecture
- Docker, Kubernetes (basics)
- Git version control
- Agile Methodology
- Technical writing and documentation
- SaaS, internal software and agency experience
- High-performance services with AWS Lambda
- Responsive web design, Pagespeed, performance optimisation
- Stripe and Braintree payment gateway integrations
- Team Leadership, Line Management and Mentoring
- Scoping and designing complex systems and functionality
- Liaising directly with clients for requirements and feedback
- AdobeCS incl. Photoshop, Illustrator, Indesign
Recent Work
I'm currently working as a Senior Developer at Crowdhelix Ltd, gradually replacing the current Symfony platform with a Laravel backend, GraphQL API and a Vue.js SPA for the frontend.
Patchworks Integrations
I previously worked as a Systems Developer / Architect at Patchworks Integrations Ltd. Patchworks is an integration platform responsible for taking care of the flow of critical data for some huge businesses (as well as smaller ones!) such as Huel, Gymshark, Emma Bridgwater, and plenty of others. For example, they collect 1000's of orders a day from their client's eCommerce platforms such as Shopify and Magento, and ensure these are sent to their warehouse in a timely fashion and in the correct format to be dispatched to their customers.
Customer-facing Dashboard Vue.js Laravel Lumen API
An ongoing project implementing various pieces of self-serve and automation functionality. I worked on designing and building a data-transformation library and API, plus building out a dynamic frontend to enable customers to easily apply any data transformations they require without input from a developer. Both pieces are designed and built to be sufficiently flexible to allow more functionality to be added in the future, and to make development of new features simple and efficient.
Monolith > Microservices Re-Architecture Project
I headed up a small team designing a microservices architecture to replace and extend existing systems. The new architecture needed to support a whole host of planned self-serve and automation functionality, as well as allow extensive customisation by the client projects team, or a clients' own development team. It will also provide better visibility for clients and more efficient data processing.
Learning from the existing platform, we aimed to vastly reduce the work required to support new endpoint systems by introducing better standardisation and control of data flowing through the system, to allow the business to be more agile and reactive to market demands rather than being slowed down by lengthy development times.
The new architecture was also designed to be as future-proof as possible, so that any new functionality, whatever it may be, can be easily developed and integrated; and parts of the system can be upgraded and replaced as needed without impacting others.
You might also like to check out my recent freelance projects
Can I hire you for my team?
I love to work with an enthusiastic team with a range of skills, and also have experience as a team lead and scrum master. I believe that teams do their best work when everyone feels able to contribute and supports one another, and try to foster this attitude in any team I lead or work within. I enjoy mentoring more junior team members, and helping them to find tasks that stretch their skillset just enough.
I'm able to understand the functionality of complex systems and explain them, as well as any potential challenges, to other developers at various levels. I'm able to collaborate on resolving issues or designing new functionality, and can translate business requirements into actionable development tasks for myself or others in the team. I've also spent some time acting as stand-in Product Owner, dealing with clients and internal stakeholders, and guiding the development team in implementing features as required.
I'm also proficient in translating technical terms and concepts for non-technical audiences in a way that is clear and easy to follow, whilst retaining sufficient detail to convey any complexities or uncertainties, and provide enough information for business decisions to be made based on this. I am happy to present information to clients, board members, parallel teams, or other stakeholders as necessary, and adapt the level of detail and technicality accordingly.
As a system architect, I was responsible for understanding the behaviour of existing systems, in particular any peculiarities, risks and specific challenges. Learning from this, and making use of relevant expertise from the wider team, I am able to design modifications or replacements for existing systems to resolve bugs or support new functionality. This may also include consideration of how new work can interact with potentially fragile older code, and how the system evolves over time as legacy systems are retired and new functionality is required.
I'm interested to hear about new opportunities, so if you're hiring and you think I may be a good fit, feel free to drop me a message via my contact form
Can you build me a website?
I've got a wide range of experience building sites of all different shapes and sizes, from relatively simple sites with a few pages, to fully dynamic, interactive sites with user logins and booking systems.
My speciality is in working with my client to figure out what they need from their website, from even the vaguest idea. So if you know you need a website, but really don't know where to start, I can guide you through the entire process. I won't try to baffle you with technical jargon, and instead aim to understand your business and the problems you need to solve with a site - whether that's as simple as people knowing how to find you and when you're open or something more involved. I can then design a solution to suit you, and walk you through each step so that you can be certain of what you're getting. If you don't have anyone terribly technical on your team, that's no problem either - you can be totally hands-off if you prefer and just drop me a message when you need something, or I can provide training so that someone on your team can look after things.
If you'd like to speak to me about your project, please drop me a message below - I'm happy to give you a call and talk through what you're looking for, free of charge. Please note though that I have limited availability, so I'm not always able to start on a project right away.
You might also like to check out some of my recent projects
If you have got a larger, more complex project in mind, I'm also experienced designing, building and maintaining large, complex backend systems and API's, as well as integrating with third-party APIs.
Contact me
If you'd like to get in touch, send me a message via the form below. I'll get back to you as soon as I can