42! 42!!

No, it’s not. Calm down. You haven’t found the The Answer. What you claim as the best thing that can happen to software development isn’t.

Over the rather few years that (software) programming has ventured out of universities and military establishments and into the hands of the average denizen, more and more people claim to have found the elixir to the woes of developing perfect programs, on time and under budget. Day in day out, blogs proclaim and expound the virtues of the latest solutions — and they sound not quite unlike this. Someday it is a new programming language, someday it is a new development methodology. Oh and new versions of IDEs too.

Don’t get me wrong. I like that IDE too. Well, sort of. And also ruby and agile and scrumm and whatever. Just don’t tell me that your programming language is the best because everything is an object. Or even because it is not, for that matter. You see, creating great software is rarely a result of the development methodology your team adopts, the programming language they choose. Or even the size of offices they sit in (with apologies to Joel). Or because they used Ruby on Rails. Or Glassfish. Or Flex. Or Spring. Or whatever.

No, there is no 42. Every software is a solution to a problem. Each problem is different. The constraints they pose are different. A good designer is one who makes the best trade off, the best compromise between two orthogonal qualities. Tools, libraries, frameworks, IDEs are all tools of the trade — like jackhammers and chainsaws. What makes or breaks a software are the skill and discipline of the people who use it.

Good software is a skillful blend of creativity and engineering. It requires people who have a passion for programming, a desperation to improve their skills, a sharp and intutive mind to analyze problems, and the creativity and innovation to go with it. It’s what is between your ears that matter, not what is in your hands.

You want to create software that people would remember you for? Then learn, and apply. Write code, read about everything related to creating software, and reflect upon them. Repeat. Ad nauseum. Until you get calluses on the balls of your wrist.

If you’re a good programmer, you’ll be one whether you use NetBeans or Notepad. Whether you use GTK+ or MFC. Whether you are married or a geek.

There is no 42. There’s just you.

7 Comments

  1. BJ Upton said,

    Oct 4, 2007 at 3:50 am

    Too true.

    But some things suck less than others.

    Given the suck, it is easy to get carried away, just when something sucks less.

  2. Tony said,

    Oct 4, 2007 at 8:49 am

    I’m married, and a Geek…….Insensitive Clod!

  3. Oct 4, 2007 at 11:49 am

    *standing ovations*
    This was the best thing I’ve read in a long time.

  4. prashant said,

    Oct 4, 2007 at 1:21 pm

    Good post,

    Totally agree with you.There can be married person who can be a geek.Ex: Our Java great J.Bloch,James Gosling etc. Any comments?

    Anyhow good post and yes passion should be there in learning.

    Thanks
    Prashant

  5. Jacques Ledoux said,

    Oct 4, 2007 at 5:43 pm

    I am married, divorced, re-married (sort of), reading everything about software development in continuous loop, well over 42, doing this for last 25 years and…still love it.

    I must say that since few years now, my almost greater passion is to transmit that passion to young fellows. This is even more rewarding.

    Jacques

  6. Oct 4, 2007 at 7:23 pm

    True words! … nothing more to say!

  7. Maik said,

    Oct 4, 2007 at 7:56 pm

    Good post. See also http://tinyurl.com/26xv7j by by Frederick P. Brooks, Jr., an article called “No Silver Bullet”. Software development is hard, and there is no way to make what he calls “essential complexity” go away. It’s an uphill battle, and it will stay that way, no matter the methology, the tools, the language.
    I’m tired of people claiming to have found the silver bullet too. “Use rails and you don’t have that kind of problem”. Bah. I look at software projects, see the patterns, then decide by gut feeling mostly. And then the hard work starts. In the end, it’s always the people and the hard work, nothing else.


Leave a comment