Like most of his posts, Tony Stubblebine’s piece on experiments in software services struck a chord with me:
I want to build useful products. I’m glad I know that about myself. Some programmers want to solve hard problems. That’s not a priority for me. Some programmers want the internals of their code to be beautiful. I consider that just a means to an end. And some other programmers just want to be on the winning team, personal contribution be damned (BTW, the winning team often pays well).
For me, it’s the building of the product and the feedback of how and why it’s useful that matters.
Yes. This. Exactly. All of the types of developers Tony describes are an important part of the process, and sometimes the differences aren’t so clean cut: I knew that, for example, having beautiful internal APIs for Elgg was integral to making a useful product and getting good customer feedback, so I pushed as hard as I could for a simple, consistent programming interface. (Now that I’m long gone, I know Brett Profitt is continuing to strive for this.) Nonetheless, I’m definitely in the “making something useful” camp.
I often bring up my opinion that the Internet is essentially a very large group of people wanting to create, share and communicate. People are why I do what I do; I’m not particularly interested in code, algorithms or logic in themselves. They’re all a means to an end. Professionally, I’m never happier than when batting ideas around with people, figuring out what they need, or getting feedback on a solution I’ve built. It feels meaningful.
The whole post is worth a read. His comments on selling software and providing services ring true to me, and are important points to think about for anyone starting their own business.