Curriculum vitae

Twenty years of shipping.

Enterprise, startup and founder settings — as a hands-on tech lead, a consulting engineer, and since 2020 the creator of Testfully.

↓ Download CV

Profile

A seasoned full-stack software engineer with over 20 years of hands-on professional experience across enterprise, startup and founder settings, most recently as a contract senior engineer and hands-on tech lead. Test-driven development, clean architecture, scalability and maintainable software are the concepts I practise and advocate for.

I see AI and agentic coding as an enabler for engineers rather than a replacement. I've used Codex and Claude Code daily for the past 12 months, while pushing back hard on sloppy AI output that is unmaintainable and poorly designed. It amplifies my work; it doesn't do it for me.

Sydney, Australiahi@mv.id.aulinkedin.com/in/matthew-valleygithub.com/mattvalleycodes

Toolkit

front-end
JavaScript, TypeScript, React (vanilla, Next.js, Remix), RxJS, Redux/Akita, Storybook, CSS (vanilla, BEM, CSS-in-JS, Tailwind), design systems, micro front-ends
back-end
Node.js (vanilla, Nest, Express), Golang, GraphQL (federated, Apollo), REST, WebSocket, CLIs, task workers
cloud & devops
AWS (ECS, Lambda, CloudFront, S3, SES/SNS, EventBridge, Step Functions, CloudWatch, Kinesis, SQS, KMS, CodeArtifact), Terraform, CDK, CloudFormation, Docker; GitHub Actions, Buildkite, CircleCI, Jenkins
data
Postgres, SQL Server, MySQL, DynamoDB, MongoDB, CouchDB, Redis
practice
TDD, clean architecture, monorepos (Nx, Yarn Workspaces), technical leadership, team building, solution architecture

Experience

Testfully.io

Dec 2020 – Present

Indie Hacker

An API development toolkit for enterprises, competing with Postman and Insomnia, built and run from the ground up.

Design system & customer app

  • Design system in React, TypeScript, Storybook, Radix UI and Tailwind with dark mode, built on the composition pattern; Nx workspaces for modularity, published to AWS CodeArtifact via GitHub Actions.
  • app.testfully.io in React, TypeScript, Akita, RxJS and React Router; heavily unit tested with Jest & Chai; deployed via CloudFront and GitHub Actions.
  • Desktop build for Windows, macOS and Linux using Tauri.

Backends, CLI & infrastructure

  • Golang backend-for-frontend over HTTP and WebSocket using a message-based protocol (tRPC-like), on ECS Fargate behind ALB and WAF.
  • Federated GraphQL API (Golang & Node.js, Apollo) backed by Redis, Postgres and DynamoDB.
  • Task processing on EventBridge and SQS, running on Fargate and Lambda.
  • Testfully CLI in Golang for customer CI/CD pipelines; browser extensions for Chrome, Edge and Firefox.
  • DEV, UAT and Prod environments provisioned with Terraform, wrapped in a Bash CLI for day-to-day operations.

oOh! Media

May 2023 – Apr 2024

Senior Software Engineer · Contract

Worked with the solution architect to implement the company's new event-driven architecture on AWS EventBridge, Step Functions and Lambda, spanning multiple AWS accounts with safe, secure cross-account communication.

  • Infrastructure as code with AWS CDK (TypeScript), provisioned through GitHub Actions pipelines.
  • Published an internal NPM module of reusable CDK constructs adopted by other teams.

QBE

Oct 2022 – Apr 2023

Hands-on Tech Lead · Contract

Claims for SME

  • Tech lead for a React app for claim lodgement and finding authorised repairers.
  • React, TypeScript, Storybook and Styled Components on top of QBE's internal design system.

Risk Management Portal

  • Tech lead and solution architect for the integration layer between internal QBE systems and Loss Control 360.
  • MuleSoft REST endpoints and workers ingesting data from external systems.
  • Browser-based apps in Pega 7 for internal users.

THE ICONIC

Jul 2021 – Sep 2022

Senior Software Engineer · Contract

Hired to help execute the rewrite of theiconic.com.au in React.

  • Design system: in React, TypeScript, Storybook and Tailwind, built on hooks and the composition pattern, maintained in an Nx workspace.
  • Micro front-end boilerplate: (Nx, Next.js) with state management (Akita), feature flags (LaunchDarkly), logging, JWT authorisation, error handling and routing; shipped the Store Credit and Wishlist apps on it, deployed to Kubernetes on ECS via Terraform.
  • GraphQL API: serving the micro front-ends: Nest microservices behind a federated Apollo schema, with a boilerplate for spinning up new services.

Westpac

Feb 2020 – Jul 2021

Hands-on Senior Tech Lead · Contract

Hired to execute the Smart Desktop plan: a suite of desktop apps powered by React and OpenFin for the WIB division.

  • Design system: in React, TypeScript, Storybook and Tailwind; composition pattern, Yarn Workspaces, published to the internal registry, bringing consistency across apps and accelerating new ones.
  • Request For Quote app: a real-time app connecting sales and traders over WebSocket, built with React, TypeScript, RxJS and Tailwind; extensively tested with Jest and Chai.
  • OpenFin & FDC3 adoption: incorporated the FDC3 cross-app interoperability spec across the desktop apps.
  • Infrastructure & CI/CD: four identical AWS environments in Terraform with a reusable Jenkins pipeline over shell scripts.

Different

Sep 2018 – Feb 2020

Engineering Lead

Joined the startup early to build an onshore and offshore engineering team and take the tech stack back from an external consultancy.

Platform

  • GraphQL API serving mobile and web apps for tenants, owners, contractors and staff, built with GraphQL.js with Flow, MongoDB and MySQL, tested with Mocha; ECS + ALB via Terraform, Jenkins CI/CD.
  • Design system in TypeScript, React, BEM and Sass, tested with Jest and published as private NPM packages.
  • Task processing system for background jobs and report generation, written in TypeScript on Node.js, SQS, deployed to ECS.

Financial engines (vanilla TypeScript, exhaustively tested)

  • Statement engine: monthly owner statements covering management, maintenance, advertising and legal fees, rental income and GST; PDFs generated on demand via Lambda.
  • Ledger engine: rental ledgers handling bond, rent split, over/under payment and maintenance scenarios, exposed over REST.
  • Payment engine: rent collection across multiple pluggable payment providers, with safeguards against fraud and double-charging.

Autopilot

Feb 2016 – Jul 2018

Senior Software Engineer

Full-stack engineer on Dashboard V3, a React/Redux rebuild of the marketing-automation dashboard with real-time multi-user sync over WebSocket, its own reusable UI library (JavaScript, React, Sass, BEM), a Node.js WebSocket backend on EC2, and a Lambda chart-rendering service for the weekly customer digest; deployed via CloudFront and S3 with Terraform.

Tabcorp

Feb 2015 – Feb 2016

Senior Software Engineer

Migrated TAB's digital platform from legacy Java/Flash to AngularJS and Node, covering wagering, payment and account REST endpoints (CoffeeScript, Node, CloudFormation, EC2) serving web, iOS and Android, plus a bookmaker-facing multi-bet configuration dashboard.

Alphatise

Sep 2014 – Feb 2015

Senior Software Engineer · Contract

Full-stack contractor on the customer-facing AngularJS/Sass web app, RESTful backends in Node.js, CoffeeScript and MySQL, and a Python/Scrapy web-scraping engine.

Onit Media

Jun 2013 – Sep 2014

Lead Software Engineer

Led development of Shuuga, a geo-based local deals app, comprising the Node.js/SQL Server API on EC2, a real-time analytics pipeline (Node.js ingestion, MongoDB, cron-based reporting for business owners) and an AngularJS admin dashboard on S3.

Technical Talks

Open Source