Moray Macdonald

Freelance Principal Engineer

Moray Macdonald sitting in an orange chair, smiling at the camera. He is wearing glasses and a blue shirt with pink flowers.
The Typescript logo An icon representing a database The GraphQL logo The React logo

Moray is a flexible and adaptable engineer with 14 years experience developing secure, production-ready systems using a broad range of technologies. He is confident with all parts of the software development lifecycle, from customer requirements gathering, through architecture design and implementation, to ongoing support and administration in production.

Moray helps small teams build and scale web apps — with a focus on maintainable architecture, intuitive UX, and business-aligned decisions. He thrives when given ownership and trust.

Key Strengths

Core Proficiencies

Main Languages
Typescript, Javascript
Other Languages
Python, C♯, Java
Front-end technologies
React, Apollo, Astro. HTML5, CSS3 and SCSS. WCAG best practices and GDS (GOV.UK) design principles.
Back-end technologies
GraphQL, Express.js, ASP.NET, Pyramid. Prisma ORM, SQLAlchemy and Entity Framework.
Databases
MySQL, PostgreSQL, Microsoft SQL Server, Cassandra/Scylla and Elasticsearch. Administration of MySQL and SQL Server.
Devops
AWS architecture and administration. Containerisation with Docker and Kubernetes. Git and TFS, CI/CD with Wercker, Drone, Octopus, Bitbucket Pipelines. Administration of on-prem Windows and Linux-based environments and networks.
Other
System architecture and design. Confident running Agile (Scrum and Kanban) software teams supported by Jira, TFS/Azure Devops and Trello.

Case Study: Leading Groop's Technical Transformation

Digital Communities Ltd Lead Developer

September 2019 – Present (ongoing)

As Groop’s first in-house developer, Moray took over all technical responsibilities from an external agency. He has since helped evolve the platform through a complete infrastructure migration, performance overhauls, and key feature development – all while building and mentoring a small team.

Highlights

Experience

Macdonald Technology Consultant

August 2023 – Present, Wiltshire/Remote

Alongside his long-term roles, Moray provides consulting and development services to a range of smaller clients and startups.

This includes advising on technology and architecture choices, analysing market fit and advising on project planning. He is also involved with developing prototype systems and full MVPs to demonstrate both market and technology fit.

Cat In A FlatFull Stack Developer (contract)

September 2023 – December 2024, Bristol/Remote

Moray was brought in to support the existing development team developing new features for and supporting users of Cat in a Flat's popular pet sitting app.

With pressure from customers at the start of a busy time for the company, Moray had to quickly switchs skillset from an API-driven React tech stack to Cat in a Flat's Python-based stack in order to quickly deliver value to the development team and their community of pet-sitting customers.

As well as new development, Moray also supported the application hosting on AWS, and their mobile app, built with Cordova.

Digital Communities Ltd (formerly Groop)Lead Developer

September 2019 – Present, Corsham/Remote

See case study above for details.

BMT Defence and SecuritySoftware Developer

October 2015 – September 2019, Bath

Working with a wide range of Government clients including Home Office and MoD, Moray delivered many projects to production and provided support directly to end users. Moray was involved with all stages of projects from requirements gathering and architectural design as well as developing, testing and support, using whichever technologies suit the customer’s needs best, often having to learn new platforms quickly. Specialisations included front end development, GIS systems, graph database usage and DevOps.

IPL Information Processing (now Civica Digital)Service Engineer

March 2014 – October 2015, Bath

Moray was the technical lead responsible for supporting an IPL-developed platform for secure data exchange. Responsible for the day-to-day running of the system, as well as being part of the helpdesk team supporting the customer. He was also responsible for systems, database and PKI administration and for performing upgrades to the IPL-developed system components.

IPL Information Processing (now Civica Digital)Software Engineer

September 2011 – March 2014, Bath

Responsible for building bespoke web-based solutions using ASP.NET, C#, JavaScript and SharePoint. Moray performed low-mid level design of system components as well as taking responsibility for larger functional areas. Other responsibilities included unit testing, basic UI design and requirements gathering with customers.

Education

Durham UniversityMPhys Physics with Astronomy

October 2007 – June 2011

King Edward’s School, Bath

1996 – 2007

Contact

An icon of an envelopeEmail
The LinkedIn logoLinkedIn
An icon of a file being downloadedDownload CV as PDF

Values

Moray actively supports LGBTQ+ owned and inclusive businesses, and offers preferential rates to climate-focused organisations, B-Corporations, and purpose-driven teams. He believes in building technology that supports communities and contributes to a more sustainable future.