Senior Full-Stack Software Engineer
+44 7419 821335
Intro
I'm an experienced developer who loves working on hard problems and making beautiful things out of code. I've specialised in full-stack web development – using Node and modern frontend frameworks – but I'm also comfortable using commandline tools to debug network traffic, devising and documenting an efficient workflow for processing audio sprites, or giving a workshop on async programming patterns.

I'm now looking for a senior to lead position where I can combine engineering with wide-ranging experience and soft skills to have a large impact on an exciting product.
Work history (click for more details!)
Software Engineering Consultant
Cambridge University Press & Assessment
Ltd company, remote
Jan '24–May '24
Modernising, reworking and rebranding e-assessments. Everything from figuring out how Rasch model stability works to wrangling audio sprites in Audacity.
TypeScript
Node
XML
Algorithms
Audacity
CreateJS
Webpack
Bash
Senior Software Engineer
Valsys
Permanent, remote
May '23–Oct '23
Frontend development on next-gen financial modeling platform. Role details under NDA.
TypeScript
React
Hooks
Senior Software Engineer
The Financial Times
Contract, remote
Jan '21–Jul '21
Large user-facing features and updates to the FT's content pipeline & React-based article UI.
React
Node
PHP
WebDriver
Co-founder
Retain Maths
Startup
Jun '19–Jan '21
EdTech startup focused on spaced repetition practice for maths students.
JavaScript
MySQL
Express
Svelte
PWA
Systems Developer
CEM
Contract, on-site
Jul '18–Dec '18
Flash to HTML5 transformation; improved DX & productivity.
TypeScript
Python
Linux
MongoDB
HAProxy
Developer
DropPoint
Freelance, remote
Jan '17–Jul '18
Created the platform. Onboarded & mentored junior/graduate developers.
JavaScript
HTML
SCSS
Stripe
JavaScript Developer
Chess.com
Permanent, remote
Sep '15–Nov '16
Created Bughouse & other variants to compete with lichess.
JavaScript
AngularJS
Less
Symfony
LAMP
Projects & code samples
Edita, a code editor that I use as my daily driver.
TDD
Svelte
Electron
HTML5 Canvas
CodePatterns, a better syntax for find & replace.
TDD
JavaScript
Backtracking pattern matching
Algorithm to calculate the median of two sorted arrays with O(log(m+n)) time complexity.
Data structures & algorithms
JavaScript
svelte-view-engine, a view engine for rendering Svelte components.
Parallel programming
JavaScript
gnome-usb-key, a toy project to unlock a GNOME session with a physical key.
Steganography
C
Bash
Writing
For some examples of my thinking and writing on tech and other subjects, see my blog at gushogg-blake.com.