Introduction

I'm writing this book to share some ideas about Liquid, which has been a tool that I’ve personally relied on my entire software career. It’s interesting to look at how companies are solving problems today. After you’ve been doing software for so long, you realize that most problems are not unique. Most companies have the same challenges. Interestingly, some of the solutions that I’ve come to rely on remain difficult problems for many companies.

In this book, I will share with you some of those solutions so that you may use them yourself. I will not be providing any source code, only the ideas. The ideas presented here can be implemented in any language for any business domain.

I’ve been extremely fortunate in my career to have worked with some incredibly talented people. Even though I’ve personally put hours of blood, sweat, and tears into these solutions myself, I could never claim that they were my ideas. Many of these ideas were implemented on teams that I’ve worked with by many different people.

With that said, however, many of these ideas are not unique. As I look around at many tech companies, most of them are using many of these same solutions in their products. It’s validating to see that since that would mean that the solutions are working! I’m writing this book for people who are like myself when I started my software career. This book is for people who may not have the advantage to be surrounded by the great leaders that I had, and it’s up to them to figure it out on their own.

First things first, I should start by talking about my own personal history…

Counter Strike Source

When I was in high school, I played Counter Strike Source every waking moment possible. I didn't know it at the time, but this was my first introduction to leadership and people management.

I recruited a team of players, and we competed in a league called CAL. The only thing I ever thought about during this time was my counter strike team. There was one thing that was unique about my team that made us different from everyone else. Other teams had a very cut throat mentality. It was all business and winning oriented. Although we were competitive, our team was focused on growing together. It was a slow process, but after about five years the team I had started competed as a professional esports team for one season.

It was during this time that I got interested in computer programming. The team needed sponsors, and you could only get a sponsor if you had a website. Thus, I wanted to create a website for my "clan". This requirement set a series of events in motion that resulted in going to college for computer science and ultimately a career in web development.

Starting Ruby on Rails

During college, as I was taking my computer science courses, I was far more interested in entrepreneurship. I was inspired by a story I had read about the development of Twitter. Two developers building an app in two weeks and seeing explosive growth. I was so inspired! I thought that I should do the same thing, so I started learning Ruby on Rails.

My goal was to build a music service. This was in the early days of Grooveshark where music wasn't nearly as accessible as it is today. The goal of my application was to allow the user to enter any artist, and then the application would instantly give you a playlist (powered by Grooveshark) where you could listen to their top hits. I spent months crawling music sources, building a database of artists and their music so my service could give results instantly.

I thought I was going to change the music industry… Sadly, that never happened.

At that time, Rails was still in its infancy. Not a lot of people were working with it in Indianapolis at all. In one of my computer science classes, I saw a fellow student working on a Rails project during class. One thing led to another, which resulted in an internship and a job at a Rails shop that I would be at for nearly ten years.

My Software Career

Reflecting on where I was when I started my entrepreneurial journey... I had no chance. I knew so little at the beginning, and I've learned so much in the past ten years. Over that time I’ve worked on many failed side projects and startups. I’ve also been a part of a few successes, and have been a part of a few acquisitions

Here are some of my notable achievements from my career so far:

  • A friend recruited me to work on his startup that had tens of thousands of users. In my time, I helped with many enhancements, but the one that I am most proud of is the premium user subscription service that we started. By the time I left the company, our subscription service was generating thousands per year in revenue and quickly growing.
  • Together, we built an "ELO ranking engine". This was a one-of-a-kind system that is capable of ranking players for any game using the ELO ranking system. What makes it special is that it is the only implementation of ELO that is capable of editing or deleting the match history. This is a huge programming problem because any modification results in a chain reaction and impacts every match and player after the edit.
  • I was involved in a nonprofit that raised millions of dollars. In fact, I was completely in charge of the technology and volunteer engineering team for a few years. Although I'm proud of what we accomplished, this role took a toll on my health because of how demanding the responsibility was. I learned a ton from this experience though.
  • I built a plugin for Minecraft that allowed the user to manage minecraft builds (schematics) in a similar way to Github. From the game, you could instantly upload or download schematics to or from the world to the website. From a programming perspective this was some of the best work that I've done, but the project never gained any traction.
  • I learned how to manage people from one of the best software managers in the business. At first, I didn't want to be a manager. However, reflecting on the experience I learned so much about how to work with people.
  • During my time as a Software Team Lead, we created one of the most challenging technical projects of my career. It was a BPMN workflow system capable of allowing users to essentially program through the user interface.


Reflecting on everything I've done, I'm so lucky to have met the people that I did and had the opportunities that I had. At the time of writing, I have left all of those people behind to start my own company, which is one of the hardest things I’ve ever done, but also a dream of mine since I was a teenager. It is only with the lessons that I learned from those people that I am ready.

Even though I wasn’t a part of a huge company that is a household name (...yet), I have worked on many engineering teams with a wide range of people, problems, and industries. I’ve dedicated the last ten years of my life to truly understanding what it takes to be successful in the world of software (in particular B2B).

One thing that I have come to realize about my career is that there are a handful of tools that I rely on for everything that I do, and one of those tools is Liquid.

This book has many high level ideas about the possibilities of Liquid and how it can supercharge your development team and company. There will be little to no code. It will be most beneficial for software engineering leaders who are solving problems for their web portal B2B Saas companies. If you feel like you’re working hard, but never getting ahead, then this book may be exactly what you need.