This is not a blog. So sue me!


Crikey, things are looking up!

Tuesday, November 27, 2007

Two types of programmers

iBanjo's post and Jeff's about the 80-20 rule when it comes to indifferent-excellent programmers are a bit harsh IMO. It's an exaggeration to make a point I guess. I'm sometimes in the 20%, sometimes in the 80% - depends on what applications, environment, level of expertise, and interest.

However, it brings up something very interesting, which is programmer productivity. I do strive to improve my personal productivity, and tell colleagues about useful tools. As the tools get more and more capable, people get more productive - as long as they can be arsed.

For text, computers allow people to produce more than typewriters which were more efficient than fountains pens which were better than quills. At each step the productivity mapping against the cost of a skilled worker, was to the benefit of everyone (well...perhaps that is arguable; imagine the ink well-fillers laid off when the fountain pen was introduced. :-)

With programmers, a higher degree is not necessary to be able to write a program. We no longer have to enter every character in a form for a data-entry clerk to type in. Or use a card punch. We do our own typing and the systems give us far more leverage than they used to. At the same time, we are encouraged to become lazy with things like memory allocation or cleaning up comments (yes, children, there were systems that only allowed 1000 lines of code, comments included. You have never seen such a sad girl as when I had to strip out all my lovely comments to get that darn thing to take the rest of the code :)

So we are all the more productive, in theory, and there are a lot more of us, and we're producing more...but...a heck of a lot of it is ending up being thrown away. All these startups, perhaps one in a hundred is still going after 5 years*. Perhaps one in a thousand is flourishing**. Most code that is written is being discarded without earning a real penny (I don't count IPOs and other stock market artifacts, I mean real profit for code). I think my most long-lived code was for a hydroelectric plant...embedded in the display panels representing a switch yard, it will probably live longer than I will, but the company I worked for took a big loss on the project.

I am not sure what can be done, apart from contributing to open source projects. That does seem to be a way to give the useful parts of a project to some kind of posterity.


* - unsupported assertion
** - unlikely

1 comment:

Steve Ballmer said...

I like to encourage the NtN's! Good job!

Contributors

St Lawrence Rowing

Test content from SLRC