Maintenance Complete: How I Refactored My Career in One Year
Background
After five years of shipping critical infrastructure and putting out fires, I realized I had become excellent at execution, but I was losing touch with exploration. I was optimizing for the sprint, not the marathon.
I had become hyper-efficient at my specific responsibilities, but I wasn't growing in a way that felt sustainable. I missed the feeling of building from a blank canvas. I wanted to become better at navigating ambiguity and designing entire systems from scratch. So, in November 2024, I left my role as a Senior Software Engineer at Shippo to pursue a self-directed engineering sabbatical.
The Laboratory: Game Engineering
In January 2025, I began building Path of Magic (POM), an MMORPG centered on the joys of being a powerful wizard. This wasn't just a game, it was a crash course in product ownership.
Building POM gave me a holistic view of the software lifecycle. I wasn't just the engineer, I was the product manager, designer, and QA lead. I had to weigh architectural purity against player experience, making hard decisions on what to ship and what to cut.
This work quickly bled into tooling. Frustrated by the lack of version control in Roblox Studio, I moved my development to VSCode. When I realized VSCode lacked the native features I needed, I built Roblox IDE, a custom extension to bridge the gap. As of today, that extension is installed and used by 1,684 game developers.
The Scale Test
In June 2025, my work attracted the attention of a developer with a rapidly growing game. I came on board as the sole programmer for Spike Troll Tower, which eventually hit 1,400 concurrent users and over 1 million visits.
Managing state for thousands of concurrent users in a real-time environment taught me lessons about latency, replication, concurrency, and database contention that no textbook could offer.
The Deep Dive: Go and Simplicity
After shipping those titles, I decided to pivot back to backend fundamentals. While I had professional experience with Go at Shippo, I wanted to master it without the crutch of heavy frameworks. I wanted to understand the standard library inside and out.
I built a series of projects designed to test the limits of simplicity:
- A Grand Exchange clone: modeled a complex trading economy using only one external dependency.
- A custom auth microservice: implemented session generation and security from scratch using only the Go standard library.
- thorn.sh: The site you are reading right now runs on a custom engine I wrote to serve content with minimal memory footprint (currently ~11MB).
An Upgraded Toolkit
This year wasn't a break, it was intense R&D. I worked harder in the last 365 days than I ever have before.
Here are some of the skills I gained:
- Lua and state management: my game codebase grew to 40,000+ lines of modular Lua, teaching me how to keep dynamic, untyped code maintainable at scale.
- Go mastery: I can now write performant HTTP servers and database layers from memory, giving me the speed to prototype complex backends in hours, not days.
- TypeScript: through developing my VSCode extension, I gained a deep appreciation for strong typing in frontend tooling.
Maintenance Complete
Spending one year as an independent engineer has been the most fulfilling time of my career so far. I’ve learned to build systems around the internals of engines, rather than just on top of them. I can now look at a vague idea and see the full path to deployment, weighing scalability against developer velocity.
Feeling refreshed and sharp after my time working on personal projects, I’m now searching for backend engineering roles at companies solving scalability challenges without succumbing to complexity. I am looking for a team where I can apply my experience in distributed systems, Go, developer tooling, and application architecture to build software that is robust, readable, and efficient. If that sounds like your engineering culture, I’d love to chat.