jonathan.beckett@gmail.com

Most Software Developers are Rubbish

Before anybody throws their hands in the air and starts ranting, I'm going to include myself in the rubbish pile, and I'm also going to make the whole title argument much more complicated.

If we judge software developers by the distance from the metal they typically work, then yesmost software developers are really awful, and there isn't much they can do about itunless they started out writing assembly language, and end up working for a hardware company.

I guess I should explain.

In the corporate world, software development projects are typically built by the lowest bidder inthe shortest timeframe. The time will be hilariously shortened by clients arguing about proposed features until the initial deadline has already passed. To combat this, the commercial software development world uses high level languages, rapid application development tools, and pre-built toolkits to slap together unholy mashups that reduce monumentally powerful server farms to tortoise like behemoths dipped in molasses.

The real craft and skill in software development happens closer to the metalin the lower level languages where complexity is unavoidable. The guys writing Javascript, C#, and Java live in a blue sky utopia, high above the clouds, where they ask the system for anything they like, and the layers of lower level code written by a forgotten army of geniusesautomagically grants their wishes.

Some might claim that the algorithms they have designed in high level languages describe the same inventiveness, beauty, and elegance as any code mightthat all code is equal. They forget that lower level code picks theirs apart, makes sense of it, gathers resources for it, manages it, and eventually discards it. Code that runs code. Code that compiles code. Code that eventually talks to the hardware and turns the virtual cogs of the mighty machine hidden in the haze below.

The next time you're drumming your fingers, waiting to see if a word processor mailmerge macro does what you expected or not, give a though to the many thousands of giants you're dicking around on the shoulders of, and the colossal waste of resources the incredible machine beyond your fingertips represents.