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.
Loved the article? Hated it? Didn’t even read it?
We’d love to hear from you.
Congratulations! This is certainly a big step but well worth it in so many ways. I can’t tell you how because each person making the jump finds different rewards.
Good luck and please blog about the journey.
At first I though you were having a kid 🙂 I knew you were up to no good 🙂 (jk), now you will end up reading lots of business books on how to run a software company.
Wish u all the best:)
Good luck on your new adventure! Looking forward to seeing your first product.
Good luck Justin! I’m sure you’ll do great!
Terriffic news, congratulations!! I’m sure this is the best decision you have made in your lifetime. Good luck!
Indyfromoz
That’s awesome Justin!
I can relate to a lot of the things you’re telling. A part in me wants to do something great, create value. I’m not ready for it yet, but I hope one of these days I will have as much balls as you to take the step.
I wish you the best of luck!
That might be one of the best posts I’ve ever read. I went through a similar experience a number of years ago when I gave up the religious wars over languages and platforms. I became agnostic: I don’t care if you are into Java or .NET, SQL Server or Oracle, Linux or Windows. I just want it to stinking work, and I don’t want to kill myself to get it to do so.
I applaud your willingness to go it on your own and wish you all the best – I know I’ll be watching!
Good for you, and good luck!
Jeff Atwood took the leap as well, and he was pretty successful… You’re doing the right thing and I wish you success.
You’re still going to need a general-purpose tool-building factory factory factory 😉
OUTSTANDING! Congratulations! I am struggling with the same feelings and ideas myself. Glad to see you’re doing something about it. Good luck! (Not that you’ll need it)
Congratulations, friend.
Congratulations Justin, Good luck in this new venture!
Best wishes and good luck, Justin.
Will look forward to the products from Ecstatic Labs.
Great post, Justin. I’ve definitely felt similarly about the ALT.NET scene for a while. Somewhere along the route of preaching best practices, many of us forgot that software is just a tool.
Congrats on starting your own company, and good luck to you!
[quote]A tree is known by its fruit[/quote]
Justin, thanks for stating clearly what I’ve been trying to communicate for some time: "…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."
As someone who is a total hack carpenter, but has created many very useful things for my home, none of which are likely to win any beauty contests, that’s an analogy I can definitely identify with in a big way. Software that is beautiful, but doesn’t do something useful is merely an exercise in self-gratification. Software that helps people, but isn’t perfectly elegant, is far more useful, IMO. Doesn’t mean we should strive to be ugly, just that we should recognize that both elegance and utility have their respective places in the world.
Best of luck with your new venture…I look forward to seeing what kinds of cool ideas you come up with!
Regards,
Andrew
Thanks everyone!
Easily the best post I’ve read in a LONG time. I completely relate. I want to use the best tools and techniques but you can only spend so much time on that before you have to "just do it". It’s a frustrating time in the industry.
Good luck with the new venture. I can’t wait to see what you come up with.
You just made the metaphysical leap from teacher to leader. The main difference is, of course, what motivates you. You’ll do good things now. And I’ll support you in any way you need.
@Kevin Thanks man, I really appreciate it!
Congratulations Justin. No doubt DDIG will miss you but following your heart is always the right thing to do. I have no doubt that you will find success.
Congratulations Justin, I’m sure it’ll be a big success. I’ll look forward to reading about your journey.
@Tania Good to hear from you! Hope things are going well! Thank you for the kind comments.
This is the year of self employment, most assuredly. You’re not the first person I respect that has ventured out of the walled garden.
Regarding the leap from teacher to leader, I think that happened long ago personally. You’ve always been a leader to me. A teacher seems to feel their way through the dark, a leader just runs head first and you definitely seem to do more of the latter. Not a blind charge mind you, but a really good sense of direction.
If you’ve made this step, I highly doubt you can fail. You’re another one of the people I’ve casually observed that should have no problem succeeding in doing what you want to do. The greater possibility for failure is doing what you’d rather not do, like live on a cubicle farm. I’d say good luck but I don’t think you’d need all that much of it. 😛
I was reading and reading and thinking "alright the big announcement is… he’s going to play pro basketball!"
Good luck! Enough well-wishing. Build me software I want to use!
🙂
… welcome to the dark side. 🙂
You said a number of things that resonate with me as I’ve been having similar discussions with myself.
Good luck with your endeavors!
Best of luck mate!!
I remember when Nate said that sentence… it pissed me off as well 🙂
But I’m starting to feel the same thing lately: too many discussions of something that should be already given for granted.
Good luck on your new job and at this new stepstone. It will be interesting to see your first product.
Very eloquent post, excellent. Good luck!
>> "But at some point, you have to stop sharpening your blade and just start cutting shit with it."
This needs to be on a motivational office poster.
I’m really happy that you have found better contentment with your work situation and I’m especially happy that you got married. Congratulations!
As far as the software quality, perhaps you’re speaking about other people, but there are some of us for whom the "providing value" part of software is implied — it goes without saying.
Even a junior programmer out of college can provide value, but can they *keep* providing value in that same software over a long period of time.
The reason these things are so important and worth fighting for is that businesses are spending tons of money REWRITING software that was built with *just* value and *not* quality in mind. That software cost them a lot more in the end.
I have heard the arguments you’ve made in this blog post before and they have always rang as "cop out" to me. To dismiss people who care about quality as somehow oblivious to the "providing value" obviousness is a little insulting, to be truthful.
We just have a larger definition of "providing value" than version 1.0. We’re thinking "version 8.0" without having to do 7 costly rewrites because the first programmer only cared about "delivering value" and not also ensuring quality.
Why can’t we do both? Why pit them against each other?
Gah, one important point I wanted to make but forgot:
Software quality *is* part of the value of the software. To dismiss it is to devalue the software and not provide professional value.
Justin,
Your situation resonates with me so much (other than me being as good a developer as you). I could never manage to put it so beautifully as you. I wish you the very best.
Excellent sentiment and follow through, brave friend. Onward and upward! I heart Justin Etheredge.
Know how you feel, sometimes it just takes a major version number change…
May your dreams come true and hoping to join you soon in the journey……..Wishing you all the success …….