Thursday, August 15, 2013

"Detail Oriented" vs "Big Picture" Programmers

A good friend - an IT manager in the financial industry - was mulling with me the other day on the difference between “detail oriented” and “big picture” people. Well, he was mostly complaining! But he had some deep insights which clicked with programmers I’ve known.

In his own words:

I had to write a job spec for a role I’m recruiting for the other day. Rare in itself these days.

I want someone who can analyse data and stuff. I don’t mean your classic data analyst role, more what is apparently called ‘analytics’.

"the discovery and communication of meaningful patterns in data. Especially valuable in areas rich with recorded information, analytics relies on the simultaneous application of statistics, computer programming and operations research to quantify performance. Analytics often favors data visualization to communicate insight." (<Wikipedia)

I’m not sure how much of that applies, what I guess I really meant is a senior Excel Guru who can actually design and build stuff, solve problems. Oh, and by “Excel Guru” I do not mean someone who can bluff that they know pivot tables. Enough of what I don’t mean … what do I mean?

Being a lazy sod determined to churn out a document that could change some poor blighter’s life within the seven minutes between cups of coffee, I started with a previous job description. I started with the job description for the role I do, in fact, although not that I’d recognise it as I’d never paid too much attention to it.

Scary what you find when you do read these things. Like absolutely all job descriptions nowadays it said at one point that the candidate has to have good attention to detail and on another line that they need to be able to think strategically. All BS job specs say this in one way or another; the ideal candidate has to be both detail orientated and a big picture person at the same time. What a guy. What bollox.

How can someone be both, and still be good? Honestly, it’s the sort of thing that only comes up in interviews and annual appraisals!

Throw away the detail bit, it is nonsense.

People think I’m detail orientated because I spot mistakes and know when data is incomplete. The same muppets think that I’m good at maths because Excel can add up. Being detail orientated isn’t how you reconcile big or involved data sets. Hear me out here, I’ve figured this out.

Reconciling stuff, checking that the result is sane and then zeroing in on the problem is big picture territory.

A detail orientated person would be stuck in the trees going line by line. They might find errors, but they don’t know what the error is that they are looking for.

Whereas the big picture person has figured out that the answer looks way too low because this or that relationship between metrics looks odd. And knowing that the result is approximately x trillion yen out, they can effortlessly zero in on the likely places in the calculation.

And if that doesn’t work, they can retrace the logic of the model, skipping bits they instinctively know won’t be a factor. They pick up errors along the way, and fix them, but at the same time they know that the big problem in the calcs is still out there because they know the size, shape or nature of the outage.

In the meantime the detail dude is still plodding along not knowing whether there’s even an issue let alone what the ripple effect will be of fixing this or that. They followed the instructions, it must be right. If the data feed has crap data in it, it’s not their fault. Right.

</his own words>

This got me thinking about personality types and suitability to programming. I think that detail oriented people likely fit a lot of roles but that programming is not one of them. The compiler itself is your detail-oriented wingman, freeing you to ensure you are solving the problem that needs solving…  Give me a small team of big picture thinkers any day!

Notes

  1. williamedwardscoder posted this

 ↓ click the "share" button below!