Bear in mind that this from The Register whose audience is much more skewed towards those working in large corporates, BOFHs and PFYs than the typical audience here.
For me the key sentence to the whole article is "Your boss has no idea if you’re good at your job." Why do we do such a bad job of developing people who are good managers/leaders AND understand technology? There seems to be this idea that IT folks are "special" and don't understand business and, because it's always been that way, there's no need to change. If you work for a business, it's not OK to be a not have a clue how a business works.
>Why do we do such a bad job of developing people who are good managers/leaders AND understand technology?
From my experience I think the issue stems for looking at management as the next rung on a ladder. A good developer might never gain or want the experience needed to make her a good manager. A manager might never learn what it takes to be a developer. But the idea of moving up to management ignores the real issue.
Management relates to handling people and handling projects. If you can't deal with people enough to understand how they fit into your project you manage poorly. If you can't manage a project well enough to use the people you have, then you manage poorly.
The skills to manage, and the skills to be a developer/engineer/designer/widgeteer seem, to me, orthogonal. I could write code for ten more years and never learn a thing about management.
The best run tech project I ever worked on involved a PM who could still remember the Great Depression. She had the ability to ask the right questions and had a clear picture of how to move the project forward. The worst managed projects came from the PM who used to code.
But there's no reason a good developer can't be a good manager. They may not have the skills in their current role, but everyone should be able to acquire those skills.
I see no problem with developers becoming managers in theory. But something goes wrong in that transition. Management skills are just like learning any other skill. Skill-learning is something that developers (or the good ones) typically excel at. So why can't developers learn management skills?
I'm a middle-of-the-pack developer that is trying to become a manager.
My first step was taking up managing courses, and an MBA adapted for technology (MMOT).
I believe I've learned a lot of management skills and that they will help me when I make the jump, but I also agree with crasshopper that "empathy, listening, communicating clearly/fairly, inspiring people, making people feel valued" and other "soft/people" skills are skills you don't learn either as a developer or in management school.
So, my answer would be: developers can absolutely learn management skills, but some of them aren't taught in classes.
That also makes it harder to break into management (haven't succeeded yet, employers want people with experience, over qualifications)
I agree with you that any developer who is curious about the larger reasons their paycheck arrives in the mail can & should learn how their business works.
But so many management skills -- empathy, listening, communicating clearly/fairly, inspiring people, making people feel valued -- are orthogonal to programming knowledge/skill.
Do you think? I'm not sure. Speaking as a developer who is now a manager, they're certainly not skills that came naturally but I think I have learned them and practice them fairly well.
Maybe I'll never be the natural that some people are but, with hard work and forcing myself out of my comfort zone, I am doing a good enough job.
"orthogonal" just means "uncorrelated" - not "inversely correlated". Your OP isn't saying those skills are automatically absent in people who code, but rather that ability to code has no bearing on your ability to manage - and vice versa.
Anecdata: I was a programmer transitioning into management. In my first "management" role, I was successful, but I had to fire some people. I went back to being purely technical as soon as I could because I just don't want to do that again.
"But there's no reason a good developer can't be a good manager"
This is very wrong. They required very different skills and personality. Promoting a good developer to management role may hurt the developer himself and eventually destroyed the project/team. My personal experience though.
Many developers aren't good with people. It's the reason they got into development in the first place. Personally, I spent my teenage years in front of a computer 99% of the time.
I'm now in my 30s and it took me years to acquire good people skills. I could be a manager, but I'm running my own company instead, which utilizes all of my skills.
"Why do we do such a bad job of developing people who are good managers/leaders AND understand technology?"
I know people that are really good at both, they exist and I personally know some of them. It is a pleasure to work with them and they create good teams. They group in clusters, they want to work with people like them.
People like Elon Musk(he was a was programmer, studied physics and business degrees) or Mark Shuterworth are famous and rich but there is also a lot of them around if you know where to search, people that understand technology and people. Try to deceive them with BS!
A lot of people are not so lucky though to work with them. A company have a soul and a culture. Once your living environment is stale you start to believe that is THE world, and your survival skills make you to adapt and become part of the problem yourself, like this man cynic strategy(he uses it because it works in his contaminated environment).
"Why do we do such a bad job of developing people who are good managers/leaders AND understand technology?"
because there is the opposite fallacy which is also derided: the one where the best engineer in the team is promoted to be a manager and in turn no longer does much/any development work.
The bottom line is that while there are great people out there, most people are average or worse (bell curve 101, sorry) and they end up progressing up the career ladder too.
Even the best engineer on the team should understand how the business works though. There's more to being a good engineer in a business than understanding the technical side.
I tend to see people on three paths - they're an engineer and they want to keep coding and getting rewarded for that; or they're an engineer who wants to manage process and people; or they're an engineer who wants to focus more on architecture and design. The person you want to "manage" is the second one - they've a working knowledge of how the tech works but they're actively developing their leadership skills.
Leadership skills are no different from any other skills - they can be learned. In some cases people show more of a "natural" skill in that area but that doesn't meant that it can't still be learned - it'll take you out of your comfort zone but you don't tend to advance unless you do that.
For me the key sentence to the whole article is "Your boss has no idea if you’re good at your job." Why do we do such a bad job of developing people who are good managers/leaders AND understand technology? There seems to be this idea that IT folks are "special" and don't understand business and, because it's always been that way, there's no need to change. If you work for a business, it's not OK to be a not have a clue how a business works.