Driving our bosses crazy
It must really suck to have to manage programmers. I'm not sure if it's any different from any other type of quasi-artistic technical type trade, but it definitely sucks for programmer's bosses.
We are terrible at estimation. Of course, that's because it's near impossible to accurately estimate how long it will take to meet an arbitrary and changing spec, with the full knowledge that when it's done it won't be actually done. Especially if time is an important factor in the project, we try to rush it, which causes more issues, which makes it take way longer.
Managers need us to be able to somewhat accurately say how long a project will take, but we can't do it.
We never focus on just one part of a problem. Instead we take a holistic view of all of the components which go in to it, no matter how large. We consider our projects in the context of the whole app, the organisation, the industry and the internet. It's one part of a beautifully constructed and fragile system and it should seamlessly fit in.
Managers need us to focus on one task, do it, then move on to the next one.
We hate cutting corners. If we do, we know that it will come back to bite us, we will need to develop some new feature, and it will all blow up at a later date, or that we will be stuck supporting some bodgy patch and spend an eternity working around it, rather than just thinking it through and programming it properly in the first place. Even if the deadline was two weeks ago.
Managers need us to work to deadlines, even if that means cutting corners sometimes.
We demand trust from our managers, on day one. And they have no choice but to give it - they can judge the UI, or put in a QA team, but ultimately they have to trust us to do a good job without ever knowing until, usually, it is too late.
Would you trust every programmer you have ever worked with? Would you trust any of them on day one?
We are constantly wanting more, a better culture, a ping-pong table, friday drinks, comparing this job to everything else which we think is out there or we have read on Hacker News, it's a programmer's market - apparently, and we love to let our managers know.
So they end up with a bunch of ungrateful, trust demanding, perfectionist programmers with attention deficit and who can't estimate their way out of a paper bag.
I think we might need to cut them a little slack.