About

I'm a software developer from Seattle, WA.
Programming became a hobby for me after college. I had taken some Computer Science classes for fun and learned Java. After school, the company I worked for asked me to rebuild their website. I did make them a website, but I couldn't stop tinkering. I built myself a site. I rebuilt the site over and over. I didn't care what was on it, I cared how it went together.
I learned JavaScript and PHP. I learned more and more CSS. I read a book about databases and learned SQL. Then I started learning C and Python. I was learning things I had not learned in college. I read a textbook I found about how computer processors and memory work, and how computers store and processor information.
Eventually I applied for Galvanize’s Web Development Immersive program. Now I work on a React Web App as well as a backend written in TypeScript. When I close the work computer for the day, I often pop open my personal computer and start working on my own projects.
Experience
Center ID
Staff Software Development Engineer May 2019–September 2024I started at Center as a Software Development Engineer (SDE), working on general features of the expense management product. I learned to build, test, and deploy features that extended from our TypeScript backend APIs to our React Web App.
I then focused on creating integrations between our product and ERP systems. Those were complex integrations that required a solid knowledge of both our product and the external APIs we were using.
After that, I focused on our direct reimbursement system, which involved making automatic payments from our customers bank accounts to their employees bank accounts based on expenses generated within our system.
Today, as a Staff SDE, I am on a small team that is designing and building a platform that listens to noisy, and often inconsistent, feeds from various credit card processors and generates a meaningful, generalized transaction state that customers can subscribe to via real time web hook events, or query through REST APIs.
- Collaboratively design, prototype and build major features.
- Develop and maintain microservices with Lambda, API Gateway and other AWS Services.
- Code reviews, design, planning and participation in Scrum process.
Galvanize
Web Development Immersive Student October 2018–March 2019Over the course of the program, I learned to build React apps and Node.js backends. Because I had previously learned Java at the University of Washington, and taught myself quite a bit of web development already, I was able to test out of the first month and a half of the program.
I came away from that program with a solid, practical understanding of web technologies and frameworks that I have grown into the much richer understanding of software development that being an engineer requires.
Other Experience...
What I did before I was a software developerI worked for an education consulting startup as a "Program Manager." Truthfully, it was a bit of an overly fancy title, my actual role was somewhat unspecific: I did everything from writing marketing material, to researching school districts to making their website.
Before that I worked as a plate maker for a small printing company. I made printing plates for big labels like Coca Cola, Monster Energy, Four Loko, and Peace Tea.
Projects
Go Router
Source Code: https://gitea.nolanhellyer.com/nolan/go-routerWhen I decided to learn Go, one of the first things I thought I would do with it was build a web API. I had read that Go's standard libraries had just about everything you would need, so I decided I would take as few dependencies as possible.
I quickly discovered that the default router that Go's http library uses does not support path parameters. So I wrote my own!
I wanted Go Router to fit very naturally into Go's http package, so it implements http.HandlerFunc. It uses a tree to keep track of the handlers instead of regex.
The result works great and is super easy to use. I've been able to reuse it whenever I want to build a web API in Go.
Detective
Source Code: https://gitea.nolanhellyer.com/nolan/detectiveDetective is a library I'm working on in Deno for creating text adventures. I've found old games and text adventures fascinating since I was a kid.
I started Detective thinking I was going to make a text adventure, but I quickly discovered that my interactive storytelling was as uninspired as the name "Detective." Plus, the most interesting part of making it was writing the code anyway. So instead I built library that I or someone else could use later to make a game.
Does it do everything you would need to build interactive fiction? I have no idea, I didn't actually use it to build a game. But it is super cool because it allows you to write your game in JSON with some simple rules.