Should managers know how to code?
scottberkun.com
scottberkun.com
When I did my first software startup I had no idea how to code, but since I'm pretty good at convincing people, calling bullshit, diplomacy, etc. I managed to get funded and got together a development team. I thought I had a pretty good grasp on what needed to be done, timelines, etc.
Fast forward some years. I've learned to code (Not a genius by any stretch of the imagination, but I know the basics) and I simply cannot comprehend how I could have managed a software company without knowing how to code. There are so many things that seem obvious now that I completely and utterly missed that it's amazing we ever got anything done.
A rewrite of Eric Raymond's famous quote captures it pretty well: "As a manager, coding is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better manager for the rest of your days, even if you never actually code a lot."
I've always had a lot of respect for people that know stuff I don't and if they have good reasons I'll go with their judgement in their area of expertise. But it's a lot easier to engage in a meaningful conversation when you actually know what you're talking about.
The last 2 years saw me working under someone who had been programming for a living for many years. While he was, by his own words, a bit out of his prime and behind the times, the difference between working for the two was night and day. Deadlines became more attainable, requirements became more realisitic and when difficult decisions arose we had someone who could go to bat for the IT department as apposed to someone who always sided with the "sales" portion of the business.
In my mind, anyone directly overseeing a developer should know how to program as well. In small organizations and start-ups, that's not always possible, but if you're somewhat established and you have an IT/IS director, manager, CIO or what have you that can't program a lick .... I think there's an issue there.
Does this mean that managers should be promoted from within the ranks of programmers? Yes, that's exactly correct. Should managers be "non-technical"? Absolutely not. It just doesn't work.
So you're saying then that it has never worked? That's a pretty big assumption.
I am non-technical and I think I fit pretty well with B) in that article. I always said that even if I did not /understand/ programming I certainly appreciated it. That meant I could appreciate how difficult something would be to implement, whereas those non-technical people who did not appreciate programming (my superiors) would ask for something they thought was simple then go ape when it wasn't implemented immediately.
I would spend hours locked away with my programming colleague while I explanied the business logic for what I needed, he would map out that database concepts. Eventually I got a pretty good appreciation for databases.
I'd admit it didn't work perfectly - as a first-timer and more or less accidental project manager I allowed us to over-complicate the project. Were I to do it a second time I would be much better at KISS.
Based on my experience I would have to say it is incorrect to say it "just doesn't work".
Your personal example is the story of someone who was extremely sensitive to what they didn't know, made very careful allowances for it, and in the end found out that picking up some technical knowledge was pretty much an unavoidable side-effect.
When I read "non-technical", I don't think of a brand new manager who hasn't yet gone through that process. I picture someone who has managed to stay non-technical by not having that acute sense of what they don't know, not making those allowances for it, and as a result, completely avoided the osmosis of technical knowledge.
Your "avoided the osmosis" part is essentially correct.
The problem is that most managers with only one perspective don't seem to appreciate what they're missing, think they're a good manager anyway, and often receive positive reinforcement of this illusion when the side they do understand (and probably support too much, at the expense of the other side) praises them.