This should be the easiest post to publish that I have ever written. Unfortunately though it has been the exact opposite. I think there is quite a bit of fear built up in my lizard brain, telling me that I’m risking a lot, telling me that I need to turn around. Hopefully I can harness that fear and turn it into motivation. Turn it into something great…
So…you may, or may not, have noticed that my blogging has been cut back a little bit recently. Okay okay, it has been cut back quite a lot over the last few months. I’m still alive, as you can see from my Twitter account (You should follow me!). But the truth is, I’m not entirely sure why I haven’t blogged much. I’ve made up all kinds of excuses about how I’ve been working on other projects, and how I am busy working on some surprises (I am). But in the end blogging has, for years now, always been something for which I’ve made time. I never got handed time to write blog posts, I found the time, even when I was busy.
So why haven’t I found the time to write recently? Surely I have something to say, right? Well, I’m not so sure anymore. Blogging is about passion. It is about wanting to share a passion that I have. You see, a few years ago I decided to reinvent my career and myself. I was getting burned out, I wasn’t happy with where I was going and what I was doing. I needed a change. I needed to be surrounded by people who were as passionate about building software as I was. And so I started getting involved with the local developer community, which as it turns out, was one of the best decisions of my career.
Since that point in time, I started blogging, changed jobs, started speaking, got two Microsoft MVP awards, got into consulting, and met some of the smartest, most passionate developers ever (and got married, but that had nothing to do with the user groups :-). Even though I don’t get to see many of those people very often, I still consider them to be good friends. It has truly been some of the best years of my life. I’ve felt passionate, challenged, rewarded, and motivated. And more importantly, I’ve been surrounded by tons of people that are even more passionate than I!
But everyone’s passions are different. Some people I have met are passionate about languages, algorithms, patterns, testing, DDD, DI, BDD, TDD, etc… I am passionate about many of these things, but somewhere along the line, something started to change for me. I started to questions some things. What was it that was really driving me? What was it that I was motivated by?
I think it might have been right around the 10,000th time I found myself fighting for someone to use a DI container, or an ORM, or an open source alternative, or to write unit tests, or mock something, or any of the other myriad of patterns and practices that I have picked up over the years… that I suddenly realized I just didn’t care very much anymore. If someone insists on hand-coding their database layer because they don’t want to learn a new tool, then fine. My job is not to force you. If you want my opinion or my help, then ask (I absolutely love helping people), but otherwise I’ll just leave you to your devices. I don’t have the time or the energy to argue with you, and even if I did, in the end everyone just takes their ball and goes home anyway.
The issue isn’t that I care about good software any less, it is that I have started to realize that it isn’t the goal. Sure, that sounds ridiculously obvious, but I’ve met hundreds of developers in my career that are so wrapped up in writing "good" software that they forget to add any value. They don’t view software as a tool, they view it as an end.
I remember a while back my friend Nate Kohari said something to me. He said that he felt like software was just a tool and that he didn’t really care much about the mechanics anymore; he wanted to create something. At the time, I was so buried in the mechanics of building software that, truth be told, it pissed me off a little bit.
In my mind, the .net space was so far behind when it came to writing "good" software that we couldn’t stand to have yet another community leader turn their back on the goals of building quality software. But you know, I was only pissed because I knew he was right. I was biased because I was a member in the choir of demagogues who decided to harass everyone into adopting new and better software practices. Mostly by telling people that they were wrong for not using these tools or techniques already, and that they might as well hang up their IDE and go home. I mean, how can you possibly be doing anything worthwhile if you aren’t wrapping it in a dynamic proxy and injecting it somewhere?!?!
But the truth is that you can create amazing things without any of these tools. I hope you want to solve problems in the best and most efficient way possible. I know I sure do. And if that assumption is true, then I have to know that you’ll seek the best tools to do your job. And I hope you’ll invest time in that. Most likely if you’re reading my blog, then you are investing plenty of time building the best software that you can. But at some point, you have to stop sharpening your blade and just start cutting shit with it. And for me, I realized that I could probably sit around and sharpen my saw all day, but the real thrill is cutting that first piece of lumber.
At this point I came to the conclusion that I had to make some big changes in my life. And these conclusions were not at the end of a short road. I enjoy what I do. I questioned it for a while though. At first I thought that it was really about working for myself, that I was just tired of being told what to do. But the truth was, the more I looked around the more I realized how much freedom I really had. People very often looked to me for solutions and answers. And I love it, I love getting to go into organizations and using my abilities to guide and help them. But at some point I started to feel like a furniture maker who keeps creating wonderful works of art, but doesn’t have a chair to go home and sit on.
I decided to start scratching my itch to create something, and so I created SquishIt. I wanted to solve a problem and I wanted to create a tool that was blindingly simple to use and would help developers out. And you know what, I think it has been pretty successful. I’ve received more than a dozen e-mails, and numerous blog comments where developers have told me that they integrated easily into their projects and it just worked. And you know what, it felt great to produce something that people genuinely found useful.
There was something about creating this tool and having people use it to make their lives easier that stirred me more than I realized it would. I’ve created some open source projects in the past, but this came at a time when I needed that extra little boost of motivation to try and once again redefine myself. It wasn’t easy, because I knew I was successful in almost every way that someone would measure a career, but I was still measuring my success by someone else’s standards. And I realized that while I had everything (and more) I needed to live, I didn’t quite have everything I needed to feel fulfilled. I think that at this point in my life, I need to create something. I need to have something that I can point at and say "mine".
So, as the culmination of this entire rambling mess, I want to say that "I’m doing it". I’ve started my own company called Ecstatic Labs and I plan on building software to help make people’s lives a little easier. I want to create tools that I can be proud of. I am hoping to pick up the pace on blogging more, but be warned that the focus might change towards my adventures in getting my first company and product off the ground.
These changes don’t come without sadness though. My last day as a full time employee at my current employer (Dominion Digital) is this Friday. It will be a bittersweet parting, but thankfully I will get to continue to work with them a little bit so that I can put food on my table while starting my business. Words cannot describe how thankful I am that they are willing to work with me so that I have this chance to make my dreams happen. And I sincerely hope that whatever your dreams are, you get the same chance one day.
Remember, this is your life, failure is impossible as long as you enjoy the ride.