Author Archives: Patrick

Money, Career, Love, and Family

Introduction

About twenty-five years ago, my mom gave me a book called Money and the Meaning of Life. I still remember some of the points the author made. First, he addressed the common complaint that people focus on money too much – what if the opposite is true? What if we don’t focus on money enough? There are many important lessons to be learned by examining your relationship with money and material things. There’s no need to shy away from the subject, although that’s an impulse many people share.

Another key point from that book is that most problems can be solved with a very specific amount of money. Car problems? It’s easy to calculate the cost of thorough repairs or a new car. Kid struggling with school? A specific amount of money will pay for a tutor or a private school that’s a better fit.

Even many relationship problems – if someone waved a magic wand and paid off all your debts and bills for three months, would that ease tensions? If they waved it again and paid for a service to clean your house once/week, would that change the focus of your conversations? What if a chef came to your home to cook all your meals? Or more simply, consider couples counseling … this was a paid benefit when I worked for Microsoft, and we used it. It helped save our marriage, yet I’m not sure we would have gone if we had to pay for it. Magic wand indeed.

Money solves a lot of problems, but it can’t solve all of them, and it’s important to know the difference. A very specific amount of money could get me be a better violin or bow, and that would instantly make me sound a little better – but it can’t replace practice. I can pay for the best violin teacher in the world, but unfortunately, they can’t do a Vulcan mind meld on me. There’s no amount of money that will allow me to play a difficult piece of music I haven’t yet learned or master a technique I haven’t yet worked on.

Money’s important, but it’s not everything. That leads to a surprisingly challenging philosophical question – how much is enough? I’ve known people who never seem to have enough, and I’ve known people who always seem to have enough – yet it doesn’t seem tied to how much money they actually have. It seems very personal, so your idea of enough is likely very different from mine. Thankfully, my parents have always had enough, though we were never rich. I haven’t always had a clear understanding of enough myself, but I think I’m getting close.

In business, the people I admire the most aren’t the ones with the most money but the ones who built something great that allowed them to reach their enough. My good friend Carl Erickson, founder of Atomic Object, has certainly achieved his enough, as have Ted and Harry, the founders of Moraware, where I now work. They’re all still focused on their work because they genuinely care about it, not because they’re trying to accumulate more stuff.

I’ve been thinking about these kinds of questions lately because I have a new job at Moraware. It’s been an interesting journey from the very beginning of my career until now, and I’ve decided to tell that story here. Fair warning – this is a long, navel-gazing read. I wrote it more for my own clarity than for any particular audience.

My career and my relationship to money are obviously related, but my marriage is inseparably entwined with this story as well. Every career decision I’ve made has had a significant impact on my wife’s life as well, just as my wife and son have influenced every career decision I’ve made. So this story is about money, career, love, and family.

Musician to Temp (1989-1992)

Paula and I met at Southern Methodist University and fell in love. She was nineteen, and I was twenty. I knew exactly what I wanted to do, which hadn’t changed since I was nine years old – I was a violinist and planned to play professionally. Paula was a dancer, but she broke her foot the day after we met and had to change direction. After the school year, we moved in together. The rent for our Dallas apartment was $315/month. Paula worked at a bookstore while I continued going to school.

I also played in the Dallas Opera Orchestra. It was a good job but a short season – about 20 weeks if I recall correctly. Like most musicians, I supplemented by playing various pickup gigs.

After about a year, we decided to switch places. I was frustrated with school generally and with my violin teacher specifically. So we decided that I would “take a year off” and work while Paula went back to school. We raised the stakes by getting married. I was 22, and Paula was 21. We were very happy.

I never decided that I wasn’t going to be a violinist. In fact, if the opera season had been twice as long, I might never have started anything else. As it was, I knew I would need to supplement my performing income with a “day job.”

I responded to an ad that was looking for people who loved music. The job turned out to be selling Bose Acoustic Wave stereos door-to-door. I gave it a try, but I was terrible at it and quit after a week.

Bose Acoustic Wave Music System
The Bose Acoustic Wave Music System – sexy like a humidifier

What next? Thanks to a great middle-school typing teacher, I could type more than 70 wpm, so I decided to try my hand at temp office work.

This I liked. My first week, I was the fill-in secretary for an office of lady vice presidents at NCNB bank. I think it made them happy to see a young man in that chair.

The next week, I was assigned to type some Standard Operating Procedures at the corporate offices of Wyndham Hotel Company. They seemed to like me, and I quickly realized that this was a very long project. After 30 days, I switched to a direct contract (my first customer!) to make an extra $1/hour. I think I was charging them $13.50/hour. It took me about a year and a half to complete the project.

I used the opportunity to learn everything I could about computers. I had taken BASIC and Pascal programming classes as a kid, and I had typed papers on various computers at school, but I had never owned one. I loved having “my own” computer at work that I could use and discover.

I learned literally every function of WordPerfect to support the SOP project. Then I learned Clarion so that I could make a simple database program for one department. I also learned some Mac “desktop publishing” tools to make various graphical pages.

The corporate offices of hotel companies are filled mostly with executives and their immediate support – all the middle managers work in hotels. So when I would attend meetings to discuss various SOPs, I was in a room with the President and various VPs – very successful and powerful businesspeople.

Entering the office one morning, I had an epiphany. I clearly remember thinking, “These people don’t know anything more than I do … this is just what they do when they get up in the morning – and they’ve been doing it longer than I have.” That made me feel so empowered – if they can do it, so can I. I think that’s what Seth Godin was trying to inspire when he said you don’t need permission to do something great.

I became an odd fixture in the office, almost a mascot. I reported to a very kind VP who loved my enthusiasm and happily gave me extra projects. For example, I rewrote their sales manual and tightened it up considerably. I always laugh when I remember how uncomfortable they were with my edits and how forcefully I defended them. Who was this kid? I assume they eventually acknowledged I made it better (at least I hope so). I still have a copy of that somewhere.

A lot of the SOPs involved some sort of form that had to be filled in by hotel staff. I ordered a specialized piece of forms software to help make them. I don’t remember its name, but I was fascinated with this tool. Although it was useful for designing paper forms, it was optimized to capture the data from the forms after they were filled in. It was ultimately a paper front-end for database entry. I began dreaming of providing forms services to companies as a business. I think I was onto something interesting, but I didn’t pursue it.

At some point, a friend lent me a PC I could use at home. It only had a floppy disk, but I purchased a 20 Megabyte hard drive from a swap meet and installed it myself, opening a computer case for the first time. I was so proud and excited; I just kept learning more stuff.

My Uncle Dan was a computer programmer and owned a successful software business. He encouraged me to learn C if I wanted to get serious about programming. I got a couple of books and taught myself C and C++. I loved programming for its own sake, but my favorite part was focusing on the business problems you could solve with it.

Wyndham didn’t even have email yet. Instead, they passed paper memos around. I made the case for improving office communications with email, and they considered it carefully. I noticed that they didn’t have anyone leading Information Technology for the company, so I offered to do it. “You should make me the VP of IT,” I said. They agreed that they needed someone dedicated to this work, but then they explained the concept of “fiduciary responsibility” and why they would eventually hire someone who was qualified on paper as well as in practice.

As useful as I was, I began to realize that I needed more experience and “authority.” I decided the best way to do that was to get a real programming job. Since I hadn’t gone to school for programming, I included a few lines of clever C++ code right in my resume. I immediately got four interviews that led to two offers. One of those offers was from American Airlines. I figured that once American Airlines was on my resume, nobody would care that I didn’t have a degree, so I jumped at the opportunity.

I think Wyndham got me a cake when I left, just like a real employee. They were so cool to me.

American Airlines (1992-1994)

My interview with American Airlines was pretty funny, and it couldn’t have suited me more. It was with the team responsible for the client-side part of SABRE for travel agencies. The day of my interview, they had a minor crisis with a major customer and needed to visit them. Rather than cancel my interview, they asked me to come along.

I was interviewed in the car and on the elevator, and then I sat at a conference table with my interviewers and the customer – it was like a scene from a Woody Allen movie. I was relaxed and able to roll with it – I even asked a clarifying question of the customer to show my confidence. None of the other candidates had a chance against this charm onslaught. The kicker? The hiring manager was a musician with a fancy home studio. I’m pretty sure he hired me partly because he wanted to record me on a few tracks.

Getting that job was a big deal for me. I had made it. At 22 years old, I already had a nice salary. In fact, I remember noticing that it was more than my dad was making after 25 years as a teacher, which still seems kind of weird. I had chutzpah. I had a story. I was pretty sure I could turn my lack of schooling into a positive. I knew this was just the beginning of a new career, although again, I never quit my old career – somehow, I managed to continue playing in the Dallas Opera Orchestra for another couple of seasons.

My friend Denis and me underneath the Dallas Opera. If the date is correct, I played at least until 1997!

That team of about 15 people at American was very strong. When I joined, the released version of our software for connecting to the SABRE back-end consisted of a handful of DOS TSRs. They were written in highly optimized assembler to occupy about 100k of the 640k available in those days. There were a couple of guys on the team (the alphas) who debugged issues on $50,000 “ice machines.” I had no idea what they were doing, but it looked fascinating to me. I offered to bring them coffee. There was another guy who wrote a scripting language for our customers. Another showed me a prototype of graphical seat map selection he developed that was a decade ahead of its time (he’s still a good friend and one of the most creative people I’ve ever known).

My first task was to improve our installation program. Our software was installed in the field on 20,000 copies of NetWare 2.x (soon to be 3.x) with diskless IBM Model 30’s for workstations. We had a custom installer, written in C (by the guy who wrote the scripting language). When I heard the improvements they wanted to make, I couldn’t help noticing that there were off-the-shelf programs that already did all those things and more. Why were we writing software that already existed?

I became convinced that we should buy an off-the-shelf installer, but nobody on my team agreed with me. In the end, my boss said it was my call, so I purchased the package anyway (it was called Installit, I think). Then I learned its custom scripting language, implemented an installation process that matched the old one as closely as possible (with some new bells and whistles), and tested the heck out of it.

When I was done, the installation program looked better, was more reliable, used half as many floppy disks, and took 20 minutes for our field crews to install, down from 60. I saved the company a significant and measurable amount of money within a couple of months, and I did it in a novel way (by not coding instead of coding). I had earned credibility.

After that, I was seen as a smart problem-solver (though not the best coder on the team, obviously). I also loved learning new things, so when we received the corporate directive to start learning about object oriented development, I was the one who got to read books on the subject, try out new software, and attend various training. It was fantastic.

Over the next couple of years, we released a Windows version of our software that included a rudimentary API. I got to write samples for it using C, C++, and a fancy new tool called Visual Basic (and Paradox and anything else I could get them to buy).

American Airlines was like school for me. I learned how real software development often involved compromises. I learned to use version control and to maintain a consistent development environment. I learned about team dynamics. I learned about corporate email and SQL databases and back-end systems with black-box constraints.

One of my teammates, Michael D, started the same day I did, though he was fresh out of college. After a couple of months, he bought a house and convinced me that I should, too, so Paula and I bought one in the same development. Michael and I often carpooled.

I learned a lot from those rides together with Michael. At one point, I noticed that he and I were making the same money and paying the same mortgage payments on our houses, yet he had a lot nicer stuff. The reason? He stayed home while going to school, so he was able to accumulate most of the non-house things he wanted before graduating. That’s why he drove a brand new 300Z and I drove a 12-year-old Cutlass.

Mine wasn’t this nice

Two years in, Michael left to take a contract with TGI Fridays and asked me to join him. It was Visual Basic, and we were confident this was going to be the Next Big Thing. The contract didn’t have any benefits, of course, but when you compared the hourly rate to my salary, it was twice as much money. I had to go.

Consulting and Teaching (1994-1996)

That contract only lasted a few months for me (fun fact: TGIF had beer in their vending machine!), but there was so much demand for developers at that time and place that it was easy to get the next one. I was hooked. I would continue as a consultant for the next twelve years, and I loved it.

Back then, I called myself a consultant, but now I would call that work contracting. Regardless, I was learning constantly and getting good at selling myself. I used to joke that the essence of consulting was “to get paid to learn what you’re going to sell to your next customer.” Now I know better – it’s much better to specialize in one thing and sell your specialty expertise, but I didn’t know that at the time. I just loved going to a new customer every 6-12 months and doing something new.

I did plenty of programming in C++ and Visual Basic – and eventually Java and C#. I used every relational database imaginable, and I loved learning the latest “glue” technology like COM, CORBA, and Java Beans. I never programmed a mainframe, but I did dabble a tiny bit in RPG programming for AS/400, and I was a whiz with screenscraping techniques (since I was frequently green screen adjacent). I excelled at finding the connection points between systems, large or small.

By the mid-nineties, my favorite work was Object Oriented Analysis and Design (OOA&D). While at American Airlines, I had taken several OOA&D classes with Desmond D’Souza, a renowned expert in the blossoming field. I stayed in contact with him and worked for him off and on, sometimes teaching classes, sometimes doing OOA&D for large customers and mentoring their employees. I loved his approach, and the work tended to pay very well, though it was sporadic.

One of my few career regrets is that I didn’t commit more to working with Desmond. I just didn’t have a model in my head for how that should work, and I was stubbornly intent on being independent. Probably the easiest thing would have been simply to say “I want to work with you” and then see where things developed from there. Instead, I sabotaged that relationship a couple of times by taking other work that I “couldn’t turn down,” right as Desmond was investing more in our relationship.

I remember one amazing week in particular, probably in 1996. Desmond assembled a roundtable of OOA&D experts to exercise the concepts in his upcoming book. We were his brain trust, the people who were great at teaching and implementing his approach. I was the only person at the table without a doctorate. We made up examples to practice, and we explored new ideas. It was so invigorating. I saw genuine beauty in Desmond’s methods. In retrospect, I should have turned down that other work.

Back then, online training like PluralSight barely existed – if you wanted to learn something for work, you took a class for a few days. I went through stretches of teaching a lot of these seminars (for Desmond and others). It was really good pay, but I would get burned out from the travel and give it up for a while. I taught programming classes in C, C++, Visual Basic, and various Windows-specific things like Microsoft Foundation Classes (MFC). I taught a dozen or so OOA&D classes for Desmond. I eventually wrote my own OOA&D class for a customer I met in a chat room. I didn’t know how to sell it beyond dumb luck. Someone said they were looking for a class, and I said “I’ll do it.” It went great, but I never sold it again. I tried to partner with another training company to sell it, but that fizzled.

I was very proud of being a consultant (or contractor or whatever you want to call it) – I had real swagger – but there were periodic downtimes where I didn’t have much high-paying work. I tried to turn my work into a real business (branding it “The Foley Group,” renting office space from a customer, etc.), but I wasn’t very good at the business part. I eventually convinced Paula to quit her job to handle the administrative side of things for me, so at least our bills got paid and taxes were done correctly. Unfortunately, neither of us had any facility with feast and famine thinking, so even though I often made a lot of money, we never got ahead. I wish we could have had ynab back then.

Running from Problems (1996-1999)

Looking back at myself in the mid 90’s, I was a bit selfish. I got paid to do things I generally liked doing, and I always knew that I could replace any contract with another, so I took the cream off the top – I always just did the easiest thing. I didn’t do the work required to develop a sustainable business. I didn’t build up a financial cushion. I didn’t focus. I was immature, cocky, and selfish – qualities that are rarely endearing to ones spouse – so it shouldn’t have come as a surprise that my marriage came under stress.

If you think about it, Paula experienced a slow bait-and-switch. She had fallen in love with a musician but eventually found herself married to a programmer. I never decided not to be a musician – I just made a long series of A/B decisions that favored technology, business, and money over music.

In some ways, I treated contracting like musical gigs – I just took the next best thing coming around the corner. There was always something, so why plan? This was the only approach I knew, and besides, I liked the adventure. For Paula, however, the constant uncertainty of my short-term contracts was quite stressful.

I mistakenly assumed our problem was “not enough money,” so my response was to create even more chaos by wandering around the country for higher-paying contracts. We put our house on the market and moved into an apartment so that we wouldn’t feel so tied down. Shortly after, in one six month stretch, I took contracts in San Antonio, San Diego, then San Francisco (our “tour of Sans”).

We had corporate apartments in San Antonio and San Diego (expensed to customers), but to take the San Francisco contract, we had to move there. San Francisco was my favorite city at the time (after all, I had visited for 24 hours with a string ensemble when I was at USC), so I convinced Paula that we should do it. “Let’s just move there … right now!”

We drove from our corporate apartment in San Diego to a temporary furnished apartment in San Francisco that we had only seen on the Internet. Paula was an incredible sport about this adventure, but as we crossed over the Oakland Bay Bridge at night into crazy traffic (without a GPS, which weren’t common at the time), all I could think to myself was, “Oh my God, what have I done?”

Beautiful and terrifying

We flew back to Texas to retrieve our cats. When we were sure we were staying in California, Paula’s dad actually drove to our Dallas apartment, packed all of our stuff into a U-Haul, and drove it all the way to San Francisco. I still can’t believe that he did that for us (and that we let him).

We arrived in San Francisco during the height of the dot-com boom. I was making a ton of money, but everything was so expensive that we still felt constantly under pressure. After a month or so in our temporary apartment, we found a modest 1,100 sq ft unfurnished apartment for $2,400/month. In reality, we were getting ahead, but I didn’t see it at the time.

Thanks to the Way Back Machine, you can see my website from this time (1997). It helped facilitate the wandering. As awful as that website was, it still caused someone in California to find me, call to see if I could help with an OOA&D project, and ultimately pay me for a couple of years of work for Banc of America Securities. When I arrived, it was still called NationsBank Montgomery Securities … and NationsBank used to be NCNB. I laughed at this connection to my first temp job, because I had gone from $10/hour at NCNB to $125/hour at NationsBank Montgomery Securities in six years. “Another day, another grand” I remember thinking. I thought money was the answer to all our problems. It did help with some, but my chaotic way of pursuing it made other problems worse.

Like many contractors at the time, I wound up focusing on Y2K. We had to validate every system at the bank. Most were RPG apps running on a big, centralized AS/400, but there were 100 or so random applications running on PCs – these all had to be validated as well. Someone decided (reasonably) that the key aspect of validating was being able to reinstall each app on a fresh system. That way if any given PC went kaput, we’d at least be able to recreate the apps on it and fiddle with the dates if necessary. I did that analysis and application packaging work.

During this time, I tried harder to build a real business, motivated by finally identifying an actual business problem. I noticed that it was non-trivial – and therefore valuable – to develop direct billing relationships with large companies, as I had been able to do. The contract coworkers who became my friends at the bank typically had to bill through companies that took 25-50% of their billing rate, even when the worker found the gig. That just didn’t seem right to me, so I let programmers bill through me for a flat fee of $7/hour, keeping more of their hard-earned rate.

This seemed scalable to me. I adopted the appropriately boring name “Aptica” and attempted to sell to contract developers as their “service provider of record,” assuming they would be finding their own contracts (in other words, I was selling to high-end developers, not to the companies they contract for). I think it was a good idea for the time, but I didn’t know enough about marketing to make it take off. Even so, we provided this service for three people, and that extra money was nothing to sneeze at. The best part was that Paula did all the real work associated with it, so we were functioning pretty well as a team, at least in that area.

To Michigan … and New York (1999-2003)

By the late nineties, we knew we wanted a kid, so we moved to Michigan to nest near my folks and escape the money pressure of San Francisco. Our apartment in Grand Rapids was about $800/month (and was bigger than our $2400/month apartment in San Francisco).

The Internet had just gone mainstream, and I thought I could take advantage of that by building a website-development business. I tend to think I can do anything, so I didn’t understand why it was so hard. It turns out that people don’t throw money at you just because you know how to do something that they want.

We didn’t make much money building websites, but it was fun. Paula and I were truly a team on this, and we both learned quite a bit about business. We were in a referral group, which I found particularly interesting. We’re still customers of several of the people we met in that group. Ultimately, we were trying to sell to smaller businesses instead of large enterprises, and we just didn’t talk to enough small businesses to make a good living. After a year or so, we scrapped that business, and I went back to taking the highest-paid contract I could find. We were living near my childhood home, but we were far from settled.

In July 2001, I started another contract for Desmond in New York City. We were defining a methodology for JP Morgan Chase and helping them on a variety of projects. I still loved this type of work, even though the outcomes for this customer were pretty squishy. One project involved analyzing the workflow for the swaps desk to understand why they always had to work so late. We absolutely nailed the analysis – we figured out precisely what the problem was – but nothing came of it. It seemed to me that someone should start building a solution, but we never did. I suspect we didn’t have the right decision makers engaged for that specific project.

One morning, I turned the corner to see the World Trade Center on fire. As I’ve written before, 9/11 indeed terrified me. I lost my mojo that day, although I didn’t understand that for years.

When I returned to New York three weeks later, I switched to a new project in the credit cards area. This one involved more teaching, which I enjoyed. Instead of just doing the analysis and wondering why we didn’t build a solution, I was trying to get others to do the analysis in a way that was new for them.

The most memorable part of that work for me was spending most of my time in New York City. Before 9/11, I was commuting. I’d get up at 5a on Monday morning in Grand Rapids and be at my desk in Manhattan by 10a. After 9/11, those flights were gone. The only way I could keep working in New York was to stay there, so Desmond convinced the bank to get me a corporate apartment, and I convinced Paula to stay with me for about 3 weeks at a time between flights home.

We fell in love with the city during that time, even with all its post-9/11 weirdness (or maybe because of it). Still, we wanted to be home. We missed our cats. We had purchased a house in August and hadn’t even moved in. People on our street later joked that they thought we were in the CIA or something. And I really wanted a kid. I was beginning to worry that if we didn’t settle down more, we’d never have one.

So I quit the contract, and we proceeded to move into our house. Unfortunately, I didn’t recognize that the Michigan economy was in the toilet, and it was going to be very difficult to find a decent paying contract near home. We had finally built up a small financial cushion, but we spent the whole thing (and more) fixing up our new home. Yikes.

Before long, Paula was pregnant with Gus. Wanting to be near, I worked on a couple of dubious projects. One was a fixed-bid programming project I did for my friends Ken and Leslie that I knew wasn’t going to make much money. I loved working with my friends, though, so I did it anyway.

Leslie was really into yoga and wanted to build yoga software. We took a ton of pictures of yoga poses and then organized them into useful routines. We even made a collection of yoga poses for pregnant women that Paula modeled for. Ken and I wrote the software that Leslie envisioned.

Pregnant Paula doing yoga

If we had made it for the iPhone, we might have had a big enough distribution mechanism to reach enough customers, but the iPhone was still five years away. Like most software companies, yGuide never took off.

Simultaneously, I was working with my uncle Dan to build a new consulting company. I figured that this would surely succeed, since he had already built and sold a successful software company – but past results don’t guarantee future returns. We had a decent concept for the company, but we didn’t find work fast enough to keep me involved.For a few months, I literally made no money, but we kept spending like middle class people who were about to have a kid. For years, we kept repeating the classic freelancer’s mistake, spending based on my highest income instead of my lowest.

By the time Gus was born, we were deep in debt – I don’t remember the exact amount, but I know our credit card balances were over $100,000.

Birth (2003-2006)

I’ll never forget the day Gus was born. Nothing else had ever mattered like him. It was time to stop dabbling and start taking care of this kid and his mom. Among all the joy Gus brought, he helped me finally understand the importance of money.

Gus, day 1

There still wasn’t a lot of work to be had. I needed some income ASAP, so I took a contract at WKKF in Battle Creek (through Herzum Software). Other than being a 75-minute drive each way, it was a huge relief. I started digging out.

This was the beginning of a change in my outlook toward money and my career. I started to recognize that I had always been a bit flaky, both to my family and my customers. I had a kid now, and I committed to myself that I would never again prioritize my own comfort above my family’s short- or long-term well being. My instincts told me that the way to accomplish this was to devote myself more to my customers and be a better consultant.

In the past, I would always leave a contract once I could smell the project winding down. For the first time ever, I told myself I would stay with this contract until the bitter end, until they no longer needed me. I would only move on when the work was done. It helped that I was very fond of the organization and the people I was working with. I knew my commitment would make the transition to my next contract harder (because there might be a gap in my income), but it also made me proud. I started carrying myself differently, as I focused more on my customer and what I could do for them, not just what I got out of it.

The specific role was nice, too – I was the lead architect for a fairly large project to rewrite their grants management system using .NET, SQL Server, and a specific component methodology from Herzum Software’s founder. There were a handful of onsite programmers as well as some offshore ones. I made sure everyone wrote software that conformed to project standards and that we were actually making progress toward completion. The project lasted 18 months, and the release was a big hit. The system was only just recently replaced, so it lasted about 15 years. Not bad.

After a couple of years of bad decisions post-9/11, it was nice to remember that I was good at this stuff. In fact, I so impressed myself that I wanted to give others the opportunity to bask in the sunshine of my knowledge. I decided to write a book.

I had always been enamored of Debugging the Development Process – I even convinced Paula to read it – so I wrote an outline and a couple of chapters for “Designing the Development Process.” The idea was to take my experiences from all my different contracts and synthesize them into my approach to writing software (mostly in a corporate environment).

I submitted a book proposal to Apress, and they accepted it. They even offered me a small advance. And then I looked at my finances again. Since I had never written a book, I knew it would take me approximately “a lot longer than I think.” There’s no way I would make money on the book itself compared to an hourly contract. It would be great for my reputation, but it would take at least a couple of years to get any sort of return on that, and we would likely sink further into debt during that time. My ego told me to write it, but I had a 2-year-old to take care of. In the end, I decided that I simply couldn’t afford to write that book.

Instead, I sought my next contract. Looking at the Way Back Machine again, my website wasn’t too bad at this time. You can see that I was starting to focus more on customer problems.

Through a friend, I was introduced to Atomic Object in Grand Rapids and started doing some contract work for them (odd fact: AO was started on 9/11/2001). Working for AO was a revelation. My whole career, I had a chip on my shoulder about the way a consulting company should work. This was it! My friends at AO had built the company I wanted to build. This was a double-edged sword, of course. On the one hand, I was pretty jealous that somebody else did something I wanted to do. On the other hand, I loved working with them.

One of AO’s distinguishing qualities is that they do pair programming. I got to pair with a variety of employees, including the CEO (still one of my best friends), as well as a handful of other junior and senior programmers. I loved the camaraderie and the stimulating interactions. I loved the spirit of learning. I loved playing on their softball team! I even had a nickname: Wall Street (because I wore a sharp suit to my interview and talked incessantly about my experience consulting for a Wall St bank). I’m not sure it was originally intended to be complimentary, but I quite liked that nickname, so it stuck.

After a couple of months, I realized that I had never been more content at work. In fact, this was probably a proto-feeling of enough. There was just one problem … remember the difficulties I had with my marriage a few years earlier? Remember the $100k of debt (probably down to $90k at this point)? Remember that new kid? Remember that I had been commuting 75 minutes each way to work for a year and a half (which of course left the heavy lifting of caring for a toddler with Paula)? Well, all those things converged to create new stress in my marriage. While things were going great at work, they were falling apart at home – and this time, money was clearly a big part of it.

I wanted to take a full-time job with AO, but I simply couldn’t afford to – we couldn’t live the way we were used to AND pay off our debt on the salary they could pay me at the time. If we didn’t have so much debt, it would have been fine, but we still owed a big chunk. We would have had to declare bankruptcy, and that didn’t seem morally right to me while I was still capable of paying back that money. (Quick sidebar: based on AO’s employee ownership structure, I likely would have made plenty of money working for them for the next decade and a half – but it would have built up slowly over time, and I was unwilling to take that bet, same as with the book. I needed a lot of money up front to pay off my debt.)

So even though I loved working with AO, I said yes to another expensive contract with Desmond in New York with yet another large bank, Citigroup. (A friend later described the concept of building your business next to a “river of money” … banks are almost literally rivers of money.) I tried maintaining my relationship with AO at the same time, but it was hard when I was traveling back and forth.

And then the bottom dropped out. Things got so bad at home that we were talking about divorce. I was devastated.

Many people never knew, because we were surely the most civilized fighting couple you’d ever meet. We still loved each other, and we’re both caring people, so we were still generally nice to each other, even as our relationship was dissolving. Depending on the day you saw us, you might think we were perfectly happy, but we were working through some serious underlying problems in ourselves and our marriage.

At one of my darkest moments, when I thought it was over, I went to the bookstore to get Divorce for Dummies (seriously) and stumbled upon The Way of the Superior Man. I’ve written about this experience before … when I opened the book and read the first paragraph, I burst into tears:

Most men make the error of thinking that one day it will be done. They think, “If I could work enough, then one day I could rest.” Or, “One day my woman will understand something, and then she will stop complaining.” Or, “I’m only doing this now so that one day I can do what I really want with my life.” The masculine error is to think that eventually things will be different in some fundamental way. They won’t. It never ends. As long as life continues, the creative challenge is to tussle, play, and make love with the present moment while giving your unique gift.

This book reminded me that I can’t change another person; I can only change myself. It reminded me that I love Paula exactly as she is and don’t need her to change. It led me finally to confront my underlying selfishness and immaturities. Thus I hatched my grand plan to become a way better husband and save our marriage. Paula had one foot out the door and assumed I still did too, but I was determined to change things.

Sidebar: It was at about this time that Gus started gymnastics, which gave us all something positive to focus on. I probably wouldn’t have been able to hang on to our marriage without Gus. I was sleeping at a friend’s house, and she reminded me how shitty divorce is for kids. I adopted an attitude that “I can always do something different tomorrow, but today is another day that my son has parents who are married.” Gus’s gymnastics represented that last-ditch effort to me, because he simply wouldn’t have been able to do it if we were divorced. Over time, we found out that he was actually really good at it as our marriage slowly began to get back on track. Then we found out that we liked the other families and that we enjoyed traveling to meets together as a family. There was something so right about all of it. It was much harder for me to let gymnastics go than it was for Gus.

Gus on mushroom (great picture from our friend Plauto)

Anyway, back to the bad times. It was 2006. I was working a contract in New York again and trying to figure out what kind of consultant I wanted to be. I loved Desmond’s analytical approach, but I also liked implementing things (and I hated being away from home). I loved working for AO, but I wanted my own company (or at least the money that came with it). I was newly intrigued by the idea of selling projects, doing the analysis/architecture myself, and implementing them with offshore consultants. I was determined to do something great, but I was beginning to realize that marital heartache was putting me in a very bad frame of mind to sell my services to new customers.

And then Microsoft called.

Microsoft (2006-2012)

Microsoft was a life raft for me. With my marriage going down the toilet, my emotional state was not at all conducive to consulting. I had lost my confidence. For some reason, I thought working at Microsoft would be easier, and in the most critical area it was – I didn’t have to worry about a paycheck coming in. I made decent money, and just as important, I knew exactly how much I was going to make each month. That was a huge positive for us at the time.

Metaphor

There was just one problem: I didn’t know what I was supposed to be doing in my job. I was an evangelist (an ISV Architect Evangelist to be precise). I thought it was a cool sounding title, and I figured I was uniquely qualified: an evangelist has to be technical AND talk a lot. I could certainly see why they hired me.

I assumed the job was going to entail helping people, but it was really just sales – and I had never done sales like that before (few people have). The idea was to get specific software companies to adopt specific Microsoft technologies. That way, when those companies sell their products, they’re also selling Microsoft’s products.

That makes sense at a high level, but my “commitments” were specified at a very granular level. One year, I had to get something like six Independent Software Vendors (ISVs) from a list of “Managed ISVs” to use one of the specified “light up” features of Windows 7 or Windows Server 2005 R2, like Windows Workflow Foundation or Windows Communication Foundation or some other blah, blah, blah. Each year, I had 10 or so commitments like that.

To the extent that these new technologies helped customers, it was great. I loved being able to share new ideas. But I just wanted to help customers, and that didn’t actually count toward my commitments. I had no commitment for “happy and successful customers.” If my customers didn’t use the new stuff, I was hosed, and I didn’t always think that using the new stuff made the most sense for them.

Needless to say, I struggled. My strength at problem solving seemed less valuable than ever. Even my ability to learn things quickly was reduced – I thought my speed learning would be a huge benefit as an evangelist, but it always seemed kind of fake. Of course I know how to use xyz technology on a surface level; after all, I have to sell it to you. In the past I was able to say, “Hey, I used this on my last project, and it was helpful” or “Here’s a new thing that fits our needs perfectly.” The fact that I wasn’t the world expert on that new technology never mattered, because I was clearly the expert on finding the new technology. I was always one step ahead of everyone else. But being a half expert on some Microsoft technology that I was selling just made me somebody from Microsoft who wanted to sell you something.

Instead of building my confidence, that job ate away at it. In some ways, it would have been better if I literally couldn’t do the job, if I were terrible. But no, I found myself in an unfamiliar and even worse place: I was mediocre at it. Ugh.

There were a couple of times that I rebelled and accidentally made the right decision. I remember we were trying to get people to sign up for BizSpark, a new program for startups. It was structured as a contest – whoever got the most signups would get a fancy new music player. I insisted that we should go where these people already were, instead of expecting them to come to us. I liked an online community called Business of Software that Joel Spolsky from Fog Creek had created, and I shared my signup code with people on that site. All of my peers at Microsoft just went to Microsoft-created communities, expecting startups to come to us. I crushed my peers in that contest, getting an order of magnitude more signups than anybody else. I was so proud to have won that Zune.

Podcast

Having success with that contest, I wanted to do more with the Business of Software community. The moderators of the forum were Joel Spolsky and Bob Walsh. I didn’t think I could get Joel to do anything with me, but I had connected a little with Bob, and he seemed quite approachable. He had done a few episodes of a MicroISV podcast with another Microsoft evangelist, and I thought it was worth reviving with me. My instinct was that the combination of a Microsoft person and a decidedly non-Microsoft person would be a nice combination and would give us a certain kind of credibility with our intended audience (namely, the people in the Business of Software community).

We called it the Startup Success Podcast. I thought it would be mostly the two of us pontificating, but after the first 2 episodes, I had nothing left to say! We quickly switched into interview mode. Bob was very good at asking people to come on the show, so right away, we had guests like Peldi (before Balsamiq was a clear success) and Joel Spolsky and other startup gurus. I landed Scott Hanselman from Microsoft, who gave us really good podcasting advice – each show, ask people to listen to your previous episodes, since they might be coming to your show through the newest one.

Bob Walsh and me

The podcast was a lot of work, but it was fun, too (I did all the editing myself and generally enjoy that sort of thing, but it gets old fast). We promoted it on the Business of Software forum and got good feedback. Nobody at Microsoft cared about what I was doing, but I figured they would the next time I had to promote something like BizSpark again.

In the Business of Software forum, I noticed people talking about the 3rd year of a conference, also called Business of Software. Joel Spolsky was the headliner, but the person running it was Neil Davidson from Red Gate Software. I reached out to him to see if I could speak about something, and he suggested I do a “lightning talk.”

I didn’t know it at the time, but getting to do a lightning talk at BoS was a big deal. Neil didn’t audition me or anything – he was taking a flyer on me, because he too thought it would be useful to get a little of the Microsoft perspective at his event. Microsoft was in a weird spot with this community. Even though it was a huge company, it was largely irrelevant with startups. It just wasn’t the go-to technology that the cool kids used when they wanted to build something new. Microsoft tried to bribe them from time to time, but most exciting startups chose something else to build their software. (Since that time, Microsoft has embraced open source technologies to a shocking degree, which has made them more relevant with this market – if you can’t beat ’em, join ’em.)

Neil didn’t want me speaking about Microsoft technology directly, and I agreed – nobody would care about that. Instead I prepared a more personal lightning talk called Give More Than You Take.

That conference was very special to me – it changed my life in fact. I met Jody Burgess there, who later helped me try to get my startup off the ground (more on that shortly). I met Harry and Ted, the founders of Moraware there, so the conference led directly to my current job. I met many of the people who would be on my podcast. I attended eight years in a row.

I’ve written about this before, but one of the most amazing moments for me at that first Business of Software was learning that many people there actually listened to my podcast. Even Peldi! The podcast made it so people knew who I was – and the lightning talk solidified that. Still, nobody at Microsoft seemed to care that I was developing a reputation among a valuable community where we had very little presence.

As much as Business of Software wowed me, it didn’t exactly build my confidence. I was once great at corporate software development, and I had helped build software for a few software companies, so I thought I actually knew something about building software companies. That conference made me realize I didn’t know squat. I loved learning about this incredible topic, but it stung to learn how far away I was from my own startup success.

I did another lightning talk the next year called Confessions of a Wannapreneur. I kinda thought I’d get to do one every year, but it doesn’t work that way.

Me giving a Lightning Talk
My friend Betsy took this picture of me giving my lightning talk in 2011
Making an evil hiss playing Devil Went Down to Georgia
Betsy also took this picture of me playing with the house band at BoS – but that’s a different story

This year (2018) was the first time in nine years that I didn’t attend Business of Software (Harry and Ted represented Moraware, and I attended Industry, a conference specifically for product managers). As I’ll remind you every year, you should go to BoS.

More Startups

There were things I liked about Microsoft. I was proud of the company itself and liked its approach to business software and partnerships. I genuinely liked my customers and the people I worked with. In 6 years at Microsoft, I had 4 managers. They were all encouraging, and we all liked each other, but I never really fit. I just never got it.

One of my managers, Nathan, summarized the issue perfectly. He told me I was great at thinking but so-so at executing. If he and I tackled the same thought problem, I’d finish in half the time – but if we tackled the same well-defined task (execution), he’d finish in half the time. The disconnect was that my position at Microsoft required much more executing than thinking (most “field” positions at Microsoft require more executing than thinking – Microsoft has plenty of thinking jobs, but if you want one, you typically have to work in Seattle). That made a lot of sense to me. I focused on execution as well as I could, but that was going against my strengths, and it’s hard to excel when you’re going against your strengths.

My podcast continued to be the best thing I did at Microsoft. Bob and I interviewed an amazing variety of smart people, including Seth Godin, Daniel Pink, Steve Blank, Jason Cohen, Brad Feld, Ash Maurya, Jason Fried, Peldi again, and many others. Nobody at Microsoft ever cared.

I had one more random success connecting Microsoft with startups. Bob and I interviewed Rob Walling and Mike Taber as they were about to launch MicroConf, a new conference for self-funded startups and solopreneurs. Not too long ago, Mike retold the story of the genesis of that conference, including Microsoft stepping up with sponsorship at a critical time. That was me! I happened to ask the new Azure team at just the right time if they could spare some funds, and they said sure. They even sent me some super cool t-shirts to give away. I felt like a hero – it was awesome. Great conference, too – I’ve been to MicroConf 4 times. I still wear that shirt.

Going to Business of Software and MicroConf and interviewing all these amazing startup founders, I learned about an important distinction in the startup world: funded vs bootstrapped. Founders of funded companies tend to think of a big idea and convince investors to give them money to implement it. Bootstrappers tend to think of a smaller but still valuable idea and convince customers to give them money to implement it. Both approaches have their charms, but I’m biased toward bootstrappers. I prefer businesses that make money as quickly as possible and focus on satisfying customers.

By the time I went to that first MicroConf, I wanted to build a business of my own. I was pretty jealous of all the people I interviewed and met at those conferences – not for their money, but for doing something so interesting. Building a successful business from scratch is really hard, and anyone who succeeds at it has accomplished something great. How could I not want to do that?

After a while, I began to feel like a poser in my podcast, precisely because I hadn’t built a business myself. I loved the community that my interviewees belonged to, but I wasn’t a part of it. I was a spectator, a journalist, a fan. That was a new experience for me, and it felt pretty shitty, frankly.

Part of the reason nobody at Microsoft cared about my work with startups is that I wasn’t a startup evangelist (which is a thing, of course). As an “ISV Architect Evangelist,” I had a specific group of already successful software companies that I was focused on, and nothing else counted toward my commitments.

I knew what I had to do. I had to become a startup evangelist, even if it meant we’d have to move. Paula was onboard, too. We had been working on our relationship and slowly growing closer and closer back together. She trusted my approach to this decision.

When the right job opened up – in Silicon Valley – I applied right away. I was perfect for that role – my podcast gave me a leg up on anyone else who could have applied. I even had Brad Feld write a note to the hiring VP, since I knew they were friends (thanks again, Brad!).

And then … crickets. I never heard back about that position. No call, no note, nothing. By contrast, I recently hired a couple of people for Moraware, and I wrote back every single person who applied correctly – more than 300 people. It’s just not that difficult to say, “Thanks for your interest and your enthusiasm, but we’re going in another direction.” That really pissed me off. Deep down, that’s when I knew I was done with Microsoft.

Tribbon (2012)

It was at the second MicroConf that I was inspired to build Tribbon. The idea was to have something like video game achievements for events that you attend in real life. I noticed that I had little badges next to my name on Stack Overflow, and I thought it would be neat to have arbitrary badges like that to represent experiences from real life. It sounds stupid when I describe it now, but I was really passionate about it.

I thought that Tribbon could provide a way to connect people together at conferences, and I thought that would make it inherently valuable to conference organizers. From MicroConf, I called my friend Mark Littlewood in England (who by then was leading Business of Software) and asked him if he would throw money at me as a customer. He didn’t say yes, but I wanted to hear yes so bad that I pretended he did. Same with Rob and Mike.

Building a business is largely an affliction. Techniques like Lean Startup exist to cure you. The point of these techniques is ultimately to open your eyes to the reality that nobody wants your stupid shit and get you to move on as quickly as possible. Everybody has stupid ideas – there’s no shame in that. Successful entrepreneurs are just faster at invalidating them and moving on until they find the thing that customers actually want. I knew Tribbon wasn’t perfect, but I saw it as a starting point to begin the Lean Startup process. I had caught the startup bug.

I decided I needed a cofounder. I knew that if I were going to have the confidence to leave Microsoft, I would need help (The Founder’s Dilemmas illustrates this in depth). I kept my eyes open, and pretty soon after MicroConf, I bumped into Jody Burgess, whom I had met at Business of Software a couple of years earlier (see why these conferences are so important?).

The Tribbon mascot that Jody gave me. It’s still on my desk.

I convinced Jody to join the cause. She brought qualities and experience that I lacked, but she could also deal with the way that I think as well than anyone I’ve ever worked with. I didn’t have to translate my thoughts for her – I could just share them half formed, and she would get them – that was a huge joy for me.

We dove in and tried to find the business in our idea. Jody had recently left TechSmith, but I was still working full-time at Microsoft. I spent every extra hour I had on Tribbon. I talked with several business owner friends about it. They were all encouraging about the activity of building a startup, but none was thrilled about the specific idea. Somehow I didn’t see this.

Still, we pitched for StartGarden‘s simplified $5,000 investment and won! That gave us a couple of months to build a justification for their next level – a $20,000 investment. We also earned an invitation to Boston to pitch to be part of TechStars. I was disappointed that we didn’t get into TechStars, but I loved the experience. I loved telling people about our idea. I even made a Microsoft prospect of mine (Yesware) listen to our pitch during that trip. Oy. Their CEO was super nice about it, though – encouraging, even.

I thought (probably incorrectly) that we wouldn’t be able to get the next level of investment without some working software, so I built the minimal version of my vision. This is sometimes called a Minimum Viable Product, but an MVP implies principles I didn’t quite follow (though it was my intent to do so). To be honest, I just really missed coding, and it felt great to see something I built come to life. It was simple, but it worked. Many of my startup friends were surprised that I could actually build something – I’m not sure why that was, but it told me that they see me differently than I see myself.

By this point, Paula and I were doing a lot better. She loved seeing my excitement for work again, but I think she would have preferred that I reserve more of that passion for home.

While working hard on Tribbon, I was getting more and more disillusioned with Microsoft. For example, although I loved Windows Phone – I still think it was better than iOS and Android – I hated attempting to bribe app developers to port their apps to it. Also, after six years, our credit card debt was back to a manageable level (about $30k I think), so I no longer needed my life raft quite so much. And I still wasn’t great at my job. It was time to go.

Million Dollar Consulting (2013)

I couldn’t afford to pursue a startup without having income coming in, so the plan was to return to consulting “to fund Tribbon.” However, Tribbon flamed out a month or two after I quit Microsoft. Jody and I had spent a lot of energy trying to find a target customer. By the time we found the most likely one (event sponsors), we realized that they didn’t care about what we were trying to do. We were about a foot past the starting line of a marathon, and without investors throwing money at us, we didn’t see ourselves having the staying power to keep going – I was back to consulting as a career.

This time I wanted to be a real consultant, not just a contract worker, so I tried to do things the Million Dollar Consulting way. I think it was Noah Kagan who turned me on to Million Dollar Consulting, a book by Alan Weiss. The premise is that you don’t charge people by the hour or the day or any other time-based billing method. Instead, you charge them based on what your consulting is worth to them, the value of your work. Once you get good at “value billing,” you can make a ton of money doing it. You’re also more likely to have multiple customers with this approach, so you don’t get locked into a serial-contract, pseudo-employment model. It’s a real business approach to consulting.

Step one for me was getting that first client. Where was my greatest value? I figured that working for Microsoft was generally positive for my reputation, and I figured that I needed to work directly for people who were pretty high up in organizations – likely CIOs. My most impressive contract prior to Microsoft was WKKF, where my best contact was the CIO. I also typically connected with the CIOs of my customers at Microsoft, so I set out to find more people like that. Although I missed coding, I didn’t think it was the most valuable thing I could be doing – I figured that high-level consulting for CIOs was more valuable.

So I called the CIO of WKKF, and he kindly connected me with his peer, John, the CIO at another large foundation in Chicago (name withheld here, because they don’t like their name used publicly in articles like this).

The sale itself was pretty easy – John had a lot of work that needed to be done and said he could use all the smart help he could get. I remember him asking me a simple question: “Are you more brains or hands?” I took this as another way of asking about thinking vs execution, and I didn’t want to undersell my execution (which had in fact improved in six years at Microsoft). While I’ll always prefer thinking tasks, I’ve also always been pretty good at driving “thinking projects” toward a resolution, so I answered, “I’m a mix of both.” John said, “Good, because I need both.” I was in.

It felt great to be providing direct customer value again! I’m very good at evaluating alternative software solutions, and that’s probably what I helped them with the most. We settled on Nasuni to replace their file servers. We picked Okta for single sign-on. We did a variety of things with Office 365.

I quite enjoyed the work. The only real challenge for me was dealing with my business again. I was doing things a completely different way, and I didn’t know enough about it yet. Value billing done poorly is just fixed-bid consulting, and that’s really what I was doing. There was so much pressure. The difference between something taking 10 weeks or 12 weeks was the difference between financial success or failure. There was also the pressure of getting a customer pipeline. I had a plan to be a “secret weapon for CIOs,” but after several months, I still hadn’t found my second customer. That was starting to worry me.

Earlier in my career, I used to thrive on that kind of pressure, but at this point it was too much. I had kept my family together against enormous odds, and continuing that healing and growth was more important to me than any work (especially work that was better performed in another town). After a few months, I found myself not sleeping well. I wasn’t responding well to the stress.

Looking back, I think I should have sought a middle ground between hourly billing and value billing. Before reading Million Dollar Consulting, I remember Patrick McKenzie recommended weekly billing. That would have been on the road to value billing but wouldn’t have been as stressful. I wish I had gone in that direction, at least to start. The problem with value billing for me was that I didn’t have enough predictability in my practice yet. Since I was making it up as I went along, I didn’t realistically know how long any “intervention” would take. I think it would have been better to figure out a few different predictable interventions and THEN sell how valuable they were, based on my proven success.

Because the approach I chose was so stressful for me, I was also afraid that I didn’t bring enough value to the organization. Five years later, I had coffee with John in Chicago, and I was relieved to find that he was happy with my work. Heck, if I hadn’t made it so stressful on myself, I might still have him as a customer. Regardless, if I had continued over the hump of that stressful period, I think I would have developed a nice consulting practice.

Instead, after about a year as a consultant, I was presented with a surprising job offer.

Moraware (2014-

I had met Ted and Harry at my first Business of Software. In fact, one or both of them were at every BoS and MicroConf that I attended! It’s hard to forget the guys who make software for countertop fabricators. We had a connection, too. They were very generous when I was working on Tribbon, offering to mentor me and Jody.

But what a small niche! Surely it can’t be a successful enough business to want to hire more people … ah, but it was (and is – seriously, we’re hiring as I write this). By that time, Moraware had three other employees besides Ted and Harry, 2 developers and 1 person in support/sales. They needed more capacity, but they didn’t know exactly what kind of capacity.

They wanted to hire a generalist like themselves, someone who could talk with customers, write support articles, change the marketing website, help debug server problems, write some code, and treat the company as if they were an owner. When they sat down to think about the kind of person they should hire, they remembered me. “We should hire someone like Patrick … let’s start by asking Patrick.”

I was a little surprised to hear from them, and I was very surprised about the work they wanted me to do most – sales and support over the phone. It didn’t sound super valuable to me at the time, so I figured they wouldn’t be able to pay me enough to make it worthwhile. But the stress of consulting was really getting to me. If they were willing to pay, I was leaning toward doing it.

For some reason, I negotiated based on my typical yearly salary at Microsoft, not my best year or what I was capable of earning as a consultant. I didn’t think it was reasonable to ask for more, but it was still stupid (another belated lesson from Patrick McKenzie: Always anchor against the highest possible value you can provide. That said, it turned out to be enough.

For my in-person interview, they paid for me to go to Business of Software with them. I thought I was going to have to miss that year, so that was already awesome. We came to terms to start at the beginning of 2014, which gave me 3 months to wrap up my consulting commitments.

One of the most intriguing aspects of working at Moraware was the opportunity to talk with customers in a new way. I had never experienced the daily grind of keeping more than a thousand end users and customers satisfied. When you’re building software, you’re typically quite removed from customers (or even end users). And Microsoft was just an odd case – in my specific evangelism role, I technically worked with partners, not customers. My goal was to change their behavior, not get them to buy anything.

At Moraware, I would be answering calls from people who wanted to buy our software and from existing customers who were stuck on something. I remember thinking that while I understood customers and end users abstractly, I had no concrete experience serving them. This was going to be new for me.

Support and Sales

I was surprised at just how much there was to learn about our software (everyone who starts at Moraware is surprised by this). It takes 3 months to start being useful, 6 months to really know the basics, and about a year before you know most aspects of our software.

Support came fairly naturally to me, especially email support, but sales felt very new. Luckily, we have a great sales process, so I picked it up quite well, too.

I worked support and sales for four and a half years. During that time, Moraware doubled in size. The next hire after me was my sister, and it’s been an absolute joy to work with her on a daily basis.

My sister Kathleen and me at a recent company meeting in Lake Tahoe

I learned a lot doing support and sales. Most importantly, I changed some stories that I used to tell about myself.

First, I used to say things like “I’m not the hardest worker in the world,” because I identify more with being smart than with working hard. Working in support showed me that I work plenty hard when I need to. Remember that I considered myself “more brains than hands” – well, working support is almost all hands. It’s certainly handy to be smart, but at the end of the day, being effective at support means hunkering down and doing the work. I worked my butt off in support, because I had to. I got it done.

Next, I used to think I wasn’t very good at sales. Not true – Moraware made it easy, because we have a great sales process, and we’re the opposite of pushy. As Rob Walling used to say, we’re an aspirin company, not a vitamin company – our sales process is mostly just finding out if they have the kind of headache that our software alleviates. If they do, there’s not much selling to do – all you have to do is show them you understand their problem, show them the solution, and then say, “whadya think?” When we separated the sales role from support in my fourth year, I was surprised that I actually missed sales calls a little (but only a little).

Finally, I used to think I would never want to be a manager and that I wouldn’t be any good at it. Yet when Harry took a 4-month “trip of a lifetime” with his family, I stepped up to manage the support team.

Manager

My first task as manager was to refine and execute our hiring process to hire two great new support people. I worked long hours for about 6 months to accomplish this, and all the while, I kept things running smoothly (with a lot of help from my sister).

Moraware doesn’t skimp on resources, so I went to leadership training at ZingTrain (my sister had attended a decade earlier and urged me to go). This was excellent – it convinced me that I was going to be able to do the role, and it gave me a framework for thinking about management. If you find yourself in a leadership role, I highly recommend going to ZingTrain. Their customer service training is excellent as well. (If you just want a taste, get Ari’s books.)

Bottom line, my team told me I was a good manager! For some reason, I was surprised to hear this – probably because I had told myself for so long that I wasn’t a manager. It was extremely satisfying to change that story. Now I’ll always know I can do it, which just feels good and will probably come in handy again before my career is through.

There were a couple of factors that increased my degree of difficulty for this stint as a manager, though. For starters, I still had to do support while managing. I think it’s much easier – and generally works better – to do one or the other. In our specific case, we had a team of 4 support people, including me, and there’s just a lot of support work to do every day. Again, it takes about 3 months for a new support person to be useful, about 6 months to be independent, and about a year to know most things about our software. My sister and I had to cover all the harder problems while we trained our new teammates.

Which reminds me of another challenge – technically my sister reported to me. That’s advanced management. We did fine (she doesn’t need much managing), but in general, it’s easier to lead people effectively when they haven’t changed your diaper or taught you how to read.

I worked very, very hard to keep support running smoothly while Harry was gone. It’s some of the best work of my career, and I’m extremely proud of it. While I was doing that work, however, I couldn’t ignore a growing discontent.

Product Manager (2018)

In fact, I started noticing about a year ago that I was beginning to feel burned out doing support. While I like helping customers directly, my stamina had plateaued. It was hard for me to do it all day. Again, it felt like all hands and no brains. I’m highly motivated by learning, and while I was learning a lot about leadership, I wasn’t learning much about our product or support in general anymore.

I wanted a new challenge. Luckily, I didn’t need to look for a new job – I could just switch teams! However, I decided to wait until Harry got back from his trip before bringing it up, because I didn’t want to distract him while he was on vacation (and somewhere along the line, I learned to be patient).

A few years ago, a friend told me that I was the most abstract person he knew. I didn’t really know what he meant at the time (since it’s just the way that I am), but eventually, I learned. I enjoy thinking about the way things fit together – those “things” are abstractions.

In fact, I need to think about the way things fit together. Support is very concrete – customers don’t care about the way things fit; they just want their problem to be fixed. Development is very abstract – you take something that doesn’t exist, imagine it, and bring it into existence. It is literally composing the way things fit together. I appreciate that support taught me me to be more concrete, but I still want to spend most of my work time thinking about abstractions – it’s what I’m best at, and it’s what makes me valuable. I was underutilizing an important asset in support.

Broadly speaking, I decided that I wanted to switch teams from the customer team to the development team. I wasn’t 100% sure that the development team would want me, so this was actually quite a nerve-wracking topic to discuss. I brought it up with Ted when we went to MicroConf in Las Vegas earlier this year.

He took the conversation in a direction I wasn’t expecting. First, he asked me, “What do you think you’re best at?” By this point, I knew the answer clearly: “My best quality is that I can code AND I can talk to people – it’s really the combination. Probably my favorite thing to do is support our API, which requires both.” Ted then described our need for a Product Manager, which also requires both programming skills (or at least strong abstract thinking) and the ability to talk with people.

Right away, it seemed like the perfect fit. In addition to having the required skills, I already knew our products inside and out – if we were hiring a product manager from outside, it would take them a year to get that. Just as importantly, I knew our customers extremely well, because I’ve worked with them directly, and I’ve learned what they like and don’t like about us and our software.

Ultimately, the role of product manager at Moraware means taking all of the squishy ideas and requests that are floating around and unsquishing them, so that our developers can actually implement them. By default, Ted has played this role since the company was founded, but he doesn’t love it. He wanted someone to play this role who’s genuinely excited about it and who can bring new energy and qualities to it (especially the ability and willingness to speak with customers).

I had never actually been a product manager before, which is a plus for me, because I love learning new things (and I’m clearly well suited for this). I dove in right away and started reading books on product management and signed up to attend Industry, a conference for product managers.

I thought it would take 6 months or a year to make this transition, because we also needed to replace my capacity in support (and hiring a new support person typically takes 3 months, then it takes 3-6 months to reach the point where they’re useful, etc.). I assumed that I would need to hold things down in support before moving over, but Harry didn’t want me to have one leg in each team, so we made the transition much more quickly (pretty instantly in fact).

I started the new role in August. I don’t like that my move made things harder for my teammates in support, but I love what I’m doing now. I love that I get to think about abstract problems again. It’s the perfect fit!

So far, my work has been pretty tactical: make this set of pages more consistent or add this small feature without disrupting the product too much. In fact, I won’t be the one actually prioritizing development – that’s still Ted – instead, I’m focused each day on clarifying one or two specific things and communicating them with Ted or one of our other developers to implement.

Last week, I started “Continuous Discovery” – talking with customers on a regular basis. I’m sure it’s the right thing to do, thanks to workshops I attended with Teresa Torres and Ash Maurya, but it’s still new and scary. I love it.

This week, I spec’d a feature that I wanted in support for quite some time. I think it’s going to prove very valuable to our customers, and it was my idea. That’s incredibly exciting to me.

Step 1 of a feature that doesn’t exist yet. It will bring a lot of value to our customers.

What’s Next

Life is good right now. Paula and I have grown very close again, which is amazing. We look forward to a long and loving life together.

Gus is a sophomore in high school, and he’s my #1 focus right now. He’s Paula’s focus, too (which for her includes spending an enormous amount of time volunteering at his various schools over the years). I don’t want to make any career changes while he’s still around, and we’re in no hurry to kick him out after he graduates. We all enjoy each other’s company.

Regardless of any plans Gus might have, I can see myself happily doing this job for the next 5 or 10 years. I love the work I’m doing, and I seem to be good at it. I love what I’m learning. I love the people I work with, and Moraware treats me very, very well. My career is in the best shape it’s ever been, and that’s good for Paula and Gus, too.

There’s just one more item on my career bucket list: before I call it quits, I want to build a company. If things keep going the way they’re going, we’ll have enough money to retire without changing our lifestyle in about 10 years. That’s my plan – reach the point where we can retire, and then build a company without the pressure of having to earn money. In 10 years, I’ll be 59; that should still leave me a few years to build a successful company and maybe even sell it.

You Need a Budget

In the course of this story, there’s a pretty big jump between having serious money problems and realizing that we’re just a handful of years away from being able to retire. What changed? Well, in addition to making better career decisions, I heard Jesse Mecham speak at MicroConf in 2014, and then I started using his You Need A Budget software a year later (when AppSumo ran a deal).

I’m a huge fan of YNAB. They have a simple method for managing money that they share freely. It’s a really good way to budget, regardless of what software you use. Of course, their software implements the method perfectly. The big thing for me is that it separates how much you have and spend from the mechanism (e.g., a credit card) you use to spend it. No other software I’ve tried does that.

The fundamental purpose of budgeting is to show that you have less money than you think you do. Once you reach that point, you make better decisions. This was so impactful for Paula and me that we started teaching Gus about it a couple of years ago – he has his own budget, checking account, and credit card. As I told him from the beginning, the only way to learn the value of money is by running out of it, and he learns that lesson every month. I’ll write more about that another time.

Thanks to Moraware, we’ve watched our net worth tick up every month in You Need A Budget. We’re saving for college and for retirement. We’ll own our house in about 8 years. We have everything we need and almost everything we want. Again, money doesn’t solve all problems, but it sure helps with a lot of them.

Paula, Gus, and I are all growing as individuals, and we’re happy together. I think it’s fair to say we have enough.

A Career Well Spent

Again, money’s important, but it’s not everything. Even my career is about more than money. For the last 30 years, I’ve been incredibly blessed to get paid to do things I generally like doing. I’ve fed my family with this work. Much of my growth as a person has come from my work. Most of my friends are people I met at work.

Beyond that, my career has exposed me to subjects that I find fascinating and enjoyable. When I’m retired, I’ll probably continue to code and to read about SaaS-related topics, because I think those things are super interesting. In fact, I might never completely retire, because I really like this stuff.

Looking back, the weirdest thing about my career is how unintentional it’s been. I wouldn’t recommend that approach for most people. It’s probably better to plan your career or at least to point yourself in a certain direction and stick with it. I’ve sure learned a lot of interesting lessons, though.

I’m extremely happy to be where I am. Product Manager at Moraware seems like a perfect fit for me. If I won the lottery tomorrow, I wouldn’t quit my job, partly because I owe something to Moraware, but also because I enjoy what I’m doing, and I want to learn all I can about product management. That’s a really good sign. (Good thing, too, because I don’t play the lottery.)

As an added bonus, I finally have something worth writing about – my adventures in becoming a good Product Manager. So for the foreseeable future, if I’m not writing about something personal or random, I’ll be writing about product management.

On that note, if you’re interested in following along on that journey, you should sign up for my weekly newsletter. If you do, you’ll get the raw story as it unfolds, not just the tidy wrap-ups on my blog. And I read a lot, so you’ll learn about product management as I learn.

I’ll end this story with my job description at Moraware, which I love. This is the current state of my career, the subject of my newsletter, and what I do every day: As Product Manager, my job is to take squishy ideas, requests, and bug reports and unsquish them into discrete units of work that can be implemented by our programmers.

Lessons from Industry Conference 2018

As I mentioned last week, I had the opportunity to attend the Industry Conference in Cleveland this week. From beginning to end, it was a great experience. 

Workshops

On Monday, I took two half-day workshops, with Ash Maurya in the morning and with Teresa Torres in the afternoon. Both were wonderful, and I learned a lot from each that I'm still digesting. 

I've always been a huge fan of Ash (he came on my podcast 3 times, dating all the way back to 2010!). It's exciting to learn about the new concepts he's working on under the name Innovator's Gift. The most relevant to me is the Customer Forces Canvas. It provides a way to structure Jobs To Be Done interviews and simplifies JTBD considerably in my estimation. I just joined Ash's private community to explore these ideas further, so if you're interested in such things, maybe I'll see you there.

Teresa's work is new to me, but the idea of continuous discovery seems like a slam dunk for us at Moraware. After some very valuable interview practice, I found myself wanting the 2-day version of her workshop, but I'll have to make do by reading all the materials on her ProductTalk website as soon as possible.

An open question for me is if Ash's and Teresa's approaches are complementary or if I'll have to compare their guidance and make a choice. Evaluating these techniques further is one of my highest priorities post-conference.

The full conference was Tuesday and Wednesday. All the talks were very good, even the small number that weren't on the main stage. I and others tweeted about many of the talks at length – and the conference organizers hired a journalist to summarize takeaways from each talk so that we didn't have to – how cool is that?! The biggest name was BJ Novak, and his chat was surprisingly relevant and useful. My favorite talks were probably from Gibson Biddle and Scott Belsky (with his new book!), but they were all very good – not a single clunker in the bunch.

I quite liked the separation between the talks on the main stage followed by Q&A sessions in a more intimate setting (the previous two speakers were always paired, sometimes to interesting effect). Not everyone wanted to participate in the Q&A, so this separation enhanced the pacing of the conference and the ability of attendees to balance content with networking.

Paul McAvinchey leads a Q&A with Teresa Torres and BJ Novak

The venue itself worked perfectly for the way the conference was organized. It was mostly one big room with a big stage on one end, a much smaller stage on the other end (for the Q&A sessions), and the sponsor stuff and food in between. They even had a "podcaster's row" along the side, which I thought was quite clever and useful (it's on my to-do list to listen to each).

Sponsors were probably the most surprising aspect of the conference for me. There were about 10-15 with booths of various sizes. Some I had heard of (UserVoice, UserTesting, Optimizely), but most I had not. In particular, I had no idea that there were such sophisticated tools for analytics and in-app communications – tools like Pendo and Aptrinsic (and maybe Amplitude). We've long considered adding something like Intercom or Drift, but both Pendo and Aptrinsic seem like better fits for us. I was really impressed by both of them, and I suspect one will be a key part of our software soon. I wouldn't be surprised if we added Qordoba at some point, too.

If I look ahead to three years from now, there are three key changes I'd like to have made as a result of this conference:

  • Interview customers weekly – this has to happen within the next 6 months. It's super important for Moraware, but it's new and slightly scary. The most immediate improvement I need to make is to stop asking leading questions (thanks Teresa!)
  • Develop a culture of experimentation – I've been aware of A/B testing for some time, but I see now what a deep commitment it is … and how realistic it is. Thanks to the Optimizely team for a very inspiring conversation on this topic (and a great conference talk by Jon Noronha). This has to start with a personal mindset shift for me – how many decisions do I make that could be answered better with an experiment?
  • Develop a culture of feedbackNPS surveys aren't new to me, but we don't use them yet at Moraware. It was very cool to see Gibson Biddle include an NPS feedback survey seamlessly in his talk. In fact, seeking feedback is probably a big part of the reason he's such a great speaker (and wow, he is). Talking with experienced product managers like Jenny Wanger made it clear to me that seeking feedback can and should be a normal part of both a company's and an individual professional's experience. Nobody likes this, and I won't either, but I have to make that leap.

That leads me to the #1 benefit of this conference: connecting with my Product Management peers. Again, I'm new to this role, so I don't yet have an expansive grasp of the state of our craft. I have great experience leading me into this role, so I know I'll learn quickly, but I still gotta learn. I know content isn't enough for me – I need personal connections to learn and grow with. I was struck from the first person I met (hi Stacey!) to the last (hi Tiffany!) how kind and interesting and smart everyone was. I like being part of this community already, and I look forward to bringing value to it over time.

Overall, I left this conference exhausted from all the learning and humbled by the collective wisdom of the speakers, attendees, organizers, and sponsors. As a newbie, I felt welcomed and accepted from the start. It was a great experience, and I'd recommend INDUSTRY to any new or experienced project manager. I'll be back next year, so I hope to see you there!

Product Time

If we're connected on LinkedIn, then you might have already noticed that I have a new role at Moraware. I'm now the Product Manager (we debated calling the role Product Owner, but Product Manager seems to be more typical, so I'm going with that for now – when I've kicked enough ass, I might change it to Head of Product, but it feels like I should prove myself first).

The reason for the change is simply growth – we've doubled in size since I started with the company (5 to 10 people), and we're able to specialize more. We always need someone to take squishy feature requests and make them unsquishy enough that developers can build them. Our three awesome developers had been doing that work themselves until now. None of them loves it, and it just slows them down. We want our developers coding as much as possible, and that's what they want to be doing, too. Separating the product management activities from programming will make them all more productive.

I actually DO love this work. I've been a programmer myself, so I know what our developers are looking for in a spec and what level of detail they want. My secret weapon is that I know the product and our customers as well as anyone in the world, because I've been supporting it for the last four-and-a-half years. My superpower is combining abstract reasoning with the ability to talk to people, so we're all optimistic that I'm going to be good at this.

That said, I've never done this job before! I have a LOT to learn. Luckily, I love learning, and I'm super excited about doing the work.

Much of the work is specific to our company – figuring out what the development team needs from me and how each developer likes to communicate. Figuring out the right level of documentation and ceremony. Figuring out how to get customer insights from the rest of our team. Figuring out the right rhythm to talk with new and existing customers to learn more about their "customer journey" with our software and the underlying problems that led them to us (Jobs To Be Done anyone?).

While much of the details of these things are specific to our company, I assume the concepts are pretty universal. To learn more about those these, I'm reading a lot (six books in the last couple of months), and next week, I'm attending my first product management conference, Industry.

I'm sure I'll get a lot from the speakers at the conference, but I'm most excited about meeting my peers. I've reached a point where I have questions, and I suspect I'm going to have some really interesting conversations. I can't wait.

I head to Cleveland on Sunday morning. I'm sad that I'll miss Business of Software this year – it's been such a big part of my life – but Industry feels like the right place for me to be. I'll share what I learn soon. Wish me luck!

Sign up for Business of Software

The Business of Software conference is about a month away in Boston (October 1st – 3rd). If you write software that exists to make money, you should go – but tickets are almost sold out, so sign up very soon (and get your hotel room, too).

For the last 8 years, I’ve attended Business of Software – it’s been the one constant across 3 different jobs. It’s shocking how much of an impact it’s had on my life. As I wrote after my first BoS, I learned things that I didn’t even know were knowable. That was truly jarring. It changed the way I look at the world, and my life is so much better for that change in perspective.

It was at Business of Software that I learned the difference between building software and building a software business. I learned the actions that tend to correlate with success or failure for software startups (success isn’t as random as I used to think). I learned that the software itself is the easy part – and rarely determines business success.

Meeting one of my heroes

The speakers are always first class – I’ve seen Seth Godin, Jason Cohen, Kathy Sierra, Dharmesh Shah and so many others … this year will have more great speakers, including Bob Moesta, Peldi Guilizzoni, Mikey Trafton … every speaker is “keynote quality.” 

The attendees are as important as the speakers, if not more so. At every break and every meal, you’ll meet someone interesting (and oh, by the way, the food is always really good). Everyone there has something to learn and something to teach. I met Harry and Ted, the founders of Moraware, at Business of Software – I literally wouldn’t have my awesome job if I hadn’t attended (and oh, by the way, we’re hiring!).

short Patrick and tall Patrick

The conference is one track, so you experience it as a collective. It’s not exactly Burning Man, but it develops a genuine sense of community – each year is a unique event with its own character. It’s organized by my friend Mark Littlewood – putting on interesting tech events is his business and his passion (and if you’re lucky enough to attend one of his events, you’ll consider him a friend as well).

Sadly, I have a conflict and won’t be a part of Business of Software this year. Harry and Ted will be there again, as will about 250 other smart software business people. If you write software that makes money, you should be one of them. If you’re unsure if it’s a fit for you, feel free to email me to discuss.

 

Another Great Racing Season

As you might know, Gus races go-karts in the summer at Ravenna Motor Park, and I’m his crew chief.

He’s quite a talented driver – and I’m an enthusiastic student of things that make the kart go faster.

This year, we had one primary competitor, Josh and his dad, Fred. Going in, we knew we wouldn’t be able to compete for the championship, because we had to miss too many Saturdays this year – instead, each week would be fierce competition and an opportunity to learn.

Early in the season, we usually had more speed. When Gus got ahead, he stayed ahead. As crew chief, I got a bit complacent – after all, why make the kart faster until they catch up?

Well, they caught up! Kudos to Fred – he kept improving Josh’s kart, and with about four racing weeks left in the season, it was clear that they were quite a bit faster. Now I was scrambling to find more speed.

The easiest way to find more speed is to spend money – you can buy new tires (probably the most reliable way to gain some tenths), a new clutch, even a new engine … if we were fighting for the championship, I probably would have dropped the $220 for new tires – but Fred’s not an idiot, so he would have just matched it! Also, I have a very difficult time mounting new tires – last time I did it, Fred actually did most of the hard work (on my tires), so that would have seemed kind of lame. We both decided to ride out the season on older tires.

I did replace his aging clutch, because I know how to do that one myself and it was only $50. That gained us a tenth or two Also, in the 2nd-to-last week, we finally blew a head gasket – and Fred helped me replace it. We were clearly losing some horsepower there.

In case you hadn’t noticed, competitors help each other a LOT at our track. Our goal is to make the racing as good as possible, and it’s more fun if each kart and each driver is set up to go as fast as possible. That’s when the most learning happens!

By the last week, we were really, really close to each other. I think Josh still had maybe a tenth of a second on us (per lap), but the boys were set up for really good racing. It turned out to be the best racing of the year.

We didn’t win. In fact, Josh swept the two heats and the feature on Saturday. I couldn’t have been more proud of both boys. I was proud of Gus for his effort, learning, and attitude – he never complained once about the kart or his competitor. In fact, Gus heartily congratulated Josh on each of his wins and let him revel in the success he earned. Likewise, Josh showed his chops on the track and was a gracious winner.

Heat 1

In the first heat, Gus started on the outside and made a beautiful pass off the start. He couldn’t shake Josh, though – which was a new thing for him.

In racing, you have to learn how to win with a much faster kart, a slightly faster kart – and ideally with a slightly slower kart. Gus tried to hold off Josh, but he just couldn’t do it. Josh was patient and eventually put Gus in a disadvantageous position to take the lead. It was a great learning experience.

Heat 2

In the second heat, Gus started on the pole and had a good start. I thought for a while that he was going to make a tiny gap, but Josh caught up, and Gus felt the pressure behind him. Again, Josh was patient and waited for the best moment to pass, taking him at the point where he had the biggest advantage. In my opinion, it was the best race I’ve seen from Josh – it’s great to see his growth as well as Gus’s.

Feature

In the feature, Gus started on the outside, but Josh had a solid start for the lead. Gus stayed with him admirably for about half the race, but eventually, his kart dropped off compared to Josh’s, and Josh stayed ahead for the win.

We didn’t get any wins, but it was a great week of racing. Gus and Josh raced each other hard and clean and got to experience 3 excellent passes. That’s a big deal. Both boys are better than they were at the beginning of the season, and I can’t wait for next year.

And there are big changes coming next year! After the race day was over, I finally took my first laps in my new kart! I’m not going to let Gus have all the fun – I’m going to be racing next year myself. 🙂

If all goes well, we’re going to create a new class next year with a slightly better motor (Briggs 206) and a slightly higher weight (in the ballpark of 320 or 330 – we were 285 this year). We’re going to combine the “lighter” adults and more experienced kids into that class. Hopefully, we’ll have 6 or 8 racers mixing it up together in that class, which will bring a different kind of learning for the kids (and will be more fun for us adults, too).

If you live in West Michigan, you should come out to the track and check it out next year. It’s amazingly fun and a super healthy way to push yourself. Talk to me if you’re at all interested. The people at Ravenna Motor Park mean so much to me – I want more people to experience what we’ve experienced. It’s an absolute blast!

Business of Software 2017

In three weeks (September 18-20), I’ll be attending Business of Software in Boston for the 8th year in a row (here are impressions from my first). If your company makes and sells software, you should probably go, too. Here’s why:

  • You’ll be inspired by amazing talks from people like Seth Godin, Jason Cohen, and Rita Gunther McGrath. The talks are really, really good – and highly relevant to software businesses.
  • You’ll be energized by the other attendees. It’s a small conference (maybe 300 people), and everyone who attends is worth talking to. My current position is a direct result of meeting Harry and Ted (the founders of Moraware) at Business of Software years ago.
  • You’ll be pulled away from your everyday routine and get a new perspective. How often do you step away from the day-to-day aspects of your business while still focusing on it? If you attend this conference, that’s what you’ll do. It’s so valuable to get a different perspective.
  • You’ll have fun. This conference is very focused on business … and because everyone who attends loves this stuff, it feels more like fun than work. It’s also at a great hotel, and the food is the best you’ll have at a conference.

Obviously, I must be a pretty big fan of this conference if I’m willing to go 8 years in a row. It’s hard to explain, but it’s become a very important part of my life. If you have any inclination to go, you should. If you have more questions, feel free to email me.

Yours truly giving a Lightning Talk at my first Business of Software – thanks for the photo, Betsy Weber!

See you in Boston!

Allergies

A friend of mine told me about his bad allergies the other day, and it reminded me of how lucky I am that mine have been completely under control for the last few years. Here’s how my allergies got better.

Most importantly, I saw an allergist, and I can’t recommend that highly enough. When I was about 8, I got diagnosed with allergies by my regular doctor. He prescribed some antihistamines and sent me on my way. That’s not good enough. My allergies got worse and worse into my twenties, and finally I couldn’t take it anymore, so I went to an allergist – I wish I had done it much sooner.

Before he tested me or prescribed anything, he simply explained how allergies work in simplified language. He said I have a “tipping point” – let’s give it an arbitrary number of 10. When the things that bother me stay below 10, I might notice them some, but I’m basically OK. When they go over 10, my tipping point, I’m miserable.

So the key to managing allergies is keeping the bad stuff below my tipping point, and we did that in several different ways.

First, we tested what I’m allergic to – he suspected I’d be allergic to some foods, not just pollen. “I’ve got bad news for you, too – it ain’t gonna be broccoli. People often have an addictive-type reaction to foods they’re allergic to, so they’re probably going to be some of your favorite foods.”

Sure enough, in addition to all the trees and grasses I was allergic to, I was a little allergic to milk and quite allergic to eggs. Crap. He said if I stopped eating those things, it would make it that much harder for pollen to get me to my tipping point. So I stopped eating anything with eggs (including cakes, cookies, etc.) or milk (including cheese … pizza’s better with cheese, but it’s surprisingly good without it, too). My wife’s wonderful cooking made this tolerable.

At the same time, he recommended a regimen of drugs – most of these were prescription at the time, but now, they’re all available over the counter (unfortunately, this made them much more expensive for me, personally, since the prescription drugs were covered by my insurance). As soon as the first hint of allergies came each year, I started using Flonase every day and taking Allegra – there are competitors and variations on these things, but these are what he recommended for me. These days, I only buy generic knockoffs.

Flonase is steroids for your nose – it doesn’t make the problems go away, but it makes your nose and sinuses better at handling them (steroids = stronger). It can also useful if you have an earache. The dosing is really annoying – you can’t tell how much you have left … but it’s one of those things that has a cumulative effect over several days, so you might as well just calculate the number of days a bottle is good for and take it until it’s gone (120 squirts = 30 days).

I’m pretty sensitive to drugs, so I don’t like taking the ‘D’ version of Allegra. Instead, I go to the pharmacy counter, get plain ‘ole pseudo-ephedrine and take the minimal amount (the ‘D’ versions of antihistamines typically have 4 times that amount!) – and only when I’m pretty plugged up. I only take it in the morning, or else I can’t sleep at night.

Another super useful tool is Zatidor. It’s an antihistamine drop that you put directly in your eyes. Nothing brings more immediate relief to allergy eyes. It’s amazing stuff.

And don’t forget Benadryl. Even though it’s cheap and ubiquitous, it’s actually really powerful. The only problem with it is that it makes you sleepy (in fact, the same drug is sold as a sleep aid!). Driving with Benadryl is about as dangerous as driving after a couple of beers – don’t do it.

When things get really bad, I take some Afrin before going to bed. That stuff is super powerful – it’s like drilling new holes in your head – but you need to be religious about using it for no more than 3 days in one stretch; otherwise, you’ll have a nasty rebound. I haven’t used it for allergies in years, but I have used it for a couple of bad head colds.

The drugs helped to keep things under the tipping point – the next step was to move the tipping point itself. We did that with allergy shots.

Allergy shots aren’t drugs – instead they’re some sort of serum made from the stuff you’re allergic to. I’m oversimplifying here, but by steadily giving your body more and more of what it’s allergic to – in tightly controlled amounts over time – your body gets used to it. That tolerance gradually raises your tipping point.

I took shots for about 8 years. Eventually I noticed that my seasonal allergies weren’t bothering me much at all. A couple years later, I stopped taking the shots, and I still had no problems. Then I started eating milk and eggs again (yay!) … still no problems (except for gaining 20 pounds – dammit!). My tipping point has effectively been raised.

Now my allergies don’t bother me. At the first signs of spring, I start taking Allegra and Flonase every day for a couple of months, and it keeps me well under my tipping point. It’s great!

The moral of the story is that if you have bad allergies, please go see an allergist (at least if you can afford it). Doing so made a shockingly significant improvement in my life.

Also, recognize that our bodies grow in and out of allergies. Things change. Something might bother you for 20 years and stop bother you after that – or vice versa. Things are great for me now, but it could change. This isn’t like a surgery (although I know people who have had a surgery that literally drilled holes through their sinuses – that’s yet another option).

Finally, there’s still one situation that I have to watch out for: dust. Technically, I’m not allergic to dust at all, but after years of my nose being ravaged by allergies, my nose itself just doesn’t work very well. So if I breathe in some dust, I have a mechanical reaction to it, because my body can’t get rid of it. In other words, I sneeze non-stop for an hour or so. Super unpleasant. If I’m doing something like cleaning out my garage, I have to wear a face mask, or I’m going to be miserable.

Giving up politics

I love politics. It’s arcane and maddening and dramatic and … human. I love reading about politics; I love listening to political podcasts; I love watching political shows on TV.

But for now, I’m giving it up. I still like all those things (political podcasts in particular – we’re in a golden age), but it’s so interesting to me that I find politics displaces other worthy interests.

Here’s what triggered this change … last week, I went to a Visual Studio launch event – it was the first time I’d been to a Microsoft event since I left the company. I missed seeing all my local programming friends! They seemed to miss me! Why had I not been around?

No particular reason … I don’t need to go to local tech events as part of my job, so I guess I wasn’t really paying attention. I’d like to pay attention to my local technical community again, but I don’t have any extra time. Something had to give. So I’m giving up politics.

Maybe I’ll run for office someday. If I do, I suppose I’ll have to pay attention again. For now, I’ll just get the condensed version from Twitter (and Rocky Mountain Mike parodies). I think that’s enough, but if something really important happens, please let me know.

NOTE: If you happen in the market for great political podcasts, here’s what I recommend:

Music my kid shared with me

An unexpected joy … as my 13-year-old son, Gus, has developed his own musical tastes, he’s turned me onto some great music. Here are three examples.

Note: some of this music uses strong language. If swearing offends you, I’d skip this post.

Anderson .Paak

This guy’s up for a Grammy this year for best new artist. His album Malibu is catchy hip hop that throws in some surprising funk elements. Here’s Come Down, the best song from that album (you might have heard it on a Kevin Durant sneaker commercial):

Childish Gambino

If you saw the movie The Martian, you saw this guy, whose birthname is Donald Glover. He’s also the star, writer, and executive producer of Atlanta. And he’s playing Lando Calrissian in next year’s Star Wars movie, so you’ll certainly know about him then if you don’t now.

He’s got some newer stuff, but if you haven’t listened to anything of his yet, start with his Grammy-nominated album Because the Internet. Here’s Sweatpants, my favorite song from that album, largely because of its English-teacher-friendly use of onomatopoeia:

Individual Songs

I like listening to albums, but that’s not the way most young people listen to music these days. Gus finds individual songs he likes from his friends or from video games, and then he bounces from song to song on various albums. I know this, because we often let him play his music in the car.

About three years ago, the songs he listened to started being less about parodies and farts and started being … good. The song below, Aerosol Can, was the first song that Gus introduced me to that I added to my own playlist because I liked it so much. There have been many more I’ve added since then (although I still usually end up listening to whole albums after hearing a song I like – old habits die hard).

By 2014, Pharrell (the rapper on Aerosol Can) was either producing or performing on about half of the songs heard on the radio. He’s everywhere. The lyrics are pretty dense – at this site, you can click on each line and find what motivated them.

Thanks for introducing me to new stuff, Gus … keep it coming 🙂

Dealing with TRUMP

I’m a centrist Democrat, so I really liked Hillary, and I wanted her to be president. She lost, so it’s time to deal with the reality of a Trump presidency.

I don’t want to spend a ton of time analyzing why Clinton lost, but it’s important to consider at a high level, because it provides context for what comes next.

First of all, she wasn’t cheated (not even by Comey). She lost fair and square. It was very close (especially considering that she won the popular vote by nearly 2 million votes), but ultimately, the Clinton campaign made some critical mistakes:

  • The average American didn’t know what Clinton stood for, other than not Trump. I think she would have been better served using language like this: “I trust the American people to determine which one of us is more fit to lead this country, so I want to talk about …” and then talk about something – anything – positive. Probably jobs. Always jobs.
  • The Clinton campaign didn’t campaign enough (or effectively) in Wisconsin, Michigan, and Pennsylvania. Easy to see in hindsight, but some pretty smart people (Michael Moore, Nate Silver, …) were actually pretty loud about it in the last three months of the campaign.

Ah well. Water under the bridge. It’s time to move on.

Wait – here’s one thing that doesn’t matter: If Trump had won the popular vote and lost the electoral vote, he probably would have thrown a never-ending tantrum, and we’d be in a year-2000-election-like clusterfunk right now. Does. Not. Matter.

What matters to me is the way our country responds to this moment. On election night, when I came to the sinking conclusion that Trump would be our next president, I kept imagining future American History books … we clearly just started a new chapter with a single-word heading: TRUMP. In fact, we’ve only just experienced the introduction to that chapter. We have no idea yet what the chapter itself is going to say.

So what does this moment say about our country?  How should we respond? Here’s some more context, this time from Slate Star Codex on the eve of the election:

I suggest people precommit to their views on politics and society now. We live in a country and a world where Hillary can be at about 47% and Trump at about 45%. This is pretty much all you need to know. It suggests that a lot of people are willing to support a nationalist candidate, and a lot of other people really hate that candidate. It suggests that political fundamentals are totally compatible with a situation where either Trump or Hillary could win based on noise in the electoral process.

This was really good advice, but I didn’t see this post before the election, and I’m not sure that I would have listened. One bright spot of this stinging loss (for me personally) is that it forced me to ask these kinds of questions and come to the realization Slate Star Codex makes above: this is who we are and this is the country we live in.

Our country is obviously complex enough that it’s impossible to boil down our cultural and political differences to Just One Thing … but this October column from David Wong at Cracked does a surprisingly good job. In short: our underlying differences have a lot to do with Country vs City.

The results of the election support this. The biggest difference between the performance of Obama and Clinton is that Obama didn’t do as poorly in rural counties. He still lost most of them – just not as resoundingly as Clinton did (again, I think this was first and foremost a failing of the Clinton campaign, not an indication of demographic realignment or nefarious forces).

A rural/urban divide rings true to me personally as well – Clinton’s message just didn’t resonate with the working class people I know, especially those who live outside cities – or leave the city as often as possible to hunt, fish, race, etc. I even know several life-long union Democrats who didn’t vote for Clinton, which seemed unthinkable four years ago.

I don’t think Trump’s policies will actually help the working class, but at least Trump made them feel heard. Clinton did not. In fact, her deplorables comment had the opposite effect – I’m sure many working class people reasonably wondered, “Is that how she thinks of me?” Not a winning strategy.

The good news for Democrats – I’m trying to stay positive here – is that this was more of a campaign mistake than a policy mistake (or a demographic inevitability). Better jobs policies can and will win back these voters in future elections.

It’s intellectually lazy to blame this election on racist or misogynist voters. There will always be some degree of racism and sexism in our country, but it’s been getting better for decades, and it will continue to get better (just not in a straight line). We’re still the same country who elected and re-elected a black man with Hussein as a middle name. We nominated a woman who almost won – and there was shockingly little talk on either side about her being “weak” or any other stupid female stereotypes. In the end, people voted – as they always do – for the candidate who they thought would make their own lives better. A large group of voters felt listened to and understood by Trump. Those same voters felt vilified by Clinton.

Those people didn’t vote for Trump because he was the better candidate for white nationalists – they voted for Trump because he was the better candidate for the working class, for them. The fact that Trump happened to be the better candidate for racists was irrelevant – numbers-wise, the white nationalist vote itself was and is insignificant (Slate Star Codex makes this argument quite convincingly – Democrats, PLEASE read this).

The furor around white nationalists turned out to be a brilliant diversion (whether that diversion was intentional or not is a separate debate). Overt racism is not OK for most Americans. If white nationalists make up less than 5% of our population, that means 95% of our country has no inclination to put on bed sheets and burn crosses. But many good people still live in a pretty segregated world. The way you talk about and think about people of color is different if you don’t actually know or interact with many people of color.

My son goes to a school where only half the kids share the color of his skin. We live in a pretty white neighborhood, but thanks to Gus’s schooling, people of color aren’t other to him. His closest friends are truly diverse.

If you attend schools and churches that are mostly white, you’re obviously not going to know as many people of color – they will be more other to you. The letters sent home from the principal and the sermons you hear on Sunday will be less likely to use strenuously inclusive language like people of color, because the community is less diverse. They simply have less experience with people who don’t look like them.

Living in a mostly white community doesn’t mean you’re a racist. It probably means that you don’t use the same language to talk about race as someone who lives in a more diverse community. It probably means that race isn’t the most important issue on your mind most of the time. If your economic prospects are crap, you’d probably even resent programs that appear to help other communities more than your own (and it certainly wouldn’t take much effort to stoke those resentments).

If you know in your heart you’re not a bad person – and you believe that being racist makes you a bad person (a belief that’s a good sign if you think about it) – then I bet it would really make you mad to call you a racist. That’s pretty much what Clinton did with her “deplorables” comment. That’s pretty much what her most vocal followers did on Facebook and Twitter over and over as well. This did not help. In fact, many of you are still doing it – PLEASE STOP. Besides being rude, it’s a horrible political mistake. It’s ineffective. Again, in retrospect, this was a brilliant diversion – Trump got us off our game. We allowed ourselves to be snookered by a master at controlling the conversation. (Yes, Trump is good at some things – uniquely awesome in fact – go read or watch Ender’s Game if you want to learn how to defeat someone who’s really good.)

ender

Obviously, racism sucks. As I’ve mentioned before, fighting the systemic racism of voter suppression is the reason I became a Democrat. We should oppose any policy that fosters racism. We should call out hatred and racism and injustice wherever we see it. But we shouldn’t use racist as a casual epithet for those who disagree with us.

In fact, we should rarely be judging what people are – instead we should be focused on what people do. Do I think Governor Kasich is a racist? No, I don’t … but he supported policies that made it harder for black people to vote, and I’m going to oppose those policies. He did so knowingly and as a cold political calculation, because he thought it would help more Republicans get elected; therefore, I’m going to oppose him politically, and I’m going to oppose the Republican party politically. That means I’m on the other team – it doesn’t mean I think he’s evil. Just as I can acknowledge “nice play” when the other team scores a touchdown in a football game, I can acknowledge “nice policy” when Republicans do something that makes our country better (invest in infrastructure? Yes, please!).

The beauty of representative democracy is that we’re not just spectators – we’re part of the game. We determine which team wins by voting. Elections matter – I would have greatly preferred Clinton’s cabinet picks and judicial appointments as well as her policies – but even after an election, we influence the game by supporting or opposing individual policies, regardless of who’s in power. 

Politicians want to be reelected, so they’re going to support policies that their constituents support. For example, even though many Republican politicians were against gay marriage, a strong majority of Americans support it, so I doubt that there will be the political will to roll it back (though I still feel some anxiety about the issue – it must be really scary if you’re gay).

The teams themselves are fluid. You can be a Republican one year and a Democrat the next. Many people are gung ho about their particular political team, but most just want what’s best for their own families. These people, the undecideds, can be persuaded, but most are going to vote with their gut for the team that “gets it” more and will therefore probably do more for their own lives. That’s what rural, working class, white Americans did in this election. Trump reached them and Clinton ignored them (except when she insulted them). Huge mistake.

As Democrats, what should we do now?

If you want to persuade rural, working class, white Americans in the next election, you know what you should do? Go hang out with rural, working class, white Americans now! Find out what they like and share those experiences. Invite them to share experiences with you. Share your fears and failures, too. Be friends. I happen to love both the city and the country, both city dwellers and country folk. Yes, there’s a divide, but crossing that divide isn’t a punishment. I’ve been to a dirt track race, a symphony concert, and a break-dance battle on the same weekend. The variety in our country is freaking awesome.

Recognize that I’m a centrist and an incrementalist – so most progressives will probably find my beliefs and my tone lacking. That’s OK – we need to have great conversations within our party, too!

This primary season could have been awesome – Sanders was a rare breath of fresh air – but the DNC sordidness ruined the conversation and left a bad taste in everyone’s mouth (which didn’t help with the general election, either). Let’s spend a lot of energy cleaning up our own house and have meaningful conversations about the future of the Democratic party.

Then we let the general election be too much about personality and not enough about policies. Let’s not keep repeating that mistake! Focus on specific policies that are meaningful to you at every level of government. If it makes the world better, support it. If it doesn’t, oppose it. Stop focusing on personalities! Obviously, Trump is going to appoint people we don’t like. Get over it – oppose policies, not personalities.

We need some range in our opposition. Some things are worth protesting – the Dakota pipeline certainly clears that bar. The electoral college? Not so much – it might feel good, but it’s not going to change anything. We’d be better served saving our energy for something else.

Don’t be vengeful or petty. Yes, I absolutely hate that Mitch McConnell’s overt obstructionism has been rewarded. I hate it! That doesn’t mean we should adopt the same approach. It was wrong for the Republicans to do it, and we should work hard to punish that behavior at the ballot box – but when we lose, we shouldn’t adopt the same deplorable behavior.

Keep a sense of humor. Saturday Night Live seems funny and relevant again. That’s something. Humor eases the pain a bit, so relish the good stuff – and when you see good humor that criticizes Democrats, appreciate that, too. This was posted on Twitter during the 2nd debate. I love that funny people always have an eye open for such random observations.

islands

LEARN. Read (longer form, too, not just tweets). Be wary of what we come across on social media. Listen to podcasts. Talk more with people we agree with and those we don’t. Be friends with more people in real life, not just on social media.

LISTEN. Open our hearts and minds. Expand our understanding to include why people disagree with us. Work to understand the opposition’s point of view (again, see Ender’s Game).

Above all, LOVE. This doesn’t have to be some hippy drippy kumbaya kind of love – love with our actions. Love by helping our neighbors, even those we disagree with. Love by protesting peacefully. Love by speaking up without being smug. Love by standing with a powerless stranger who feels threatened. Love by imagining the positive motivations of those who oppose us. Love by raising our kids to be even more aware and loving than we are.