A CTO should be technical
blog.southparkcommons.com
blog.southparkcommons.com
People who work full-time as developers spend hundreds of hours practicing leetcode and hackerrank so that they can pass the interview, but a CTO who's 5 levels above and hasn't logged to Github for 3 years should excel at it? Come on.
I agree with the premise of the article, CTO should be technical, but I don't think that "technical" and "great at coding" are the same. One of the best CTOs I've had came from a product background. He was technical enough to understand the technical discussions and he was able to support his directors in hiring plans, technical decisions etc. but he wouldn't pass any coding test more complex than FizzBuzz. Still, he was great at his job.
What sort of person do these exercises? Is it fresh college graduates?
They feel very much like the sort of thing you use in an environment where you've got way more qualified candidates than you have open positions, so you're optimising for screening people out. Certainly not a place I've ever been in over here, where the norm is to be desperately looking for even one qualified candidate.
I also at the same time, interviewed with the fastest growing startup in the area, who had way better comp, slightly better benefits, etc. They asked me to do a take home homework assignment that would've taken like 20 hours, so they could see how I work.
I ghosted the second contact, and after another round of interviews, accepted with the first company, and I'm by far happier with my work and the respect given to my input at this job than any previous one I've had. I'm certain that wouldn't have been the case at the latter company.
I truly believe that once you are beyond the junior level, interviews really are a two way street, and you should jump with the utmost caution unless you already dislike where you are.
Knowing more about an entire system and architecting it requires a lot of variety of experience and it's just a more fun interview for everyone involved.
When I interview people, I also hope I'm assigned to conduct our architecture one because it really makes you learn a lot about an engineer.
I was able to answer the question. Many did not, but the process was more about how you handled yourself through the process, how you communicated with the interviewer as you walked through the problem, than it was about reaching the actual solution. I know several people, bright people, that were hired there even though they never solved the puzzle.
After I got the proper solution, I asked the person that administered the quiz "Is this an indication of what kind of code gets written here?" He just started laughing and saying "no, no no". Because I would not take a job at any company that actually wrote code like that.
That interviewer ended up being my first manager, and we had a good work relationship. It was a great few years of my career.
I'm 11 years into the profession. Solving leetcode is somewhat different from the problems I solve at work, so I struggled at first and had to practice, and practice a lot. I have yet to find out how useful this is outside of job interviews, but my brain started to forget some topics from CS after doing so much web stuff and it was a good way to remember these and practice problem solving.
Also what constitutes an awesome GitHub? Because unless you run a project with > 100 stars it’s little more than academic and doesn’t matter.
At my current company I'll probably pay less than half as what you'd make at a "nice" company though, so maybe you won't interview with me anyway.
Thankfully, where I live, most companies don't really ask for hard-core algorithm questions - if they did, I would never get a job, as I really suck at these.
It started with big tech companies, but I’ve also seen smaller or less prestigious companies doing that, too. There’s a whole small industry around the big tech interview preparation.
And it’s not only for fresh grads - a year ago I interviewed with some SV companies for senior positions (including EM) and I had to go through Leetcode interview as well
I don't at all believe I magically got 10x better at coding though... just 10x better at recognizing and remembering patterns.
I think the best type of interview for everyone is the "walk me through X" type. You can almost always spot BS in those and if you can't... should you even be interviewing? I would 100% rather have someone that knows how to glue pieces together vs someone that is good at leetcode... don't get me wrong, I'm amazed at how awesome people are at it and I've met people who excel at both... but I feel its just too weighted in interviews.
You're a good programmer if you've made something good. Most people who are good at leetcode have never made anything significant. When is the last time you saw someone who is well-known for some successful product linking to their leetcode account?
That's not playing is safe, though, that's playing it wrong.
If the cost of interviewing candidates were zero and the was an infinite supply of actually good programmers, then it would be fine to err on the side of many false negatives for the sake of avoiding false positives, especially since the cost of false positives is high.
But that's not true. You pay a price for every interview, and pay a further price for every day without the qualified help you need. And you're probably in a competitive market -- a relatively small delta between you and your competitors' hiring efficiency might mean they get almost all the good candidates while you get almost none.
Anyway, like I said, any half-decent CTO should be able to fix such an obvious mistake. Hiring is a high-stakes move and it pays to be picky, but it really doesn't pay to be dumb about it.
Just based on my personal experience, I doubt very many people beyond junior or entry-level are going to study leetcode exercises, so you're walking away from almost everyone useful past that level.
Maybe you could give people a choice of problems only good programmers could solve, but of different types, and let them choose the one they want. Leetcode, sure. Or: here's a windows system and windbg, tell me what's wrong. You've doubled your chances. Spend some effort to come up with five or six or seven different ones and you might have something.
Effectively we have switched from quantitative to qualitative where the questions are similar to start but because of the fluid nature of conversation, drift further from other candidates.
amount of data to be stored. Amount of traffic / users. Amount of servers and services you need. Architecture, scalability, infra, etc etc.
Where is 99% of the cases a small group of people would suffice, no micro services, and in terms of infra, a cheap VPS is more than capable enough.
People just don’t have a clue, bc they don’t understand what actual work needs to be done.
I dont care about your skill if nobody gets along with you. You will be the reason top tier talent leaves. A good engineering team is the one where everyone gets along. Everyone has memories of working with toxic people. Imagine if you replaced all those toxic people in former jobs with people you got along with. Would you have left at all? It makes a huge difference.
Of course has to be technical, hast to have a huge background in development, and been in many of the areas he will oversee... but you cannot ask him to excel at every one.
Since July of this year I've been CTO for a small games company, I've worked in this industry before in a more specialised role but this is much broader scope.
I've gone from being responsible for 1 person to 10 which will likely become 50 by the end of next year.
I'm terrified.
I'm terrified because I feel like I will let my reports down.
I'm terrified because a lot of the work I'm doing lacks transparency, how do I tell my compatriots about things that may not come to pass, especially deep political things -- and the amount of work necessary to onboard/offboard people, about "strategic partnerships" and why they're taken, or not taken or any of the hundreds of other things which are changing direction 3 times a day each.
I am technical, deeply, passionately technical.
I will not do service to people by being technical, my days are too fragmented, my worries too broad, it's impossible to dig into a small focused problem and give it the treatment it deserves - and even if I could then I'd be dooming one of my colleagues to maintain it forever because I couldn't possibly..
My being technical is good because I know the problems and I know what can make people feel valued; I can give people autonomy and direction and I can understand when help is needed and how to give it.
However, almost nothing in my work is technical, it's all presentations, discussions, breakdowns, timelines, contracts and negotiation.
The most code I write now is to do cost reporting.
My most frequently accessed cloud console pages are the billing sections.
This is not fun at all (and frankly, I didn't think it would be); but I fear what will replace me if I leave.
*I have never worked in games.
So you'll never retire or die?
A skilled replacement might just appear at some point or the parts of the executive level they're fearing the most might leave. I've never seen a company without any changes in management personell over a decade.
Right? I've had this conversation with so many techies-turned-leaders. The way I look at it, managing means I've given up my chance at doing the fun work so I can create a context where other people can get shit done in a way that's effective and rewarding.
That does require being very technical, because you have to have a feel for the work and the issues. But it also requires giving up being very technical, because you just don't have the time or the headspace to get lost in a good problem.
It's a conundrum, and it's why Charity Majors' "Engineer/Manager Pendulum" resonates for me: https://charity.wtf/2017/05/11/the-engineer-manager-pendulum...
The shitty ones:
- Either never built trust or broke trust.
- Were impulsive and reactionary.
- Didn't rely on the expertise and skills of their reports as much as they told them what to do because they already knew everything. Didn't ask questions. Gave orders.
- Literally used the words, "because I said so".
- Believed that they were the only one doing any real work. Used the words, "easy" to describe work that was assigned to their reports.
- Were very insecure - questions were often received as challenges to authority.
- Set in place policies which they were the first to violate.
- Their actions and their words disagreed.
- Lost their best people within a year.
There are a lot of "person who did everything" types who end up in leadership positions who try very hard to continue doing everything of any importance instead of appropriate delegation and leadership instead of control. I've had that problem, it's hard to let go.
All their direct reports just seem to accept this lot in life, everyone else does their best to avoid drawing their ire. I imagine that maybe something will happen and they will get the picture and actually grow as a leader. It's growing old though and I miss being on a team wherein this wasn't the day to day morale.
Maybe they'll read this. Maybe it's you. Please take this seriously. You could do better.
Be proactive, send them a link.
If you love technical work, QUIT being an exec, a VP, a manager... do the work.
You WILL have a crazy time getting back into tech work, after 10 years, even if you were hands on the whole time.
Management / CTO and everything in between is best served by people who are technical, and are ready/aware/willing to move into a deeply political and financial driven domain.
I hated it, but it took me a years to really let that sink in and feel it hurting me.
If you can short circuit that wasted time. Do.
Being on the other side of the fence has really helped me move around, I still to sysadmin/DevOps type work but mostly moved into product and I've found it really helps.
Too many C level see product as only UI/UX and the teams I manage appreciate my understanding of the pain points for everyone
Equally a good manager with average tech skills can do everything opposite to this list with the help of technical advice.
Sure we'd all like a great tech guy who somehow is also a fantastic manager. But let's accept those are rare.
Next best is a great manager (emphasis on good, not bad) who listens well and takes advice regarding pure tech matters. Over time their tech will improve (remember, good manager) but in the meantime IT flourishes.
Only then comes a great tech guy with poor management skills. Frankly poor management will kill a team faster than good tech skills can save it.
So yeah, as the article suggests, a great all rounder would be the best option. But I feel there aren't enough of those to go around. In that case I'll take a good manager over a good techie all day long.
Raw dominance is the dynamic governing primitive social animals.
Chimps are a bit smarter, and would collaborate as a group to beat up alphas that they hate.
The group is smarter, than an individual's dominant strategy.
They'll collaborate as a group to embarrass and undermine and quit that scene.
There is one exception that comes to my mind with "real" Alphas and those are Gorillas.
Fully agree on everything else. Additional caveat, I have a supply chain and logistics ops background, so a completely different environment to design and development.
Good leaders know to tell those appart, and professionals can accept it. Unfortunately, this combination, good leaders being in charge of professionals, is rarer then I'd prefer.
I explained every piece of rationale I could come up with for why the team chose to do things the way they did. I offered to schedule team discussions for her to try and convince the team to adopt other strategies, with the understanding that if the team didn't want to do things her way that would be the end of the discussion.
It wasn't the end of the discussion for her though, she kept complaining. Eventually I just had to say "that's the way we do things here so you have to get on board". It's awfully close to "because I said so", and I hated saying it, but I exhausted every other avenue I could think of.
She wound up giving her notice, so I guess we were on the same page because I was working with my manager on letting her go. But if she had been able to keep her head down and do the work we would have kept her for sure. She was a good coder, good systems knowledge, just really didn't like writing unit tests I guess.
Most people, given explanations, will accept them even if they don't agree with them. And quite often they will realize that there is more to the issue than they originally thought.
A coach that never played can't teach.
As well, the requirement for "must hit X bar of quality", where X is some arbitrarily high level, is nonsensical. If they're so good at building quality products...then why aren't they doing that in the first place. Necessarily, your best builders should be builders, and your best managers...should be managers.
> motivate their players
These are made so much easier if you have "played the game" that you pretty much end up back to the original argument of it being a requirement if being "a coach" to remain competitive. There of course will be outliers to this, like your aforementioned "coach that never played", but why deliberately base your point on an outlier?
> "must hit X bar of quality", where X is some arbitrarily high level
Quoting myself, I said "of quality", i.e. something that is reputable and, relative to some reasonable and well-known industry standard software development principles and benchmarks, of quality. I wouldn't say it's totally arbitrary.
Transparency is not your job. You're job is to keep telling your reports that everything is on track no matter what everything else is just "rumors". If you don't they will start getting anxiety or looking for new jobs instead of pressing on. This could actually be the difference between what makes things fail or succeed. You're job is not to be transparent or honest. Its to make sure everyone stays productive and on track. This will 100% require lying or being non-transparent at some point.
>My most frequently accessed cloud console pages are the billing sections.
Lol yep.
Eventually some of those reports will hate you as well even if you do everything perfectly. Its inevitable from being in charge. You may not find out till running into them years later and they just shrug you off when you try to say hi.
I think I was good at the job, though of course I'm biased but even looking back there are very few things I would change. I really did try and will never feel like I was inadequate even though the company eventually did go under due to bad investments the owner made.
> You're job is to keep telling your reports that everything is on track no matter what
> This will 100% require lying or being non-transparent at some point.
Following this advice is another way of loosing employees, at least I'd leave a company quickly if the CTO started lying about potential problems not being problems.
In the end, depends on the company. Usually the company I've worked in, have valued transparency, so employees can decide themselves if they want to continue working there or not, when there are potential issues.
Not sure who it'll be good for if things are delayed in a project, you might be able to ship a good product but then the executive team is all like "Noooo, what you're hearing is just rumors, everything is fine and all will be good when we release".
Absolutely. In the case of someone saying a clear problem is not a problem, we have a few cases:
The first, they're lying to me, in that case they're dishonest and I dont want to work there, they're probably just covering it up to make some money and then move on when things fall apart.
The second, they're incompetent and actually don't realize it's a problem, why would I want to work for someone who's bad at their job.
Probably others but I can't think of them
Well I've literally been in the position where this was true to close a deal so we could stay in business. What would be the best option in your opinion? Risk a critical person leaving right then and loosing the customer and then losing everyone job? Or lying and telling them we are all ok just keep on doing your job and don't listen to rumors?
You are espousing false virtue/armchair quarterback. Real life is complex and lying can save many people jobs.
But I can acknowledge there are cases where transparency is simply not an option.
Is this not a reasonable way of approaching it? It seems to be simultaneously honest and empowering. What lie is necessary?
EDIT: slight revision
For the record I gave 100% of bonuses I had awarded to my staff and 0% to myself the entire tenure.
You need to read that sentence again. Your comments are very revealing about you and not about CTO level work as you are imagining.
If you get a big enough group of people there are going to be some people with machiavellian tendencies or at least some that read bad advice on the internet about how to get ahead at work and try to apply it with clumsy gusto. You will look like a real fool to your boss the CEO if you are giving information to these type of people and they try to use it for their benefit.
I may be painting too dark a picture due to the focus the comments have on a single sentence. Overall I had good relationships with the vast majority of people that worked for me. I know this because I still have contact with most of them even though we have almost no chance of ever working together again. You are deluding yourself if you think there are no bad apples out there or that people having problems in their personal life may try to pull manipulation at work to get ahead or however they see may solve their problems.
Please don't put words into my mouth.
I'd rather my job disappear than still be there because someone with employment power over me lied to me. This isn't false virtue or armchair anything. No exceptions, or I don't work with you ever again. It's not hard. Learn to communicate effectively, and learn to treat your employees with the respect they deserve.
I've been close to situations where the ICs did their absolute best and it was a total waste because of politics outside of their control. Do you tell them that so-and-so highly-respected person was shit-talking them because of an unrelated agenda and invalidated all of their work? Or do you tell them good job (it was a good job) and not get into it?
If leadership doesn't fix the problem then just resign in protest.
EDIT: It's now occurring to me that there's probably different schools of thought here. Yes, I've resigned in protest on behalf of my workers before.
If my team is getting fucked, then I've either failed my team, or my purpose is meaningless. Either way, get me out.
And so you take your first step down the path.. "I'm not sure" is a lie here.
Are you lying to the team when you say, "we're not sure how this happened" rather than just quoting the git blame?
Well, no. The problem is much more complicated than a buggy commit. It's a wider problem with the system. So you say "we don't know, we have to look more into it" and do a post mortem because that is the honest truth.
The same principle applies here. So-and-so highly respected person committed a real-life communication bug that got merged into this IC's production career. But the problem is much more complicated than that. You don't know what the actual problem is until you address it with the leadership team.
As far as the rewards for poorly-motivated actions, we've always got the long term.
Personally, I’m okay with not being informed about everything that’s going on. I work at a big enough company that I couldn’t possibly know what goes on all the way up the management chain, but even if I worked at a small startup, I could understand if management didn’t want to be fully transparent. I don’t need to know; it’s none of my business. But I won’t stand being lied to – even about small things, or things I don’t even care about in their own right. I see lies as a breach of trust and as a sign that I can’t trust that person, moving forward.
So it depends on what you mean by “not get into it”. If you really stick to truthful statements, and if there isn’t a high enough prior expectation of transparency to make it amount to a lie of omission, then leaving it at “good job” is perfectly fine. But if you do lie… well, if I find out, I’m probably leaving.
Well I've literally been in this position too.
Lying to people is ineffective. It literally leads to the rumors you want to avoid. And even if your lies pay off, people aren't dumb. They realize how close to the edge they were and that you are a liar. Next time it will just be worse!
It's much better to be honest. Explain the situation. Explain what it will take. Use it to motivate people and build them up. People love a challenge, they want to feel like they're the hero of a story.
You literally took a situation where your employees would have come out stronger and more motivated to work for you, and you turned it into one where they walked away with mistrust.
> You are espousing false virtue/armchair quarterback. Real life is complex and lying can save many people jobs.
It has nothing to do with virtue! Even if you don't give a damn about being a good human being, this is a terrible way to manage people.
Sometimes your employees can tell things aren't going well, and you bald face lying to them like this will make them leave even faster.
This is also a great strategy to fuck people over, where if they believe in the stability of the company right until the day layoffs are announced they might have just bought a house or something else that will make the next few months for them excruciating, if not disastrous.
So please don't take this advice to the extreme imo. I'm not saying you shouldn't be positive, or give every detail. But you should be realistic. Save the rose tint for the investors and just make sure people have what they need to do their best work, within your power.
It is not your job to be responsible for other peoples personal lives, you are not the messiah. All you can do is fight to get them the pay they deserve. What they do with the money you have no control over anyway.
Layoffs at non Fortune 500 companies generally have less warning than anything can be done about anyway. Sure if its budgeted at Pfizer 6mo in advance your an ahole for not telling people. However its usually more like 2-4 weeks that the people in charge even know beforehand. ALso remenber we are talking about CTO. Its the CFO that knows the truth about the finances and may be hiding it from you as the CTO.
* Allowing rumor/politics to become malignant through deceit rather than healing through truth
* Dismissing responsibility for other people's livelihood because "hey its not my fault they didn't save money in case I throw them in the guillotine"
* Using lack of information as a reason to lie, rather than just telling your workers that you don't know the answers.
These are definitely the antithesis of "good" leadership. "Good" from an empathetic, humane perspective, and "good" for business and profit. It's true we have to make unpopular, hard, sad decisions. Yet it is absolutely imperative that we remain mindful and diligent to our team as individual humans.Sorry but the reality of human nature is tough.
If someone is actually better suited for a role than I am, then let them have it. I'll find another role and keep growing. Where is the problem?
If some team makes the mistake of confusing trust and openness with weakness, then good riddance, I'm better off with a different team.
I know workplaces aren't democracies, but there's no question that I'd vote for the straight shooter (even if their own position in the company is weakened by that trait) over someone who plays the political game well but lies to their reports.
Hell, I would vote, with my feet, if I had to.
You can also be honest with them so that they can make informed decisions for themselves. The best CTOs I've worked for have been honest people who give you the bad and the good news together.
> However its usually more like 2-4 weeks that the people in charge even know beforehand
I'm guessing you're not referring to public companies with significant revenue. There's almost always warnings well before the 2 week mark.
>Layoffs at non Fortune 500
Yeah Literally what I said in my comment.
There are many public companies not in the F500, and I agree with the grandparent that every executive will either know, or have a really good idea that a layoff is coming, well before 2-4 weeks prior, even if the internal finance/HR process hasn't quietly, officially started yet.
> You're job is to keep telling your reports that everything is on track no matter what
> This will 100% require lying or being non-transparent at some point.
I've only been performing roles of director / vp to small/mid size companies so far, so maybe there's some secret CTO sauce I'm still missing.
To me this advice seems toxic and destructive. Vent upwards, yes. Manage expectations, yes. But you're hiring brilliant people who will eventually know when youre lying or concealing info from lack of trust. good luck with loyalty at that point.
This is also an implicit permission to the employees to lie to the CTO. This is pretty standard narcissistic behavior, where your lies to employees are just doing business, while employees lying to the management is a grave offence that calls for job termination.
I agree.
Do you have metrics available somewhere? Doesn't matter real-time or N days report - people can connect the dots: signs up are flat, but we keep hiring.
You can't meet requirements without marketing pushes? Well, shit, I wonder if a company spends 2 dollars to earn 1 dollar.
You can lie and bullshit all you want, but your reports and their reports will know.
I worked in a company where the analytics team suddenly decided to leave, all within days of each other. Month later - layoff. They weren't told that things are bad, they were the one who told you that things are bad.
Maybe they simply found out that you kept lying to them?
I know its hard to understand if you are never in such a role. People can be very irrational and will look to blame someone in charge when bad things happen. Even if they are the cause of those bad things.
I had one guy that got obsessed with crypto and was doing crypto trading instead of his work, not showing up/logging in, not making deadlines. He went off on me for like 30 min when I fired him and never spoke to me again despite warnings and discussions about the problem before getting fired for one example. In his irrational opinion I was holding him back from getting rich by expecting him to do his job.
Word spread pretty quickly through various cliques in the company. Some teams had no idea what was happening, other teams lost literally all their developers and and couple managers over the course of 30 days.
During my exit interview I mentioned the dishonesty and they just doubled down that I was imagining it.
Isn't that what you did?
> Even though the company eventually did go under due to bad investments the owner made.
I think we are all very obviously not at all talking about the kind of situation you describe.
I left a company a little over a decade ago where the CEO and CTO (both co-founders) were lying to us about the company's situation for the better part of a year (which was longer than half the company had been employed there). I fortunately haven't had the chance to run into them since then, but I would absolutely give them the cold shoulder if I did. And that's because of what they did. I put in 80-hour weeks (including many weekends)[0] for over a year at that place, and they repaid me with a middling salary and worthless equity (after all common stock got wiped out less than a year later when the company got sold to one of the investors for peanuts and scraps).
Anyway, the one "nice" thing I can say about that CTO is that after they had a layoff (half the company), and I didn't get laid off, I went to the CTO and volunteered, and he let me go with the 4-week layoff severance package, which gave me a much-needed month off while I found another job.
(Speaking of startup equity, I'm just glad I wasn't quite out of college during the original dot-com crash, when colleagues I would meet a few years later ended up underwater on the loans they were encouraged to take out in order to exercise their company stock options. I can totally imagine wide-eyed 22-year-old me falling for a garbage scheme like that.)
> People can be very irrational and will look to blame someone in charge when bad things happen.
And sometimes blaming the person in charge is correct and rational.
[0] All stuff I will never again do for any company after that experience...
Not really. My words were some people will hate you even if you do everything right. This was an example of a situation that was handled right but the person ended up hating me and slandering me for years afterwards. Just because I would not allow the company to fund their get rich quick scheme instead of their job.
I've even found people that I did not manage that got fired blamed me sometimes. Like all of mgmt was some evil cabal that conspired together to fire them cause thats what we really want instead of making the company money so we can all get out paychecks.
What people are doing is going off on a tangent of how they don't agree with how I handle the grey area stuff. There is a great deal of Silicon Valley worldview going on as well. The majority of the working world has lots of politics and pettiness going on along with power struggles and backstabbing. You cant be S.V. idealistic and keep your MGMT job in the middling business world.
Are you ok with employees and reports reciprocating by lying to you as well.
I have quit jobs where my manager lied to me. It is really really easy to tell when someone is lying.
You seem to live in some alternate dystopia where everyone lies to each other. How many of the companies that you have worked at have gone under?
If you create a culture where you lie, then people will lie to you.
If you create a culture where you are honest, people will be honest back to you.
There's nothing more powerful than going to your team and saying "Look, I fucked this up. I need your help". Honesty is disarming.
I'm in a field where I manage scientists. If people start to lie to me or even start to bend the truth a little, we will waste years chasing ghosts. The people that work for me are very savvy at figuring out what I think might be true and they can always present just the right data to make me happy. I had to learn early on that I need to be really explicit: we need to do good work, it doesn't matter if I'm right or wrong, it doesn't matter if they're right or wrong, all that matters is progress.
So no. Your employees don't need to lie to you. Mine come to me regularly and explain what went wrong. Judgement-free. And we do deep dives to prevent problems in the future.
You are causing the problems, not them.
I had a junior EE come and find me while I was on a smoke break to immediately inform me that he had mixed up two connectors and had accidentally put 48V into a piece of kit that could only handle 12V, resulting in $10k worth of blue smoke. That’s what a high trust engineering org looks like. He could have lied about it, I didn’t see it happen, “I dunno I went to reboot it and it didn’t power back on”.
That’s what I want to see. He was open and honest with me because I don’t feed him bullshit.
When you've been lied to enough you stop believing the lies, a leader who can't be relied on to tell the truth unless it's positive might as well not say anything at all or be there in the first place. Having to doubt and read between the lines for each and every message from leadership is a waste of my time and leads directly to me A) no longer caring and B) not trusting my leadership.
This kind of manipulation only works on stupid or inexperienced people.
There is a big difference between putting a hopeful spin and always fighting for the best outcome and straight up saying everything is fine until there's nothing left but ashes.
I would argue the opposite: transparency is one of the biggest part of your job. You're not in a leadership position, and it's your choice: do you want an opaque company where politics drive individual success? Or do you want a transparent company where employees respect their leaders and where the best insight wins?
If the company initiative is to be transparent then sure you can be. However that is the vast minority of companies. Though people on HN may have a skew to thinking the opposite.
The comment I replied to has very startup company silicon valley skew to it naive of the majority of the world. Very few of us are in any position to determine or change the political/cultural/driving forces of a company we have to work at. Usually the best you can do is adapt to whatever is already there and try to make the best of it.
CTO is not a powerful position at most companies.
This I do agree with. Many CTOs don't actually have the entire engineering organization under them in the reporting chain (at a reasonably-mature company; not talking about a startup where the CTO is often one of the co-founders and runs engineering), so they have no real power to get other people to do what they think should be done.
At best they have an "Office of the CTO", or perhaps run the company's software architecture group (if the company even has one), and then they just have a tiny army of people who try their hardest to convince other teams to do things that aren't in their roadmap and would mean pissing off their bosses if they took them on. Not fun!
A lot can be achieved by aligning themselves with successful projects and crapping on others at the start or just at the cusp point of success or failure.
Having technical depth in the leadership ranks, having real competency & belief & understanding in what you are doing, is, alas, not common. But wow, what a difference it makes for an org.
> Transparency is not your job.
> You're job is to keep telling your reports that everything is on track no matter what
> This will 100% require lying or being non-transparent at some point.
To add my 2 cents I kind of agree. When I first got into management, I didn't realise how many fires they were, or priorities I needed to balance. Initially I thought "there shouldn't be this many fires" but I soon realised that that was my job, to put them out, escalate when required, etc all while making sure the ship is steady and doing it with a smile on my face.
Some examples include:
- News that a sales person has sold a huge project which will save the company, but we can't deliver or build with our current backlog / resources
- One key team member has been taking a lot of doctor's appointments recently - and suspect they might be quitting / job hunting
- There's a very obscure security issue which could be fatal if discovered, but is a huge task which will disrupt a project which is already delayed and over budget
If I ran into any of these when I first started I would have freaked out - and that would have disrupt my team as they couldn't be productive with that anxiety over their heads.
Instead I just had to be confident that I could put out those fires, or put in place strategies to mitigate them, and let the team know it's all under control.
Of course if something was too big to handle I'd escalate, or if something blew up I'd take responsibility etc - but I think job #1 in management is to shield the team from distractions and let them do what they're best at doing.
However, in the absence of some legal requirement to keep quiet, if some employee got wind of one of those situations, and came to you and asked you about it, I really do hope you'd be honest and forthcoming. Because otherwise I think that's when you'd cross the line (for me at least) into being untrustworthy.
One thing to mention though: in the case of your first example, if that huge deal really is going to fall through, no question, and the company is going to fail because of that, no question, I would lose all respect for an executive who didn't pro-actively have the hard talk with employees about that situation. Yes, some people will leave. But that's life, and your employees have entrusted their livelihood with you; you owe them that level of honesty.
> I just had to be confident that I could put out those fires, or put in place strategies to mitigate them, and let the team know it's all under control.
Which is fine! Because if you truly did put out those fires, or at least put in place some mitigating strategies, then you were absolutely telling the truth that it was under control.
> I think job #1 in management is to shield the team from distractions
The difference is that some "distractions" can have a material impact on those employees' lives. An executive who hides those things and lies about them to employees is not worthy of respect. For "distractions" that truly are just distractions, sure, fine, no need to broadcast.
But I think a key question is: if a bit of news could make a reasonable employee, thinking logically about the news, decide to quit, then... you absolutely should be disclosing that news. Anything else is just a betrayal of the implicit trust an employee must have in their employer.
And yes, I know all this might seem pretty idealized, and I know there are a lot of companies and executives who won't get these things right. But that doesn't mean I want to work for those people.
I do think scenario #1 is interesting to talk about though.
I.e. If I was that manager receiving that news, I wouldn't outright tell the devs and say "it could be crunch time for the next 6 months", which might cause a panic and devs will start looking for other jobs.
Instead I'd call a meeting with leadership / sales, see what was sold and if there's any flexibility on deliverables with the client. If we need more resource, is it worth finding funding to hire more staff, or maybe postpone another project to get this higher priority one done.
Once that's resolved then I can think about delivering the news. Maybe it's a non issue (e.g. a new team is spun up to handle the project and someone gets a promotion to head the team), maybe it's crunch time (in that case it's time to have a difficult conversation with the team), or maybe the client is flexible on delivery (so it's business as usual).
Again, I could see how some managers would be uncomfortable not telling their team everything (and potentially cause unnecessary panic) - but I think that's part of management, knowing what level of detail your team are happy with, knowing what you can / cannot handle, and knowing how to delivery good / bad news and sometimes having to be the bad guy.
What scares people is uncertainty. Not uncertainty of outcome (50% chance this will save us). It's uncertainty of what the options are, what the roadmap might be. That's the job of a good manager. Insulate the team from uncertainty and politics. Figure out the space of options, what the outcomes can be, negotiate it with leadership, and present a reasonable and clear plan to the team. That won't cause panic.
Show the team the plan, its rationale, and what needs to be done. What the upside will be. Let them take ownership of it. Let them make the lower-level decisions of how to split time, of what to prioritize, of what edges can be cut. With your feedback.
People generally don't bail when faced with a challenge. They like challenges. You just need to define the challenge clearly and set the path for overcoming it.
Yes I did for the most part. I was replying to another persons wording though so many people have gotten out their pitchforks.
Gross. I worked at at company where the CEO and CTO were hiding important things about the company from employees. When we found out, we felt lied to and betrayed, and there was a mass exodus. The company folded less than a year later.
I'm not saying leadership should be telling employees every little tiny thing. (And certainly some things just cannot be talked about in early stages of the deal, like funding rounds and being acquired.) But employees should have a pretty good handle on the health of the company and what's going on at a high level.
If employees get anxiety or start looking for new jobs because the executive team is being truthful, then either a) the company is doomed, and only an asshole executive would lie to keep employees around, or b) the company is just in a difficult spot, but leadership is not doing a good job of communicating the solid, likely-to-succeed plans in place to get things back on track.
I refuse to work for leadership teams who are not transparent. If they don't think they can trust me to act well in the face of difficult information, then I don't see why I should trust them to run the company that's responsible for my paycheck and livelihood.
Once you peek behind the curtain of where your firm's cash comes from and where it goes, you have to live with a deep existential fear that you could mess up a bunch of people's lives... and you don't want others to have to live with that.
I could not even finish reading this comment. As a C-level leader in an organization, communication should be your strong card. It's unacceptable that you don't even know the difference between "you are" and "your".
If as an employee I get an e-mail from a "CTO" consistently getting confused with such elementary, trivial shit, I would fucking resign immediately as that makes it evident that the organization is led by illiterate people and has absolutely no future.
I do know the difference though. I probably copy/pasted part of the comment around and missed that I changed the context. Shame on me for not proofreading my internet comment though. You should probably erase me from existence for my lack of vigilance as punishment...
Totally destroyed morale, made the best people leave, and created a toxic work environment where there was no trust in management at all.
If that’s your goal, good work I guess.
Then you didn't have a CTO like me. I'm still in regular contact with most of the people that used to work for me. One actually just texted me this morning to ask how I was doing. Even though our lives will almost certainly never intersect again.
I've been CTO/equity partner/division director/tech lead/IC/etc... and this is terrible advice. The one thing you need as a leader is trust - your people need to trust you and you need to trust them. Treat people like the adults they are, tell them what's happening to the best of your ability, and people will work their asses off to accomplish the goal.
> I fear what will replace me if I leave
I admire the respect and dedication you have toward your reports (I assume the fear comes from what a successor may do to your reports rather than what a successor may do to the company).
However, if it falls on your to protect your reports from the company, then it may be worth considering how well the company's values align with your own. A terrible outcome would be to compromise your integrity for the sake of the company. If you leave, it's still possible to help those currently under you. Whether or not they would still want your help depends on your integrity.
What you can do is two fold: be technically involved (this is the topic of this thread) and be a good leader. The latter means a lot of things, but IMO it also means transparency. I'm really sad to see other comments saying that your role is to not be transparent, I totally disagree.
There’s a variety of options available to you, options that can deliver the best outcome for the business, your reports and yourself — many of which can be fantastic outcomes for all.
Ultimately, building a business is a relay and you will at some point have to pass on the baton: if you fear that inevitability, that needs to be an immediate focus. What can you do to ensure that you can pass the baton on with confidence?
Positioning yourself as not “the CTO” but rather “the person establishing the business’ approach to technology” (which is achieved by utilising the CTO role today) can be a very powerful shift in attitude: you’re setting the technology organisation up for the baton to be handed over to the person ready to lead the next stage with confidence.
If I were in your position, I’d be talking with the other leadership in the business and clearly communicating that you don’t want this role indefinitely, I’d put a plan together for the next 12 - 18 months that involves bringing someone in to replace you, someone for you to pass the baton to.
A bad outcome for the business would be you spending the next 12 months silently stewing in your own anxiety and fear and then have a breakdown and disappear without any notice and the business is thrown into chaos.
As a leader, you don’t need to be perfect or a brilliant jack of all trades or a genius or even the smartest in the room, but you do need to operate with confidence though. If you don’t have confidence in something, focus on getting the confidence.
(For what it’s worth, the shift from where you are now to where you need to be is almost exclusively in attitude, it’s not some insurmountable challenge.)
No first time CTO's had it figured out either - continue to show the courage to ask advice (as you've done here) and figure it out bit by bit. Nobody has made your org before - there's no playbook only prior work.
The flip side is if that is of zero interest, you're likely in the wrong role. No shame, depends what motivates you.
Presumably, you don't have to do it if you don't want to. If that's true, be nice to yourself and remember that on a regular basis :)
What you've described is pretty much the way many CTOs would describe the job. Don't worry. Treat it like any new discipline. Seek out expertise and learn from it. Make notes and crib sheets and read them regularly (they might be about financial management, or about people management, whatever you need).
Find a mentor if you can.
Don't burn out.
Don't be a jerk (ignore the more outspoken comments in this thread, you are clearly not well suited to sociopathy, congratulations).
You will not be able to please everyone all the time. You can't be everyone's friend all the time. But you can probably be decent to everyone nearly all the time.
Lying is shitty. Really, really shitty. Think about it.
Doubt is normal, but check yourself for imposter syndrome on the reg.
Ask yourself: what do you want?
If you don't like who you're becoming, move on.
Good luck :)
The reason I became a CTO is three-fold:
Firstly, I was recommended for the position by the managing director of a large (the largest?) Swedish games company, so I figured it was a once in a lifetime opportunity.
Secondly, I asked my old CTO if it was a good fit for me as I’d been a manager before and I felt I preferred IC, I also have an abrasive way of communicating which worried me greatly, his response was that the abrasive parts of my communication style will melt away because it is bore out of frustration.
Finally; I have worked in meritocratic cultures but only when there was significant external political pressure from the publisher. Theoretically I could replicate that culture but without the political cruft; additionally I would be in a position to set the company up with long-term technological investments and partnerships: which I was trying to do before but managers are usually focused on short term goals.
> Find a mentor if you can.
> Don't burn out.
> Don't be a jerk (ignore the more outspoken comments in this thread, you are clearly not well suited to sociopathy, congratulations).
> You will not be able to please everyone all the time. You can't be everyone's friend all the time. But you can probably be decent to everyone nearly all the time.
This is good advice and I appreciate it greatly, I will wear these words going forward.
Thank you. :)
One thing that has helped me, and may be helpful to you as well, is to look at your new role as an engineering problem. Logistics and process may not feel technical but they 100% are, and if you approach them with the same problem solving mindset and intellectual curiosity as, say, a coding task, you will enjoy them a lot more, and may even find that you become very successful at them.
The first job of an SVP is to stand up to the CEOs when they are pushing for impossible deadlines.
The second job of the SVP is to stand up to CFO when they want layoffs. Or fight for more resources when they are pushed to the limit.
The third job, arguably the only thing that is technical, is to stop your sub coordinate pushing for what ever that is hyped in the industry to be used within your company.
It may sound easy in a small startup, doing the above three things in a large company is easily a full time job.
Personally I think having a CIO makes a lot of sense, even if you ditch the CTO, CISO, CDO, CAO panel that is generally subordinate to the CIO anyways.
IMHO, too many people chase the CTO title but few really want the actual job.
So true. CTO being so far upstream, mistakes made here through disconnection between the rubber and the road have compound effects downstream. It's the sort of role where bad decisions have huge, company-ending ramifications.
"I talked to my buddy at [FAANG] and he said microservices are the way to go. His team achieved awesome velocity by switching to microservices. Let's do it guys!".
Amazon had huge dependency problem, both technical and organizational. Technically, the effort to work in their monolith scaled superlinear with respect to the CL size due to coordination and review with other teams. Organizationally, teams were dependent on an ever growing set of centralized, global processes that further slowed their ability to make progress.
Jeff (and S-team) saw these issues and worked to solve them through a series of experiments. Specifically, Jeff tasked his then CIO with finding a solution. This CIO worked throughout the organization to gather on-the-ground feedback around what was and wasn’t working; built a model for how Amazon _should_ work based upon that sense making; and then tested, iterated, and refined that model into what we’ve come to know as Single-Threaded Leaders and Two-Pizza teams, etc., today.
In parallel, a couple Amazon business units were experimenting with exposing their data via textual (XML) APIs like the Amazon Associates API which went on to become the Amazon Product Listings API. These early APIs were sort of the POCs that allowed Amazon to see early validation around the concept of web services.
Synthesizing all these different streams of information, ideas, and actions lead to Jeff’s “edict” around building standalone web services (which eventually led to what we know as AWS today).
In short, Jeff is the exact antithesis of GP’s straw CTO. He speaks from data, facts, and information gathered from a myriad of internal and external sources, not merely anecdotes of success from a CEO buddy. :)
Source: Working Backwards has a lot of information on Jeff (and Amazon’s) decision making.
While a CTO needs to have grown up in the technical trenches to have credibility, a CTO should not be making any technical decisions anymore. If they are, that's a red flag for a CTO who can't let go and keeps micromanaging.
A common pitfall among startups is to give the CTO title to whichever cofounder is leading the development when the team formalizes titles. Some times this person doesn't even have previous engineering manager (EM) experience at all, but as the most technically oriented person of the time they receive the CTO role by default.
Some times these people can grow into the necessary delegation, recruiting, hiring, performance review, people management, communication, and meeting skills necessary to be a CTO. Other times, they cling to what they know (coding) and turn into a micromanaging CTO who won't cede control of the things they want to do (code) while avoiding the things they have to do (managing).
This is one of many reasons why I advocate for avoiding C-level titles as long as possible at a startup. You can always promote someone up to CTO unceremoniously when the company actually needs defined C-level executives and they've been excelling at the role already, but it's much more problematic to ask someone to give up the CTO title and step aside to bring in an experienced CTO when necessary. Nobody likes being demoted, even if it's only a formality because they weren't actually doing the full management role. Any title demotion at startups is likely to lead to conflict and departures.
This article reads like something a startup CTO would do or expected to do. Frankly companies below 100 shouldn't have this role. Someone leading a 10 person tech team isn't really a CTO because the work and decisions involved are totally different from someone leading a larger tech organisation. They should just mark such roles as what it is: a senior architect.
I've interviewed over 300+ CTOs over the last 8 years. I don't think the author is saying this literally, but i'll bite - no the CTO doesn't need to pass your coding interview. CTOs need two capabilities to excel - technical ones and human resources ones. That's it. No need to get any more specific or broad than that because different levels of companies have different needs.
For example, a CTO of a 2-person dev team is also a developer. A CTO of a 500 person engineering team very likely doesn't know that his core infra team just wrote something in Rust and that's totally fine, but they sure as hell should know that they have a core infra team and that they're productive in advancing their core infra.
I haven't seen any engineer managers pass the usual litany of tests that ICs get. (1 LC hard or 2 LC mediums in <40 minutes) Usually they get a very simplistic question or are given enough hints to get through it gracefully (something not afforded to ICs).
Middle management overhead is real but this isn’t really an example of it — there is always a CTO and a CPO but not always in name. Sometimes they’re technical and in the trenches, other times at small companies it’s the CEO who’s wearing multiple hats.
That may not be the case at a small 5 person startup, but at a larger scale with a full division underneath you shouldn't be getting involved in the nitty gritty of why the database fell over. You should be making sure the engineering teams are being given the space to have those discussions, learn from it, and improve.
The CFO of a similar sized company isn't sitting down and running payroll. They're talking about strategies to re-organise budgets to enable product or territory expansion. Or they're looking at the decisions leaders of a potential acquisition have made, and whether they stack up to the top level figures.
Both roles are fundamentally business and people focused roles. They require the holder to take leadership of a specific area (technical, financial, or what have you) and run it efficiently to server the business goals. That requires you to have a good understanding of the area. The more you have the more likely you are to succeed, but you won't be writing code as a CTO. In the same way the CFO won't be running the tax calculations for payroll that month. Not once you're past 50 or so people in your division.
No, they're arguing against a point nobody made:
> This misunderstands the role of CTO which is to be a single point of responsibility and leadership for all the deliverables in engineering.
Nobody said that.
Welcome to being a CTO :) I don't think a single one I interviewed ever said "nope I don't need more funds for devs, tools, <foo>"
> Is there any sort of experience/book/theory you think a CTO should have to excel at the job
Executive coaches are wonderful tools to help guide you through the soft skills required to navigate the noted frustrations you might have.
Sorry but that is something he should know. That directly affects technology radar and roadmap, HR and a bunch of other stuff.
> CTOs have to be very clear with everyone that if quality falls below a certain point then everything will be paused to focus on improving quality.
This strikes me as almost Dilbertian. I think quality is hugely important, but I think don't think you can get it with dramatastic managerial showboating. I think it's something that you bake in with all sorts of practices. I also think the right choices are local and particular, so pausing all sorts of teams because of quality issues is inevitably going to waste a lot of time.
A real head-shaker for me.
The CTO of a large company shouldn't be jumping in and managing Jira backlogs to move bugs around in a list, but they should be providing direction to teams and managers about expectations and how to set priorities within their teams.
The point of coding is to make things for people. If we stop making things for people and do something else, however virtuous that something else might seem, I think we aren't moving in the direction of long-term improvement.
One of the biggest roots of low quality is high time pressure. So I'm fine throttling back feature to 80%, 50%, maybe even 20% of the long-term capacity so that everybody can start learning to work in ways where technical debt decreases and quality practices get properly established.
But I think it's vital that we keep that x% of forward motion. For all sorts of reasons, but the biggest being that everybody, techies and product people most definitely included, need to learn to work together such that quality stays high. If the product people just wander off for a few months while the devs do mop and bucket work, what people generally learn is to repeat the cycle of making such a big mess that another big cleanup is needed down the road.
One imagines the vast majority of "coding" taking place on MS office for the last 30 years has not been to "make things", but to improve the quality of what they have made.
The reason they had to do code freezes is because all the other practices were such dog shit. (Mostly from a product and biz perspective) Eng was usually driven with a whip to meet insane deadlines - thus the instability and bad quality and outages...
I wouldn't expect any different at many of these other companies. Whether they are worth $1b or $10b or $100b rarely has any correlation with quality of eng output.
I suspect that's obviously true for large, successful companies. We've all heard stories about people at stable companies with terrible dev practices, because ultimately dev practices don't matter for companies with sufficiently strong market positions. Are some of them good even though they don't have to be? Sure. But plenty aren't.
But I'd also think it's true for the whatevercorns. For raising that kind of money, big public drama is vital. Look at WeWork or Theranos. Great at dramatics, great at raising money. Technical competence for them was at best irrelevant to getting the next valuation bump. If the execs favor dramatic announcements over slow-and-steady gains, I expect that will influence how promotions happen and gradually trickle down to dev practices in a lot of places.
~20 years ago, when eBay was a company that mattered a great deal, I did a contract there. I was on some mailing list for the eng org where promotions were announced. Every single one of them talked about some incredible act of heroism, usually involving staying all night multiple times to get something out.
The reality was that their code base was pretty poor, and their bad development practices caused things to get worse over time. That required heroics just to do pretty mundane stuff. And in that rush to meet arbitrary deadlines with sufficient drama? Even more corners would be cut, making it even harder something to get done next time.
In contrast, they could have taken quality and productivity seriously and build their practices around that, ending up with a smooth-running process and reasonable hours for everybody. But that was in nobody's interest, because as far as I could tell nobody at eBay got promoted for quiet competence. Drama was what mattered, and so their development practices were tuned for creating opportunities for drama.
Meaning a CTO should also be good (not great) at sales, marketing, cash flow, customer service, user experience design, etc.
Being well rounded means being able to garner the respect of not only the engineers but all stakeholders, from internal people to the customers to the general public, too.
I’m certainly not arguing that a great engineer won’t make a great CTO. It should probably the area they’re strongest in.
But if I had to pick between an amazing engineer who knows nothing about the rest of the business, or a reasonably knowledgeable CTO who is also reasonably knowledgeable on all other fronts, I’d pick the latter every time. No hesitation.
There is a caveat to this, though. Being a generalist means recognizing that on any given topic, someone knows better than we do. So you have to be able to recognize that and defer to expertise, while also completing the picture by thinking about all the variables that lead to a business being successful.
I’ve met plenty of engineers (and designers and copywriters, etc etc) who think everyone else’s roles are easily understood and accomplished. That’s fine if you’re a specialist. But a leader needs to understand the big picture, and no one is an expert in all areas. It’s just not possible, by my estimation.
Dropbox is a technology company. This is famously a place where deeply technical leaders can achieve competitive advantage. The whole company exists to support the tech, so if the tech fails, bad.
Uber (and most startups really) don't do tech, they use tech to drive sales. Of course the tech is important but it's a solution not a driver. Here I agree that a "well-rounded" tech-average CTO can be advantageous.
Tech strategy is where everything converges. If products literally live or die by it, you better have a crack technologist at the top.
I think you make a great point either way. I’d elaborate on that and say a business leader needs to deeply understand the product they make/sell, so if your core product is tech, I agree and see your point. But I still think they need to be really good at all facets of the business. They still need to understand the market and how to promote and how to close sales. Those skills don’t really develop if the only thing you do is engineering.
Take HubSpot’s CTO Dharmesh for example. Brilliant engineer! But he applies his curiosity to understanding people and markets and solving unsolved problems. He understands the whole business. He also understands his own shortcomings and surrounds himself with people with complementary skills, because he knows full well that engineering alone isn’t enough.
I think the role of the CTO varies based on the scale of the company.
This article on the types of CTOs is useful framing: https://www.allthingsdistributed.com/2007/07/the_different_c...
I'm now CTO of the larger company that acquired me and the role is different in almost every way. The role is to lead a path to technology changes, but much of that is technology coming from the technology staff itself. The most valuable learning happens by listening to my team and the teams around us. There is as much business as there is technology, as much future guessing as there is past evaluation.
Through all of these changes, day 1 to today, the most important skill has been a desire to be technical. I still write code for my own projects, develop my own projects, design microprocessors, hardware, software, sensors, and everything in between. If someone asks me a question, I want to understand how to get to the answer, not just get the answer.
Of course I have to understand the fundamentals of the business, and of business. Of course I have to convince non technical people why we need to do things. None of that is easier done by being non-technical, and much of it is done wrong by being non-technical. Stay frosty.
(Funny side note.. in the beginning, I often said during a 'introduce yourself' part of a meeting "I'm Jeff, the Chief Technical Officer" by mistake. )
The interesting aspect of doing microprocessor designs is the journey from the ISA concept through the implementation, discovering along the way all of the fantastic mistakes you have made.
It really makes a better software engineer out of me.
Doing deeply technical hobbies has improved my view and skill in so many areas, as well as helped me understand areas that I really suck at... which there are plenty!
Jeff is the CTO version of the guy who wants and needs to "Get his hands dirty" in the cutting edge of whatever technical discipline he's engaged in, for the purpose of keeping himself mentally sharp and fully aware of the subject matter at hand. Even if he buys subaru engine parts from a specialist he puts a lot of time/research into thoroughly understanding what he's putting together. He's kind of locally well known in the pacific NW nerd community for these things.
> One of the key roles of your company’s engineering leadership is to balance working on new features versus maintaining quality and squashing bugs.
Even at companies with 100 engineers, if the CTO is focused on software bugs, there are larger issues at play (i.e., talent density is too low, poor prioritization by product, etc.).
Aditya[0] seems has experience here, but he's likely addressing the market of early-stage startups where he advises.
I agree that a CTO SHOULD be technical but it shouldn't be their only skill. The CTO's skill actually varies depending on the stage of the company and being technical, helps in making decisions in every stage. A core part of being a CTO is to set the technical direction of the company, you are a Chief Technology Officer after all. A part of a CTOs job is to know how to execute/deliver the plan of the company in the most efficient way technologically speaking. As the leader in the engineering department, if you have say a budget of 1 million USD, not only do you have to know how to allocate this efficiently, but also know the technical details of why you do so in the grander scheme of things of building the product.
As an example of my said stages, if you are with a company that has:
1-5 engineers: The CTO is mostly likely coding and also making decisions on what technology stack to use and sets basic processes for development (kanban/scrum or basic todo list).
5-15 engineers: The CTO is mostly doing process management and technical analysis of the stack to set further systems and processes for future growth. Here you will start to find the issues of the technology, you are growing the engineering team because there is a further NEED to hire. For example, you hire more frontend engineers because the plan is to build a more ambitious frontend.
15+ engineers: Here you already have established good processes and have the product moving forward with teams being mostly self sufficient. The CTOs job at this point is to work more with product to know the future roadmap and efficiently plan further hires or changes technically speaking.
My few c's from this. I've yet to experience growing a company for 50+ engineers but that is a goal that I have still going forward.
I will say that a CTO of a large company has to have a really good read on the technical constraints. Whether this is achieved through technical expertise, or having a warchest of talented lieutenants is an implementation detail. That said, even the lieutenants can't be in every room, and if the company faces substantial technical challenges, there is a high risk that a non-technical CTO makes commitments the team can't live up to.
In a well-functioning team, a lot of this can be papered over by the lower-level folks (managers and ICs) finding a way to do the right thing on an unofficial basis. I would go so far as to say that all successful companies depend on that unofficial network of clueful employees doing the right thing in spite of formal guidance. But at some point leadership is going to have to make some decisions, and when that time comes you better hope they have put at least as many hours into their relative domain competence as they have into schmoozing big wigs.
Technical people looking up from the bottom often expect some type of meritocracy where being good at your job earns you promotions and responsibility, but that isn't really how leadership works. When you are trusted, you get promotions. For exactly the reasons stated above - leaders delegate to people they have worked with before and trust that the needs will be met.
So as a leader, decide who you trust. As someone lower down the chain, work to build that trust.
If you're a CTO, do you trust your person A or B? If you're not technical what do you base it on? What are you judging?
Are you judging based on their personality? The number of brownbag talks? The feedback from peers?
What you want is for someone to know how things work. And if they don't know, know what to ask. You want someone who's done it before. They have to be technical.
You want your chief of plumbing to know how to plumb. You don't want them to just be familiar with plumbing. If so, the next thing you know a good salesperson will talk them into replacing all the pipes with new wonder-pipes with space-age wonder-clamps.
My experience as a software engineer definitely allows me to approach issues in a more understanding way and find alternative solutions that accommodates for them instead of finger pointing and shaming.
I think a CTO should have a good understanding of the topological structure of the systems they're effectively responding for, and they should have an understanding of the feasibility of roadmaps.
A CTO without technical knowledge cannot provide suggestions or iterative steps when some plan goes south other than generic coaching. I've been in a lot of cases where our developers were stuck because they couldn't make decisions outside of their team.
I feel my job isn't to simply respond to the CEO but to ensure that friction is removed between the teams. I would simply be unable to do this properly if I wouldn't have a deep understanding of what every team is working on, how their systems connect, how their stacks work and what budget constraints we have (also what impact an alternative course would have on the budget).
If your CTO is 10 levels removed from the developers that's a different thing, because then the job of the CTO is nothing but a glorified proxy for their direct reports to the CEO.
As an engineer and a manager I took my time to understand the basics of management, design, marketing, business development etc. to have educated conversations while building a product so I don't see why someone in those roles shouldn't do the same.
I would also feel the need to catch up with whoever the best engineer seems to be on my team because I'd just assume they wouldn't respect me if they perceived me to be vastly less competent (a degree of technical incompetence can be offset by good soft skills of course).
Either there's a misconception about how complex "technical" stuff is, that prevents those (smart) people from touching it with a 10 foot pole, or (conventionally) technical stuff is indeed more complex than (conventionally) non technical stuff.
I lean more towards the latter (after all market demand and compensation are a good indicator of that) but I'd be very happy to be shown that's not the case. I know plenty of engineers that are successful "solopreneurs", I don't know anyone who isn't technical and managed to do the same without a technical cofounder.
Not claiming "engineering is easier than marketing", just that, on average, technical people can do 80% of what's required to build and launch a product, non technical people can do around 20% (although the ratio might change once these no code tools become more popular / powerful).
In both cases — technical manager and non-technical manager — the engineering culture at the organisation ultimately determines whether the arrangement is successful.
In the past I’ve experienced friction working for a manager who had different ideas about how particular technical problems should be addressed.
I don't think a lack of technical curiosity/professional pride is exclusive to managerial types, but there is a surprising number of people who hate the technical side but still want to be bossman.
it worked well, he shielded us from the corporate politics, got us everything we needed, didn't over commit us, and we delivered on estimated dates and to scope almost every time. because we picked times and materials and he made sure it happened and that we could focus. was good times
I've worked with similar people and there is definitely a place for them (tho probably not at the peak of the structure). But it's also nice to have someone that can critically discuss a solution and sign off on decisions that they fully understand. IMO.
I agree, but in my case I think there's also a "narrow band" for what I'd consider a technical manager to be. I want them to be able to understand if, at times, I need to get into the weeds describing a technical problem. I wouldn't do this often; I don't think it's necessary or useful to burden a manager with deep technical details most of the time. But I want it to be possible to do that when necessary, without seeing the manager's eyes glaze over.
But at the same time, I also want a manager who is primarily focused on the "people" aspects of management. Engineering managers should not be coding, or even doing code reviews. Part of it is because I don't believe managers should be in so deep on the technical details, because to do so means taking too much valuable time from people management duties. But the other bit is that I don't like the power dynamic. I don't want a manager to force -- or even have the unconscious appearance of forcing -- a report to change some code in a code review because they have the added "I'm the guy who decides if you still have a job" power. And in the reverse interaction, if the manager is writing code, I don't want their reports to have to walk any kind of "don't piss off the boss" tightrope when providing code review feedback.
The power dynamic bit is a reason why I also think that a team's technical lead (for orgs that have tech leads) shouldn't report to the team's manager, but should report up a level. I think it's valuable if the technical lead feels like they can argue against the team's manager's opinions without being afraid of (even unconscious) retaliation.
So I think it's hard. Another top-poster here (the CTO of Surescripts) seems to have it right: when he's at work, he focuses on people and the business, with the technology an important part of the job that he doesn't dive too deeply into (but can still hold his own in technical discussions). And he keeps his technical/engineer side happy through deeply technical side projects on his own time. I think that can be really hard to do, especially for an former developer who is new at the manager job. (Not to mention having deeply technical hobbies and side projects takes up a lot of spare time, spare time that many people may not have.) But I think it's essential for having a healthy team with reports who respect their manager, and understand that the manager respects their technical expertise, and doesn't try to dictate technical decisions.
As others have said, development is a full time job. It requires focused time and you need to remain current and have context for the state of the project. If a CTO is spending all of their time in the code, they are not doing the tasks of a CTO. If that doesn't matter and doesn't cause issues, you probably don't need a CTO.
I've worked at a company with a CTO who was an extremely talented developer but really that's all he wanted to do. He'd avoid meetings like the plague, never managed anyone despite have several senior direct reports, and would only really engage with others when technical issues came up where he could jump into the weeds in and help solve the problem. Essentially he had the title "CTO" but in reality all that meant was he was a superadmin developer who could work on whatever technical problem he wanted with nobody to report to.
The CTO (once the team is >10 or so) really only needs to be "as technical as needed to make smart decisions". This will vary a lot by company.
For the same price you pay for DropBox, you can get the complete Office 365 with 5 TB of storage for five people or GSuite with storage.
I was "CTO" of my very small startup with < 10 people and 3 total engineers. I was extremely technical and hands-on in that role. I've worked at a mid-sized business that didn't even have a CTO, despite having 4 FTE software engineers and a network infrastructure team.
I now work for a globally distributed Fortune 500 company with nearly 100,000 employees working on hundreds of technical projects using all sorts of tech stacks and code from Embedded C to serverless SaaS offerings. The notion that my CTO should be able to "jump into the code, start grabbing JIRA tickets on a moment's notice, or throw together a new feature when a deadline is looming" is absurd. It might be nice to have a CTO that's been in that role at some point, but no way should I expect them to be able to tomorrow.
The point was that a CTO should be able to do this in theory. Of course they won't ever actually do this unless there's no other way.
If your CTO can actually relate to the problems of their staff, they'll be able to make better decisions which also see more acceptance.
My second CTO was very technical and up to date the first wasn’t. The only difference between the two day to day was with the second one, I could use terms without defining them first. They both deferred to my technical judgement and I worked with the understanding of how to align my initiatives with the company’s.
I work with CxOs all the time in consulting now. I have no problem getting my ideas through CxOs or architecture review boards.
I'm wondering what the devs at both companies were thinking about their CTOs. My point wasn't that much about direct reports to the CTO, who might already be used to talking in management terms, but rather the developers who are directly affected by the CTO's decisions.
As my last company grew, the CTO just didn’t have the bandwidth to be technical at work and delegated different responsibilities to the people who could wear both the technical hat and had the soft skills needed. He would just dabble in things on the weekend. His entire family was technical. His wife was a lead data analyst for a telecom and his daughter got an internship as an SWE at BigTech.
> I work with CxOs all the time in consulting now. I have no problem getting my ideas through CxOs or architecture review boards.
Something to consider: there is probably not much difference between technical and non-technical when their reports are good.
But a technical CTO can stand up to reports that want to go down an obviously bad road, whereas a non-technical CTO would have as much defense as I would at jiffy lube when the tech asks me if I want my fluids flushed. It kind of sounds like a scam, but I really don't know.
Very true. GP probably had good tech judgement which is why their technical CTO was following their judgement.
I told myself that there were only two positions at two companies that could have convinced me to leave. I got hired by one of those companies. He left less than a year later after the company was acquired for 10x revenue. He’s working somewhere else now. I would work for him again in a heartbeat if I were working anywhere else besides where I work now.
I am genuinely wondering if I need some jiffy lube for flushing those fluids of mine.
It... sounds like... a thing... that people... do?
The non-technical CTOs "defense" is having found which reports they can trust and support to make the correct tradeoffs. Then they do that. More broadly if your reports aren't competent or trusted enough to make the right decisions then find new reports.
The job of the CTO isn't to argue some stupid architectural point with people for hours. It's also not to blindly overrule them. Their job is to hire people that know more than them and can be trusted. Then it's to setup the processes within which those people can thrive.
In fact the problem with technical CTOs is that they can rely too much on their own technical knowledge versus fixing the damn organization. It's basically a bunch of band aids being put on a gushing wound.
In the roles they worked at immediately before becoming CTO they certainly should have had the technical capability and knowledge to do so, yes. Maybe not directly as CTO anymore but they need the grounding and experience to understand what the various tiers of engineers underneath them are grappling with.
"A manager actively avoids creating situations where their coding is necessary for the success of the project."
I agree with Aditya's article. A CTO must be technical for all the reasons stated. I would add another reason to his list: a CTO must be able to challenge the assumptions, plans, and estimates presented to him/her by the engineering team. Doing so requires technical acumen.
Contrast that to a tech startup, or any startup I suppose. Those CTO's absolutely need to be "in-the-weeds" capable.
Even at the company I worked at with 5000 people - the CTO was still nothing more than a glorified 'decider'. The company with 250 people - the CTO was far more necessary to be technical
Along those lines, I find the lack of connection to anything pertaining to product market fit equally horrifying. Sure, you might say, that's the job of the head of product.
But if you're the CTO, you are going to struggle to prioritize your engineering roadmap without very strong product chops, and moreover, you will struggle to "skate ahead of the puck" and ruthlessly cut out infrastructural nice-to-haves versus necessities. You may also blunder into architectural traps that come about from insufficient awareness of product risks.
It is a real cop out, and a vague one, in my opinion, to say that a CTO "should be technical." The big question is "what kind of technical."
In contrast to this blog post (which I find a little empty, sadly), I'd recommend one of my perennials favorites: Werner Vogels post about the 4 different kinds of CTO:
https://www.allthingsdistributed.com/2007/07/the_different_c...
What I like about the quadrant is that it maps the four kinds into rate of business change on one axis, and information as percentage of products/services on another axis. This is really useful because it lets you stratify what kind of CTO you'll probably be looking for based on what kind of business you're looking at, which is very important because the world of business needs for CTOs are /vast/ and heterogenous. CTO could mean many different things at many different companies.
A good framework for whether a CTO should be at X should also account for "at Y kind of company."
Certainly. That you noticed this aspect is deliberately omitted is very insightful; it's not really possible to discuss the matter intelligently without this information. CTO of a grocery chain is far different than CTO of an aerospace company. You can try to believe otherwise all you want, but you'll always come up wrong; the real world is complex and can't be abstracted away by titles.
The CTO should be able to have an informed and intelligent conversation about technical issues at a high level, but expecting them to be able to write code is not realistic.
Amongst other necessary leadership skills, I do agree with the author that CTOs should be:
1. Good judges of quality.
2. Able to make good tradeoff decisions.
3. Able to earn respect.
4. Able to inspire teams to greatness.
5. Able to recruit top talent.
However, it isn't necessary for a CTO to be able to do everyone else's job to have these skills and be a great CTO.
So a CTO should be someone that can still (and from time to time does) write code. Doesn't mean they do it every day, but still enough to give them insight into the development process.
I'm not sure if this is feasible in really large companies, but I think definitely should be the case in small and medium ones.
And believe me, to be a good CTO, you do need to be connected to technical details and understand the tradeoffs. Just talking to other people who code is no substitute.
In my case, I decided I will never again want to be in a management position where I cannot spend a significant amount of time coding.
Then one day new owners came and after talking to them a little I said fuck it and went on my own. Consequence of being close to burnout. Now 20+ years later even though I did not become rich I have my own one company where I design and create products. Some I own, some are done for numerous clients. I mostly work alone but hire subcontractors on on need basis and am happy like a clam.
He asked us why we can't "build the website on wix".
This strikes me as a very effective question.
Even if the answer is "because wix can't do asset fingerprinting, etc", then the CTO now knows the limitations of wix.
And, it also leads to the question: "why are responsive images, asset fingerprinting, etc _absolutely essential_ to solving the business use case", i.e. Could we build a valuable product even without those technical details.
I worked at software companies, where the CTO was equivalent to the CIO, and I worked at classical engineering companies where they had both, because their tech had nothing to to with IT.
As a software engineer, I've worked at companies where the both the CTO and one of the VPs were what I would call CIOs -- they were networking/infrastructure people.
Writing software in an org like that is often an exercise in insanity. To many infrastructure people, the software itself (and related topics like developer experience/productivity) are barely even things they can wrap their heads around much less care about.
I am sure that the inverse is true. Trying to do infrastructure work in an org run by software-brained people is probably equally difficult.
If a person who isn't coding all the time can pass your coding interview its too easy. A CTO should have been able to pass it in the past and possibly pass it with a little revision and practice, but for most CTOs coding ability isn't that relevant.
The pointy-haired CTO: "I read that most sites are using the PHP these days. Why aren't we using that? We should get started adding the PHP to our project. MongoDB go burrrr"
A technology company would have a VP of Engineering, because that's what the company does as a core business. A company like Boeing could have a VP of Engineering wrt the airplanes they build, and a CTO wrt their CAD systems. (I just made that up to try to give some flavor, not saying that's literally true)
I once reported to a CTO whose bible was How To Influence People and Make Friends.
He ordered a migration of 4 million records to be done in a weekend because he had promised the CEO “everything would be fine by Monday” but I had told him that that plan would require 5 days to put everything in place, even a rollback.
The fact that he refused to hear me out when I pointed out the infrastructure capacity and the SQL scripts tested beforehand to arrive at my estimate made me wary of management that doesn’t understand even the basics of the technology we use.
So I think it goes a long way when CTOs are technical. They can give more realistic deadlines to reports while being able to be reasonably honest to their colleagues about estimates and progress.
On the flip side, I once worked with a CTO who was technical, but couldn't make friends or influence people. End result was that he couldn't get senior managers behind his ideas or plans and nothing he tried to do went anywhere.
Someone who ties themselves to that level of detail thinking and keeps their expertise current (nearly a full time job in itself, these days!) can never develop truly great chops at product vision/conception, design, and the ability to build and inspire those teams to think in a way that leads to "insanely great" products. They are very different skillsets - there's a difference between a coder and a developer, and a developer and a product visionary and tech team inspirer.
BTW, as a 6-12 time (depending on how you count) CTO myself (including two venture backed with acquisition exits), coding interviews are a complete WOMBAT: Waste Of Money, Brains, And Time. I care about HOW you think about the problem and its relationship to the real world, since THAT is what makes simple, fast, "just works" software that people love to use.
But I knew when I spoke to him about a proposal, I needed to start off speaking non technical and talk about business value and business impact (when I got to technical he would say he “doesn’t have time to listen that shit” - we had a very good working relationship and we didn’t waste time with niceties when we were trying to get a point across to each other. When he had time though, we would need out.
On the other hand, the CTO I had before that hadn’t been hands on technical at all for over a decade. When I spoke to him, I spoke only in terms of the business value and the holy Trinity (on time, on budget, meets requirements).
In both cases, they hired me so they wouldn’t have to deal with those details and it was my responsibility to explain trade offs.
let me tell you, he's the CTO's CTO. all the C level skills, and his technical chops are legitimate and well documented. i was very impressed. :)
As an example, I was CTO at VMware (for their public cloud group, vCloud Air). My tech background and experience was very generalist, and I only managed small groups of developers for just a few years. I wouldn't call myself very technical, compared to someone with deep knowledge and experience in developing a product and managing a large group of developers.
As a CTO, I was mostly a bridge between clients and product. I needed my technical skills, but I also needed to understand how to nurture that relationship.
The various VP of Engineering at VMware were amazingly technical. They knew how to navigate the "politics" of the company (which was a bit over-organized and a bit dysfunctional, because of acquisitions, change of strategy, etc), but they mostly knew how to run a large team.
Interestingly enough, even some GM (General Managers) or specific business units could be highly technical, and it gave them a huge advantage in managing their CTO and the rest of their team (e.g. Martin Casado, brought in after the Nicira acquistion).
The team that builds the product (devs, senior devs, lead devs). Build here usually means code, design, ops.
The team that builds the team that builds the products (engineering managers, principals, staff, directors of X, maybe VP of X). Build here usually means building up people (hiring, firing and training) and making technical decisions with an intent to educate and influence.
Then there’s the team that builds the team that builds that builds the product. These are the CxOs, including CTO. The requisite skill here is engineering the organisation itself, not necessarily a fleet of services or APIs. This skill can benefit greatly from an engineering background (or just playing Factorio), but it’s broad enough that you also need to get into people management, psychology, marketing, selling (internally), consensus building etc. But it not directly related to code.
In some companies the CTO role is more important than others. If you are a tech startup, the CTO is likely a founder if not the main founder. However, there are also a lot of non-technical companies where the strategy is simply to build tech stuff as cheap and efficiently as possible while not getting in the way of the founders who tend to be non technical types running a company where tech is just a means to an end rather than core to what they do. Just because you have an app or a website does not mean you need a CTO. You might just outsource that to an agency even.
I've seen this a lot in the Berlin scene where a non technical founder team starts looking for a non founding CTO to build their thing and they end up with some engineer getting the label slapped on them. My advice to companies like that is that they should be looking for a VP of engineering instead and not slap CTO role on the relatively inexperienced early engineers they'll manage to attract to their company. More often than not this ends in tears; especially when equity is involved.
Often the roles of VP of Engineering and CTO are confused. They can be separate roles. Not all CTOs are good at managing large teams. And some engineering managers know a thing or two about tech. However, a VP of Engineering can be very hands off when it comes to tech. Building stuff is not their function. Managing the people that do is.
Lots of scale ups need one and the role is about nurturing and growing the tech team, not necessarily about having a lot of opinions on what the tech should be (other than be boring, low risk, predictable type stuff). Another difference is that a VP of engineering is not a C level executive and also not a founder. They are there to grow the business and make sure the tech team delivers whatever product needs delivering and that the right people are in place to make that happen. IMHO VP of Engineering is closer to and HR role than a tech role actually. You wouldn't expect them to write a single line of code. Lots of companies end up having both roles. Especially those with founding CTOs that turn out to not be ideal at managing their tech team.
Having seen dozens of code bases, products, and failed startups, the number one trait a good VPE or CTO should have is to vehemently prevent over engineering and accidental complexity - via coaching the tech leads, doing design reviews as needed, and making decisions and tradeoffs.
She should have strong opinions on how code should be organized for simplicity, but she should not code. If she can enforce good naming conventions and APIs, she is gold.
While some technical understanding is needed to contextualize operational costs, it is hardly a primary skill requirement.
Some may find it convenient to overburden employees with 6 roles in a small firm, it is often not a wise decision. Ignoring burnout factors, a company could end up with a very cool looking toy infrastructure, that essentially misses the subtle long-term stakeholder requirements.
Also, who hires an external employee for a CTO role… that sounds insanely risky. =)
Damage control is the primary Role... whether you want the task or not.
Most lack the discipline to tolerate that level of verbal abuse. ;)
I checked in on him maybe 6-9 months later. CTO no longer mentioned anywhere on his LinkedIn.
A CTO shouldn't necessarily be super technical, but they should understand technology in ways that maybe a regional sales director wouldn't. And don't get me wrong, he was a smart guy in his own way, but just not as smart as he was dead sure that he was.
X should be great at X. All other things matter less. Now if you figured out what X needs to do, that's only half of it. You also have to excel at it.
I don't buy some of the specific examples in the post. Passing/excelling at coding interviews? Come on. That's not what CTOs are for. I wouldn't want my CTO to waste time on these things, because if they did, they're not pulling their weight at the things they should do.
Technology is dominated by two types of people, those who understand what they do not manage and those who manage what they do not understand.
https://github.com/dwmkerr/hacker-laws#putts-law
The underlying reason for Putt's law is the finite space of the human cranium and finite hours in the day.
Even if you consider intellectually demanding fields such as mathematics and physics; although they do train your critical thinking skills, they don't teach you how to be pragmatic. Software engineering can help you to develop a pragmatic 'most efficient path to meet the goal' mindset.
A small company needs an expert tech but that role is really a director or senior manager that gets the title as CTO as an ego boost when in reality it is the role of a senior manager or a director.
If your company is small a CTO title is a misnomer. It's important to point out that a CTO's role will change depending on the company's size.
I was very surprised to read that someone would think this, so I thought I'd check whether it's true. Here are some recentish famous conductors selected from https://en.wikipedia.org/wiki/Conducting; though I didn't make an effort to select very randomly, this ought to include most of the most famous conductors:
- Herbert von Karajan: child prodigy at the piano, continued studying piano into his 20s, no notes on whether he continued playing in later life or took up more instruments
- Marin Alsop: studied violin at Juillard, played violin in the New York Philharmonic and the New York City Ballet, no word on whether she still plays today
- Simone Young: studied piano at the Sydney Conservatorium, played piano as a répétiteuse at Opera Australia, no word on whether she still plays today
- Alondra de la Parra: began studying piano at 7 and the cello at 13, studied piano (and conducting) at the Manhattan School of Music, received BM in piano, no word on whether she still plays today
- Seiji Ozawa: began studying piano at 9, studied piano at the Toho Gakuen School of Music under Saito until he broke his fingers and couldn't play anymore, consequently switching to conducting, no word on whether he's taken up other instruments today
- Myung-whun Chung: won "joint second-prize in the 1974 International Tchaikovsky Competition" as a pianist, still famous as a pianist today as well as a conductor
- Henry Jay Lewis: child prodigy on various instruments starting at 5, famous as a double-bassist as well as a conductor, "first African-American instrumentalist in a major symphony orchestra" as a double-bassist
- Charles Dean Dixon: no information about whether he knew how to play any instruments. However, the New York Public Library summary of the Dean Dixon papers https://archives.nypl.org/scm/21001 says, "Dixon began studying violin at the age of 1 or 2, and played most of the instruments that comprise an orchestra."
- James DePreist: played percussion in a jazz quintet, was sponsored by the State Department at age 36 to tour "the Near and the Far East with DePreist lecturing and performing jazz," when he got his first chance to conduct an orchestra, in Bangkok. Contracted polio on the tour. Published two books of poetry. No word on whether he continued to play instruments for the rest of his life.
- Paul Douglas Freeman: no word in Wikipedia on his instrument-playing abilities, but https://www.chicagosinfonietta.org/wp-content/uploads/Paul-F... says, 'Music lessons were also a required routine when the Freeman siblings grew old enough to
handle them; Freeman started piano lessons at age five, and he soon took up the clarinet as
well. He took clarinet lessons at Richmond's Armstrong High School while still in elementary
school and took lessons at Virginia State College in Petersburg while in high school. His
conducting debut came at age 14 or 15, when his clarinet teacher fell ill and was unable to
conduct the Armstrong school band for its scheduled performance at a PTA meeting. Freeman
stepped in as a substitute. "Although the ministry was an earlier career interest, a maestro was
born that evening," Freeman wrote in a letter quoted in the book Black Conductors.
Freeman soon added the cello to his instrumental arsenal, and his teachers started urging him
to consider a career in music.' And https://www.thehistorymakers.org/biography/paul-douglas-free... says, 'Freeman attended the Eastman School of Music, where he earned his B.A., M.A. and Ph.D. degrees, with his principal instruments being the clarinet and the cello,' explaining that his conducting career began after that.
- Michael DeVard Morgan: began playing piano at age 8, was conducting two orchestras by age 12; performed chamber music on piano in the "Chamber Music Alive" series in Sacramento, California.
- Arthur Nikisch, "one of the founders of modern conducting": studied at the Vienna Conservatory, winning prizes for "composition and performance on violin and piano". Worked as a violinist in the Vienna Philharmonic.
- Fritz Reiner: studied piano under Bela Bartok, no word on whether he continued playing in later life or took up other instruments.
- Arturo Toscanini: studied the cello on a scholarship at the local conservatory, toured South America in the orchestra of an opera company and had his first conducting experience when the players went on strike against the previous conductor; continued playing cello, including in the world premiere of a Verdi opera, until "Toscanini's reputation as an operatic conductor of unusual authority and skill supplanted his cello career".
- Wilhelm Furtwängler: no word in the Wikipedia article about his talents as an instrumentalist, but https://www.gramophone.co.uk/features/article/wilhelm-furtwa... says he was "also a very capable pianist", http://patangel.free.fr/furt/bio_en.htm says he started studying piano at 7 and played piano in the Lübeck orchestra and the Vienna Philharmonic (in which case he was also conducting). http://www.scena.org/lsm/sm3-5/sm3-5furtwangler.htm says his piano studies began at 4.
- Leopold Stokowski: sang in the choir, elected to membership in the Royal College of Organists at age 16, "appointed the organist and choir director of St. James's Church" at age 20, then "began work in New York City as the organist and choir director of St. Bartholomew's Church", and did not begin conducting until age 27. No word on whether he played instruments in later life (presumably he did not have his own pipe organ.)
- Otto Klemperer: no word in the Wikipedia article on playing instruments, but https://www.encyclopedia.com/people/literature-and-arts/musi... and the more-reliable-appearing https://www.bach-cantatas.com/Bio/Klemperer-Otto.htm say he studied piano at the Hochschule fuer Musik in Frankfurt and in Berlin. http://web.archive.org/web/20090502025309/http://www.klemper... says, "The teen-aged Klemperer soon established himself as a pianist of note, performing Beethoven's Sonata in D major in a conservatory concert and serving as accompanist to the celebrated baritone Julius Stockhausen," and explains the move to Berlin by explaining that he was following his piano teacher James Kwast, who had moved to the Klindworth-Scharwenka Conservatory and then the Stern Conservatory, and that Mahler recommended him as an "outstanding musician" on the strength of his piano performances as well as his conducting. No word on whether he continued playing piano in later life.
- Leonard Bernstein: taught himself piano at age 10, played piano at the New England Conservatory and the Boston Public School Orchestra, accompanist for the Harvard Glee Club, studied piano at the Curtis Institute of Music, played jazz piano at the Village Vanguard, noted as an adult as a pianist, surprised Aaron Copland by playing Copland's Piano Variations at his birthday party, "often conducted piano concertos from the keyboard".
So, after looking long and hard, reading through the biographies of 18 different famous conductors, I was unable to find even one great conductor who didn't know how to play instruments. Most of them were in fact very talented instrumentalists; a few were world-famous as instrumentalists. Most of them dedicated many years of their lives to learning to play instruments. The only one I could find that didn't have a paid music career playing instruments, as well as conducting, was Seiji Ozawa, and that was because his piano career was cut short by a crippling hand injury. (And I wouldn't be surprised to learn that Ozawa played horn or something in his spare time, even if he didn't perform publicly.)
Evidently conductors who founded orchestras without having world-class skill in playing at least one instrument did not achieve the level of excellence of the ones in my list above, and the folks who select conductors to conduct existing orchestras evidently consistently select conductors with world-class skill in playing at least one instrument. Perhaps, as you seem to be saying, they are wrong to do so, and a basic level of skill in one along with understanding the realities of playing each one would be sufficient. Conceivably it's an outdated or simply incorrect prejudice, similar to how almost no women were selected as conductors or even orchestra instrumentalists. But that doesn't seem like the way to bet.
It's a little like an orchestra conductor. They don't (usually) play an instrument on stage, but they certainly can, and they have a deep understanding of each instrument in the orchestra, its function, potential and how it is operated (so te speak), and of the score itself.
The CTO would not be involved at all in the daily performance of concerts; the CTO would be the one setting standards for the instruments and their maintenance, auditing and overseeing the acoustic treatment of the concert hall, and advising the CEO on new upcoming instruments that might make a great addition to the orchestra.
A CTO of a tech company needs to be super technical.
For example in Vercel, even CEO is a technical person.
This doesn't mean they SHOULD do your job, or HAVE to - just that, they could - and are therefore qualified to manage you - while you do it.
The Peter Principle is real, and legitimately a source of massive waste and inefficiency in the world. Simply refuse to work for someone that cannot do what you are expected to do - and you will be building a better organizational framework.
The corollary is interesting: don't try to manage someone if you can't actually do their job, either.
People should be made people leads because they are good people leads, not because they are good ICs.
>People should be made people leads because they are good people leads, not because they are good ICs.
Good people leads don't lead people whose jobs they can't do. That's the point: if your boss can't do what you do, he's not leading - he's letting you lead, while following along on an elevated, speciously constructed platform.
Don't fall for it - always demand competence from your own leadership.
That just doesn't work. I don't need to know how you achieved something to know I want it done. Unless you expect every people lead to have all the skills of all their reports, so each level becomes exponentially more impossible to achieve.
As I see it, CTOs are responsible for
- Making Build/Buy decisions
- Hiring
- Setting up a culture of learning
- Balancing tech and product priorities
- Setting up delivery processes that work for the team
- And finally for architecture and system design
I feel in that order of priority.
Ideally the CTO or council shouldnt even have to make the decisions most of the time. But every company should have intensive hard debates, struggles, long and hard, about what technically to build and how. Most companies take a hands off approach, and leave folks to hash it out among themselves & figure out in structureless ways what to do. This rarely results in real feedback, in better options being picked; the tyranny of structureless happens, grows amid the absence of there being considered seasoned wise people about who can ask sharp insightful pointed questions at everyone, who can make plainer what the tradeoffs & real costs really will be.
Without sharp technical competency high up in the chain, discussions turn into a formulaic sad debate: the people who dont tech argue for lower estimates (or when they dont like hearing about hard work they force a change in direction), the knowledge workers get sadder and sadder that no one can see what the problems & situation really is or that there is no one around to fave & tackle the obvious/real challenges.
A technical executive team can argue with team the opposite: your plans arent comprehensive enough. You arent accounting for enough cases, seeing enough of the problems. Your scope isnt ambitous enough. The tools & libraries you are picking will have issues here & there that you havent seen.
Very few corps seem able to understand their own hierarchical ignorance & stupidity. They trust in their chain of command as people leaders, with ultimately teams in charge of making good decisions. I tell you: this is not enough. Teams want buy in in a real sense from above. They want senior staff who understand in a real way & can provide some real guidance & advice. Few companies have this at all.
Earlier today there was a 2011 piece on Jobs (a man I'm mixed on, but) his advice on saying no, on cutting out cruft[1], is something that is at least as much technical as it is product. And few orgs know how to keep & retain technical talent, technical council, that isnt people managers, but tech managers. Those companies that can actually take ownership of their product from the top, that know what they are really doing, have a much greater potential to cut the cruft, to steer toward better. Few do.
Technical know-how doesnt have to be the CTO's role, but it really should be a function high up in the org that is visible, respected, & active. Too many orgs are technical only at the bottom, and there need to be more active chains of understanding & respect within an org than that for real positive growth to happen. This is, for sure, one of the hardest least addressed issues in tech, & a key to doing better. But tech is often left out of the room, & closing the gap is hard.
[1] https://www.forbes.com/sites/carminegallo/2011/05/16/steve-j... https://news.ycombinator.com/item?id=32985952 (2 points, 9 hr ago, 4 comments)
remind me not to apply to any SPC companies, nor use their products
(disclaimer: I know him personally and his credentials aside, think he's extremely knowledgeable about engineering leadership and company building in general)
IMO,a CTO is a combo between tech and product. They have a (fairly) good understanding of tech but they understand that tech is there to support the product. I'm ok with a tech CTO and I'm also ok with a people-CTO, even a product-CTO or even (ok, hardly) a business-CTO, but let's not gate-keep the CTO role (and it's just a role!).
ps. yes, I know CTO means Chief Technical Officer - but if you really think about it, tech is there to support the product, so it's really un-productive to focus on the tech when it would be better to focus on the product.
ps2. let's stop with the very <b>confident</b> titles, IMO most of the time they're simply wrong (I'll dig in my history for more examples)
The CTO absolutely must be technical, not just because of respect, but also because other C-level execs need someone to explain simple things to them. If not, then you end up like Intel.
[1]: not as in be CTO and do a workload of senior engineer, but rather "if you weren't a CTO, would you be hired as a senior?"