The last “real job” I had was for a company called Pinnacle Publishing. I worked for Pinnacle for a year or two before they had a downsizing. I'm very thankful for how they handled it. My boss came to my office and informed me that I was to be laid off. My layoff was a bit odd; rather than just walking me out the door, my boss said something to the effect of “Go ahead and wrap up whatever you're working on and let me know when your last day will be.” Instead of leaving that day, I had ample runway to get my life sorted before this radical change. As I was wrapping up my projects, I made the decision to “hang a shingle.” Luckily for me, I'd already started doing consulting work in my spare time. I called my current clients and informed them that I'd have more time for them. The conversations went like this: “Hello, I'm going to try consulting full time. Do you have anything more I can help with?” “Heck yeah, we have plenty for you.” I was lucky that these answers were generally a resounding yes.
One of my first customers was a gentleman named Jerry Whiting. Jerry owned a small software company called Azalea Software that specializes in barcode fonts and tools. I started my consulting company writing demo software for Azalea with the development tools popular at the time including FoxPro for Windows, Visual Basic, and Paradox for Windows. Jerry taught me many important lessons on running a business, one of which I use to this day: the One-Page Requirements Document. Whenever I engage with a potential client, I have them write up their project on a single page of text. Jerry's (and now my) philosophy was if a project can't be described on one page, it can't be done.
While I was working on projects for Jerry, I contacted another friend, Erik Ruthruff. Erik and I were colleagues at Pinnacle and became fast friends over our love of Dungeons & Dragons. Sometime after I started at Pinnacle, Erik left to work for a training company in the American Midwest. I told him I'd be interested in training for that company at some point. When I went independent, Erik was one of the first people I called. Erik signed me up and, importantly, advanced me the money to buy a laptop to train with. Erik took a chance on me and I'm grateful for his trust in me. Before I could train students, I was required to sit in with another trainer to see how the company delivered its training. This trainer's name was David Anderson.
A few weeks later, Erik scheduled me to sit in on one of David's local classes. This training session was life-changing and I'll be forever grateful to David, as he taught me how to teach. I think the most important thing David demonstrated to me was how to bring joy to teaching software developers. David regaled his class his class with real-world stories and examples. I shamelessly stole his routine when teaching my classes. David and I remained friends for many years until his passing a few years ago.
Around the 10-year mark of being an independent consultant, I took the scary step of hiring my first employee: Greg Lawrence. Greg worked at a local ISP located in the office next to mine. I knew him from our interactions related to the T1 they shared with me. Greg was dabbling with basic Web pages and tasks, and I recognized that he might have talent for writing software. Much like my story, the company Greg worked for had a downsizing and he decided it might be a good time to try becoming a software developer. So we drew up an employment agreement and he became employee #1. Over the last 15 years, Greg has become an accomplished software developer and has taught me many lessons; first and foremost, how to delegate work. I think the most important aspect of becoming a successful manager is to delegate work. Trust is important in our profession and I'm happy that Greg has shown me how to trust in others' judgment. Along with this, Greg has taught me many important lessons on how to teach other developers as well as an understanding the needs of other people.
Melanie Spiller (my editor) and I have a very long relationship going back to her time at the book publisher Sybex (mid-to-late 90s). Melanie has also taught me many important lessons. The first is to communicate difficult things even though the conversation might be uncomfortable. Melanie was the developmental editor on what was to be my first book. When I started working on the manuscript of the book, I quickly realized that this was not the book I wanted to write. I wanted to write a more “advanced” version of the book I proposed. Instead of talking to Melanie about this, I cancelled the project and proposed my new idea to another publisher. Many years later she asked why I hadn't come to her. I didn't have a good answer, I think it was that I didn't want to have an uncomfortable conversation. The next and more important lesson was how to be less of an asshole. I was having a conversation with her on some task that was of no real import and became verbally irritated with her. One of my outbursts hurt her feelings and she called me out on it. I apologized and took the conversation to heart. I've never forgotten this conversation and how important it is to treat people with kindness and respect.
There are many, many others who deserve thanks to the help, inspiration and guidance they have provided me on this wonderful journey as an independent consultant. Lucky for you, there are too many to list in these pages.