soft blog — The Career Programmer: Guerilla Tactics for an Imperfect World

Software has a reputation for being difficult to build, rarely working properly, and many abandoned projects. Yet software engineers have techniques for producing reliable, high quality software that does what it says on the tin, every time. So why the difference?

Most commercial software development environments are insane. The average ‘Suit’ controls the money, controls the purse strings, and uses that power to prevent engineers getting the job done. Why? And what can you do about it? Duncan tells you.

I’ve built software in many commercial environments, and I can attest that the insanities described in this book are real and common. I’ve long since followed the tactic of charging by the hour, so if the suits are stupid enough to bugger up software development, and they usually are, then at least some of the financial consequences end up in my pocket. Furthermore, all I allow myself to care about is doing quality work. I dare not care about the overall project, because these idiots habitually prevent it being achieved. If I cared, I’d get depressed.

But what if you’re one of these guys who does care? What if you’re stuck where you are, and you can see the idiots’ usual stupidity will force you to work insane hours in a few months time? Grab this book. Duncan’s been there, done that, sorted it out, written it down. He describes juicily devious tactics and strategies needed for you to keep your home life, and get results.

But, as Duncan shows, the Suits are not actually being stupid. Yes, they are being ignorant of your world, but you don’t understand their world. They’ve got the power, the money, they pay your wages, so you’ll have to manipulate them on their term to get your work done. Well, alright, they are being stupid, but they’ve got the power, life’s a bitch, deal with it, here’s how.

I spent a lot of my youth playing big–P politics, where I learnt to detest political games for their own sake. I developed small–p political skills, now put away in a mental box marked “for emergencies only”. Well, I peaked in the box while reading this book, and I believe the trickery Duncan describes will work. But the irony is he advocates the same tricks the Suits use, so in the end you’ll go much of the way to becoming one of them. Is a home life worth that? Of course it is!

You know another interesting thing about this book? There’s real life in here. If you’re thinking literature, if you want a real environment where people care, need each other, but haven’t a clue, here it is. If you want to work out what your characters will do, what drives them, how they get results, here it is. If you want motivation for dastardly deeds (which Duncan doesn’t even mention, let alone advocate, apart from the chihuahuas), here it most certainly is!

You know, companies that do things properly get results. Companies that don’t, they just screw up. If you make yourself aware, and do something about it, you can turn the failure round, despite the best efforts of the idiots with power. People up top notice. Now whether they’ll fire you or promote you, that’s another issue, and Duncan deals with it. But if they fire you, they’re a bunch of tossers, they don’t deserve you. If they fire people for success, they’re going to fail, and you’ll be somewhere else when they do.

Not every commercial software environment is stupid. I’ve worked in companies that understand how software is actually built. These are the companies that produce the products people use every day. They are successful. If you’re very, very lucky, you’ll work in such companies too. But if you don’t, and you won’t, and if you care, buy this book.

This book is well–written, sparkled with Duncan’s humour. His prose is enjoyable and carries you along well. He’s found a good balance between getting facts and ideas across, and keeping you entertained.

If you’re a software engineer, and you want a life, buy this book.

The Career Programmer: Guerilla Tactics for an Imperfect World
Christopher Duncan
ISBN 1 59059 008 2

ancient front