C
A
N
D
R
E
W
L
E
E
14

My Origin Story 👨‍💻

Feb 22, 2022 by Andrew Lee

Beginnings 🐣

I’ve always been a tinkerer. Ever since I was little, I’ve been interested in how things work and how they’re made. My favorite books were non-fictions about engines, light, electricity, and space! A few boxes of Legos, Lincoln Logs, and an Erector Set gave me every opportunity to let my imagination loose.

I made toy cars, spaceships, ninja stars, skycrapers, boats, robots, and more. During school, I was constantly doodling my own cartoons. When I took piano lessons, I’d often make up my own songs rather than playing the music I was assigned, much to the dismay of my teachers. Creation in any form was what made me happy, but especially when it involved science.

Around 6th grade, my teacher introduced the class to this cool education website called Kahn Academy. My mind was completely blown. All this time that school felt like it was moving too slowly, there was this vast library of free videos where I could learn almost anything at my own pace?! I could ask all the questions in the world … and nobody would tell me I’m asking too many questions?!

I ate it up. I learned about biology, calculus, chemistry, and statistics. Salman Kahn’s voice is probably permanently engrained in my psyche, and I thank him for it. Then one day, I ran into a new learning module available called Computer Programming.

Discovering Code 👾

I had always thought computers were amazing, and I loved playing video games like NBA2K7 and Lego Star Wars on the PlayStation 2. I thought it’d be really cool to learn about how those all work, so I decided to dive in to Kahn Academy’s coding course. Suddenly, I was transported to a whole new world of creation. With only the family desktop computer running in front of me, I could build anything. I’d never run out of pieces, and I’d never be missing the right size of gear. There were no limits, and the only parts I needed were bits of knowledge.

Of course, I started small. Kahn Academy taught a dialect of ProcessingJS, so I started learning about the event loop and how to draw simple shapes to the screen. I then learned about making short animations, and then simple games. There was a small community competition going on to make a game under 150 lines of code, so I built a little game called Jump. Reading the code now, I’ve got a boatload of advice to give 12-year-old me.

Overlooking the terrific code quality, it was a pivotal experience for me. I made a game that a hundred strangers decided to upvote! I didn’t even know a hundred people! I showed the game to my family and they thought it was awesome. With some hard work, I had made something that anybody with a computer could play and maybe even enjoy (and that still stands nearly a decade later). The thrill of building something that people will enjoy continues to drive me today.

Over the next few years, I’d learn to make simple websites with HTML, CSS, and JavaScript through Codecademy. I learned some jQuery too, which I’d later return to and find completely out of style (classic frontend experience). For a science fair project, I built a prototype web app called iMotivate to gamify the workplace with rewards and badges. I’m not sure why I thought that was a good idea considering I’d never actually worked a job, but it earned me first place at the science fair! Everything I was working on in software was web-based and visual, right up until my very first high school Computer Science class.

Gradient Descent 🎯

In high school classes, I learned to use C++ and C# with Visual Studio. I built my first console applications, like a choose-your-own adventure game and a file search tool. I learned to use WinForms and built a replica of the calculator app. I learned about how computers access and store memory, and the foundations of computing. I worked hard in school, scored well on my ACT, and won the Computer Technology Sterling Scholar Award for Lone Peak High School.

Even with my concrete interest in computer science, the impending choice for my college major loomed over me. I wasn’t sure if I wanted to be a software developer or if I just liked programming. At the same time, I enjoyed learning about anatomy and chemistry in my classes and considered a career in the health sector. I knew I wanted a career that made a positive impact on lives and made the world a better place, so becoming a doctor seemed like the way to go.

When it came down to selecting a college, I chose the University of Utah for its stellar medical and computer science departments. I registered for my first week of class, ready to pursue pre-med. I went to my first biology lecture, and halfway through, I realized I had completely checked out and was reading about the Rust programming language. I walked out after class that day, switched my major to computer science, and never looked back.

Since then I’ve studied algorithms, databases, operating systems, graphics, programming languages, computer vision, and more. I’ve learned how broad and deep the field of computer science is, and I’m passionate to continue learning. Even with that passion, I continue to have other interests for medicine, business, sports, fashion, food, and music.

My wide-ranging curiosity that has fueled my love for learning has also made it difficult to pin down a specific area to pursue. There’s just so much in the world that is exciting to me that I want to explore. In trying to identify a niche for me to create value in society, I’ve distilled what drives me into a few key points.

  • I love to tinker and build cool stuff, especially when science and technology are involved
  • I have talent and passion for software development
  • I want to people to have happy lives doing what they love, and not have to waste time doing things they don’t

A unifying theme of these driving forces is automation: abstracting away tasks to allow people to focus on what matters to them. I love building things that solve problems while saving time. In retrospect, automation has been a common thread of so much of my work already.

Power of Automation 🤖

When I see repetive and inefficient processes, I’m eager to switch things up. If I’ve got to repeat the same action more than a few times, my automation insticts kick in and I know it’s time to build. I understand there’s a tradeoff between development cost and just doing the work (relevant xkcd), but when it’s worth it, I love to automate.

To help me keep track of all my college and extracurricular work, I built a program to sync Canvas assignments into Microsoft To Do. To help improve my programming productivity, I stored my dotfiles to reproduce my development environment on new machines with a single command.

At Fairway Mortage, I designed software to generate client gift orders. It was a task previously done by hand, and my work saved hours every week. I built PowerBI dashboards to improve employee performance visibility, saving time for management and helping them lead with data. I created report workflows to reliably handle and assign Verification-of-Employment calls. This time-saving work helped us continue to perform at scale during one of the busiest years ever in the mortgage industry.

At Neo Home Loans, I built middleware to connect lead generation services to our CRM. I even automated the deployment of that automation with containerization and a CI/CD pipeline. I did the same when I developed a web app to communicate the loan process to clients.

At my current job at VPI, I’m categorizing and quantifying trash in rivers using machine learning, the crown jewel of automation tooling. The software work I’ve done at each of these companies has been primarily building solutions that save time and money. It’s a powerful skill that I am passionate about using and improving to solve difficult problems.

I’m excited to continue building time-saving solutions, both as an employee and as a prospective entreprenuer. I’ll continue my education, formally and informally, to level up my skills. In my current phase of career, I’m focusing on sponging up knowledge and honing my craft. I’m training hard to make sure when inspiration strikes, I’ll be ready to seize the opportunity and build something people will love.

Everybody could use a little more time, so until you hear from me again, I’ll be automating :)

~ Andrew 🛠