My Work

My career has spanned several industries, including agriculture, photography, food services, technical event production, teaching, and programming.

I am lucky in many ways, and because I was always really curious, I was able to spend a lot of my “free time” in my youth working with my family, doing everything from light-steel framing, carpentry, masonry, drywall, and a lot of manual landscaping.

I have many stories to tell about my time as a short-order cook, and I have numerous personal and professional achievements from my years running events (including one of my favorite awards of all time).

You can always take a look at my LinkedIn for a more “professional” view of my background, but I’ll list some of the more interesting things I’ve done here.

Academics

During my undergraduate studies, I worked with two of my professors to develop a model for defining and measuring a person’s “exaggeration” as a personality trait. I also developed and ran a study to evaluate the model, and I later presented my findings at the Rocky Mountain Psychological Association annual convention (Page 95, if you’d like to see my name in the program).

I was working full-time as the Campus Events Technician when I completed my Master of Public Administration degree. Studying “Public Administration” while working as a staff member of a public university radically changed my perspective on my own limits as an individual in an organization, and I can proudly list a few things as accomplishments that I broke the ice for and carried across the finish line:

  • A campus-wide digital signage system (free of any external subscriptions)
  • Massive expansion of in-house technical capabilities
  • Large growth in events hosted at the university

My degrees also taught me one of the most important skills I have ever learned: how to read really long, really boring things. As a present-day software engineer, who reads a lot of documentation, this skill continues to save me from myself.

Engineering/Teaching

I built my first “website” alongside my friend/neighbor, using a few text documents and a 3.5″ floppy disk. His mom was a “webmaster” and pointed a subdomain at our text files, and from there we had our very own slice of the internet.

The Early Days

I found the amazing world of Flash and ActionScript, and even stumbled my way through enough PHP to send emails. Eventually, I made the website for my mom’s photography studio, complete with a hand-made “voting” system for an annual contest we ran. I made a few other websites for a few other people, but when Steve Jobs famously killed Flash (and I don’t know if I’ll ever get over that), I focused on my academic studies.

Programming, as a concept, never left my side. I turned spreadsheets into library-style checkout systems with VB scripts in Microsoft Excel, rewrote some of the stats functionalities of my SPSS software in Excel (because I didn’t have a personal license for SPSS). I wrote dozens of Google Apps Scripts to automatically schedule my employees and manage my events calendars. I even wrote my first “full-stack” application to manage my event inventory and used it for two years before leaving the world of live events behind.

App Academy

I attended App Academy in person, in their San Francisco office. It was there that I finally felt that I was having the gaps in my programming knowledge filled. I learned Ruby (and I will always love that language), and I dug much deeper into JavaScript. I learned about meta-programming and how Rails worked. I got perfect scores on every test (at the time, App Academy famously kicked students out for getting low scores on two tests). And before my cohort ended, a vacancy came up, and I was invited to apply to be a teaching assistant.

I loved teaching programming, and in some ways, preparing for my lectures helped me learn even more about the concepts I was teaching. For context, one of my cohorts had students who had no college experience sitting side by side with graduates from UC Berkeley with degrees in computer science. My job was to teach both of them, and to answer all of their questions.

After teaching for a while, I was talking to my manager, and I told him that even though I loved teaching, my real dream was to be a software engineer. In one of the coolest moves, I was given programming responsibilities, bugs to fix, internal software to develop, and I taught less and less. Only a short while later, a friend reached out to me and asked if I wanted a referral for a job in SoCal at a really cool company he was working for. I absolutely did.

Procore

I joined Procore (the name in Construction Technology and Management), and I was immediately placed on the Drawings team, under the Building Information division. It was a perfect fit, and I stumbled my way into another team that was working on a really cool project that would automatically create a bunch of “Submittals” from a “Spec Book” (if you don’t know the construction terms, just know that Spec Books are large and there are a ton of submittals in them). My signature addition was a little feature that let the user quickly extract a submittal that our system had missed, by dragging a boundary box around it (which sounds simple, but the world of PDFs on the web was a terribly inconsistent one back then). As a side note, a real-life project manager gave me a hug at one of our conferences when she learned that I helped build that feature; it saved her weeks’ worth of work the year it was released.

Riding the high of that project, I ended up on a new team. Inspired by the highlight-to-create work I did, we had more ambitions for marking up documents inside of the software. And so, we wrote the new “Document Markup” system.

After going “GA” with Document Markup, I was pulled into another project, also in the documents space. At one point, the project was considered “Procore’s #1 Global Initiative.” No pressure.

I stayed with that team until we saw a successful beta release to real customers, and I knew that the team was staffed up and could thrive without me. The journey to that point had taken me from my entry role as an Intermediate Engineer all the way to my begrudging acceptance of the title “Staff Engineer,” but I was starting to feel an itch to do something for myself.

Flywheel

At some point, my friend (and former fellow instructor from App Academy) reached out to me with a really dreamlike proposal: join a startup with a group of friends and try to take a bite out of the huge “marketing tech” market. I joined Flywheel and coded and had an amazing time working with some of the biggest personalities I know. It’s hard to explain what it’s like working with so many people with so much of a shared background and such a huge love for learning and building.

We built some amazing systems, and we ingested millions and millions of events. And we distilled those millions of events into neat charts and actionable insights. The tech was (and is) cool, but that itch hadn’t gone away, and I found myself constantly dreaming of the “next thing.”

Room Sign App

After a heart-to-heart with my friends/bosses, I left Flywheel and created the Room Sign App, which was a rebuild of a much older project I had built after seeing the scheduling challenges at App Academy.

Scheduling applications, especially those with web, Android, and iOS apps, have a surprising amount of tech behind them. There are websocket servers, update servers, special provisioning systems, code in more than five different languages, nearly a dozen different external integrations, and a marketing website to top it all off.

The Room Sign App is still a part of my daily life as it continues to grow.

Digital Transformation

After looking back on the software I had built for others, I saw a really clear pattern. I love to write software that improves people’s lives.

I’ve also picked up a lot of really useful, practical tools for developing solutions to many problems. I’ve used these tools in enterprise software development with large engineering teams, with foreign contractors and cross-team dependencies, and I’ve used them in solo-development, where the only person who will ever see the results are my own customers. I’ve used them to help people automate away really painful, dull work so that they can focus their time on the things that really matter.

If this is something that you (or your organization) is looking into, and you want a systematic way to:

  • Model processes
  • Identify high-return changes based on your own values
  • Create your own automations
  • Create specifications that will result in truly useful custom solutions
  • Evaluate and justify your digital transformation

Book a discovery call with me.