Monday, 17 October 2011

I'm a programmer not an engineer (by K)

I started in the IT industry in April '77.
Wait. What? Oh I already did that.
Is it someone's birthday?
In the old days ("When dinosaurs ruled the Earth!" as my hubbie likes to say) programming was fun.
It was tough and weird and awkward and you had to do things like "Mel" did, but it was fun.
Then the Computer Science and Enterprise mob got involved.
Now we have Factories and Builders and Decorators and Facades and Commands and Observers and what not.
Wait. What?
Working in factories as a builder and decorating a facade under command while being observed isn't fun.
Programming seems to have stopped being fun.
It's all been tele-tubbied - like XP I guess.
And now if you call yourself a "programmer" it has this air about it that sounds small.
"No," they say, "You're an Engineer!"
No I'm not.
I program - ergo I'm a programmer.
Just because we have these consensual ideas with engineering names doesn't make a program as 'real' as a Factory.
And don't start with the "If you unplug a factory it becomes just as useless as an unplugged computer" stuff.
I've had to use the moniker "Engineer" because if my title was "Programmer" then my job prospects are lower than having "Engineer" in the title.
Regardless of the fact that I've been doing this for 34 years.
Having said that, configuring Eclipse often requires engineering skills...
And so now many programmers call themselves engineers.
Why? You don't build bridges!
You get paid to think and find out how to get a bunch of pixels to run around a screen in ways that make money for your bosses.
And it's supposed to be fun - at least in my view.
I see programming as creative and imaginative and fun.
It seems to not be as fun now.
For example, Harry Potter waves his wand and utters some incantations and makes something out of nothing.
Programmers do the same.
You wouldn't call a wizard an engineer would you?
Would J.K.Rowling have written this:

  WizardManager wizard =;
  ApplianceFactory applianceFactory = wizard.getApplianceFactory();
  Wand wand = applianceFactory.getWand(BasicWand.Type);
  SpellFactory spellFactory = wizard.getSpellFactory();
  Spell spell = spellFactory.getSpell(Charm.Accio);
  Incantation incantation = wizard.join(wand, spell);;

Just to have Harry pick up a box?
You've gotta be joking.
But we ARE wizards (and witches) in a way.
The wands are our laptops and desktops and our incantations are the code we bring into being through force of will.
We face an empty IDE and produce marvellous pieces of software out of nothing.
We're not builders.
We're not factory workers.
We're programmers and wizards and witches.
Think I'll change my title to "Senior Software Enchantress"

1 comment:

  1. Wonderful put up, very informative. You must continue your writing. I’m confident, you’ve a great readers’ base already!