Fear of Ignorance
randfishkin.com
randfishkin.com
A lot of managers believe their job is to make decisions, and a lot of employees even encourage that. But technology decisions often have subtle, far-reaching implications. So when managers make decisions they shouldn't (e.g., picking a toolset, or outsourcing a project, or simultaneously fixing resources, scope and schedule), they end up thoroughly screwing the developers involved. But if none of the other managers understand the tech either, then managers can happily blame the devs. Hands up everybody who has seen that?
Software is almost unique, in that it's a collective intellectual work that is expected to function and grow and change over many years. The only close equivalent I can think of is legal code, but I think software is worse in that legal code is made to be interpreted by humans.
The only non-technical managers I've had that I didn't at least briefly consider murdering were the ones who, like Rand Fishkin, were comfortable admitting ignorance. That let them leave technical decisions to the techies.
My company had non-developers make these decisions and we paid the price. We were an org of PHP and Python developers "forced" to switch to C#/.NET (At the request of two technical-ish, but non-developer VPs) It really sucked because the teams expert knowledge got wiped to zero and we had to spend several months learning new tools while also keeping our original deadlines. At the time, I jumped at the opportunity to explore something new. Ultimately however, it was bad business and continues to cost the company money as nothing we were doing received any direct or indirect benefit from being done in .NET. The only difference was we worked slower and produced more defects.
A manager's job is to make sure his/her employees have the facilities that they need to get their jobs done. They shelter employees from political bullshit, provide them resources, and enable them to make the decisions they need to make. When necessary, they also facilitate/broker conversations where wrinkles need to be ironed out.
A very large problem I've seen with technical managers is there are those that think they know everything and need to provide technical input (or insist on actually coding). More often than not, they think they know more than they actually do (and often refuse to acknowledge their weaknesses). This has provided me more headaches than non-technical managers not understanding what I am working on...
For myself, I've been in a number of senior roles in the past several years, I have my opinions based on knowledge and experience, but I know my limits. I try and encourage those around me to be open about their thoughts/challenges. I would rather take the time (bounded) pursuing a dead-end that someone else (less experienced) proposes, if it seems reasonable, than denying the investigation if I had an opinion based on stories/limited experience.
In general, I always learn from listening to others -- more or less experienced. A good manager will do the same, listen to his/her team, and facilitate their input/and growth.
What's the name of the startup? It sounds very cool.
The greater myth is that "technical" people must lack "soft" skills. If you go beyond anecdotes, software engineers on the whole are more likely to be married & enjoy happy marriages, less likely to get divorced, have long lasting friendships, communicate honestly & care about others, are more likely to be engaged in politics and charities, etc. etc.
Likewise, engineering & building large software systems together (or any machine of complexity...), requires a great degree of communication & cooperation, thus it is no surprise that software engineers on the whole are actually pretty engaging people & have good communication skills.
It goes (almost) without saying that the only reason I can
afford to be non-technical is because I’m surrounded by a
bunch of geniuses.
His points are valid, but if you're a single non-technical founder, it can often be hard to even know whom to surround yourself with if you lack the ability to evaluate them in the first place. This point is not made very apparent in the article.As the leader you are responsible for the results of the project - and if you don't understand the technology, you don't understand the risks of the technology. If you don't have an A+ team, they might be doing the wrong things and you wouldn't know. I'm talking about bad architecture, bad technology choices, full dependence on one developer,..
I would also agree with the author that a technical background helps.
It seems to me that without a technical background it's possible to make an incorrect appraisal about problems with tecnical projects.
For example, the product is incorrect or late. Why?
As a manager you need to determine a belief on why things are problematic and how they can be improved.
There are a lot of possible problems. If a non-technical person gets this incorrect it can have very negative consequences. It's a minefield that is typically, though not always, better traversed by people with technical skills.
But in the end, technical knowledge is just one pillar. You also need strategy, management and ops to build a successful company. Rarely can one person bring all these to the table, instead you put together the right team of founders and employees to cover the essential skills. As long as you have a strong tech team whose knowledge and wisdom is feeding into the core of your decision making process then I think a CEO with more hard business experience is probably an advantage. It depends a lot on the company though.
As far as I heard, this attitude is currently killing Google. Google has lots of MBAs to manage hackers and it really hurts Google.
Rand is not a moron, nor is he advocating management by morons. He's not an MBA either; he's a self-taught college dropout. He's saying that company founders who are nontechnical should be humble but not ashamed.
Google may have faults, but hiring MBAs to manage engineers is certainly not one of them. The engineering management hierarchy is almost exclusively extremely technical.
Self-taught and nontechnical are two different terms. In real world scenario, self-taught people often associate themselves with "technical".
What I don't like is to be bossed around by puffy people with ZERO self-insight and INFINITE delusion.
1) I need to have a degree in Engineering
Well not really...Myself and all the best programmers I have known have learnt very little from educational institutions than they have from man pages.
2) Little Knowledge can be dangerous
Yes...it can be but noone is asking you to be en expert....by learning the basics you will only begin to understand the complexity of the problems being solved and will learn when to open your mouth and when not to...saying things like "lets move to the cloud" or "lets do this in an agile manner" without having a clue only makes you look bad!
3) It is not my cup of tea.
Noone is asking you to become Linus Torvalds...at least try to know as much as some kid in high school would...If you dont have the thirst for knowledge to begin with,you are in the wrong business!
What utter nonsense. The theoretical difficulty of pop-economics books like Hayek's Economics In One Lesson or The Road to Serfdom is less than Teach Yourself Programming In 24 Hours. That's not meant as a slight on any of those books or their authors, but your comparison is so inapt it beggars belief. The mathematical prerequisites alone for reading TAOCP are so significant that Knuth had to write an advanced undergraduate and graduate-level textbook (Concrete Mathematics) to equip students with even a small subset of the tools required.
s/Hayek/Hazlitt/