One of the blogs I read is written by Werner Vogels the CTO of Amazon. His latest blog post includes an excerpt from one of Roosevelt’s speeches which I found particularly inspiring:

It is not the critic who counts; not the man who points out how the strong man stumbles, or where the doer of deeds could have done them better. The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood; who strives valiantly; who errs, who comes short again and again, because there is no effort without error and shortcoming; but who does actually strive to do the deeds; who knows great enthusiasms, the great devotions; who spends himself in a worthy cause; who at the best knows in the end the triumph of high achievement, and who at the worst, if he fails, at least fails while daring greatly, so that his place shall never be with those cold and timid souls who neither know victory nor defeat

Being a software developer, I took a lot of this in the context of software development and in particular the concept of shipping software. Software is becoming more and more a background to society as a whole. The number of people who interact with software every day and the number of times software touches their lives in many different ways in every moment of the day is growing exponentially. The effect of software is far far greater than when I first finished my Electrical Engineering degree with a view to getting into Software Development for Industry.

A frustrating aspect of this spread of Software is the lack of appreciation of the cost of developing software. This is compounded by nature of software development in that most of the time you are building on other’s work – standing on the shoulders of giants.  We almost always build on other platforms which are in turn built on other platforms (turtles all the way down). This means that one developer in a particular software area can achieve highly functional results with minimal effort and cost because they are building purely on the work of others. Another developer, who is not walking the beaten path, will take more to achieve very little visible functional results. Is this developer wasting time and resources? Possibly. Or possibly not, if they are creating something truly innovative and not following the sheep. Witness the myriad braying companies releasing tablets at CES 2011 just because Apple proved it’s a great solution in the year before. Basically software development effectiveness is incredibly nuanced. You have to look deep and think beyond the immediate to understand the value you are getting from a software development exercise.

So when I read the excerpt from Roosevelt’s speech above, the context that came to mind was that the software developer that ships is the doer of deeds. We ship software. We handle the complexities and get it done. There’s much satisfaction in this rather than just talking about software. It’s the difference between being a talker and being a doer.