Moray Macdonald
Freelance Principal Engineer

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
- Taking MVPs from idea to launch
- Solo or Lead developer roles
- System design, database modeling, infrastructure and architecture
- Taking ownership of legacy systems to ensure their longevity
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
- 300× performance boost from data layer rearchitecture
- Built full CI/CD pipelines, automated deployment workflows
- Added video conferencing and modernised user experience
- Migrated 20+ servers to AWS, led all infrastructure and DB ops
- Introduced agile processes and mentored junior devs
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
Contact
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.