Who builds it.
316Software is one engineer: me. I read every message that comes in, and I write all the code. Nothing gets handed off to a junior team or a subcontractor.
I’ve spent 20 years building software, most of it for Silicon Valley companies. Now I build it for businesses closer to home.
Most of that time went into large web applications, AI systems that run in production, growth engineering and mobile apps, usually as the engineer who took a project from the first sketch to production and kept it running after. I have a Master of Engineering Leadership in Dependable Software Systems from the University of British Columbia.
Experience
Most of my work falls into four areas.
- Web development TypeScript and React for most of the last decade, and .NET and Java before that, from the interface down to the database and the servers it runs on. On a Silicon Valley company’s public website I designed the component system that lets designers change a layout from the CMS without a release. When publishing a page started taking close to 30 seconds, I traced it to a cache that scanned every stored key on each publish and brought it down to a few milliseconds. For a surveying company I’m the whole team, from the database design to the deploy.
- AI and enterprise systems I’ve taken AI projects from the first prototype to production: systems that write content for customers, with an automated quality review before anything goes out, personal details swapped for realistic fakes, and a record that ties every result to the prompt that made it. I also built the tools that let marketers turn a design into a published page with AI. For the surveying company I built an assistant where the model decides what to look up and the server computes every number, behind a single sign-on that keeps each client’s data apart.
- Growth engineering Many years on a growth team, leading projects that helped the company grow. Each one started from where customers got stuck, and the numbers came after, to show whether it was fixed. I built A/B testing into the company’s CMS, so marketing now runs 10 times as many experiments a quarter without waiting on an engineer, and before anyone relied on the results I found four bugs that were quietly skewing them.
- Mobile development I build native apps for iOS and Android, and I’ve worked outside the browser since 2012: Android first, then leading React Native apps for Xbox and PlayStation at a games company, with native C++ modules for the console hardware. Under KidSecureGames I publish my own apps for kids and handle the whole path myself, from code signing and store listings to App Review.
Education
- University of British Columbia Master of Engineering Leadership, Dependable Software Systems. Vancouver, 2017. Half of the program was about building systems that can’t be allowed to fail silently, and half about leading the teams that build them.
- Universidad Peruana de Ciencias Aplicadas Bachelor of Software Engineering. Lima, Peru, 2009. Five years of software engineering fundamentals.
How I work
- Software should give you time back. If it won’t save someone hours every week, I’ll ask whether it’s worth building at all.
- As few moving parts as the job allows. Every extra service or framework is something the next person has to learn in 2 years’ time, without anyone around who remembers why it was chosen.
- I can explain every part of what I build. AI writes a lot of code now, mine included. The design stays with me: I can take you to a whiteboard and show how your system works, why it’s built that way and where it could break.
- Every change gets reviewed and tested. An AI review reads each change before it ships, and end-to-end tests click through the software the way your team would. My own review goes to the design and the reasoning behind it.
- Measure what ships. Every change comes with a way to tell whether it helped. For an AI feature that means checking its answers after launch too, since a new model or prompt can quietly make them worse.
- Decisions in writing. I write down each decision and the reasoning behind it the day it’s made, so whoever comes along a year later can see why.
Outside work
I’m a husband and a dad to three kids. They’re the reason KidSecureGames exists: I wanted offline games with no accounts, no ads and no tracking, and they turned out to be hard to find. We live in Greater Vancouver.
Elsewhere
When I’m the wrong choice
Working with one engineer has limits. If you need a team of five by Monday, round-the-clock on-call support from day one, or a supplier big enough to pass a corporate procurement review, I’m not the right fit. Mention it in your first email and I’ll tell you right away.
Where to start
Describe the work in a sentence or two. You’ll see which service it reads as, where to start, and what that costs.
The browser check didn’t pass, so the finder is switched off. Send me a message instead.
Get in touch
I take on a few projects at a time and reply to every message within 2 business days.