6 ms·
Ask HN: How to deal with incompetent, obstructing CTO?
Beginning:
- I started 9 months ago for a company building battery management systems.
- The company is one year overdue delivery, customer is overly patient.
- 3 developers quit one year ago due to dysfunctional leadership (I learned).
- 14 days after I start, old CTO quit because of long-covid health problems.
- 14 days after that, new CTO joins.
Middle:
- Other devs are introvert and communicate little (no docs, no comments, empty commit messages)
- "I can fix this!" -- CI, testing, linting, issue management, strategy: I'm de-facto software lead
- First 3 months, new CTO stays mostly in background, mostly focuses on low-level hardware problems
- Gradually, CTO starts disturbing developers now operating at 30-40% capacity on their main tasks
- I present statistics to CEO and CTO and over 3 weeks, CTO stops bugging developers as much
Crux:
For the past few weeks he's been working from home on "future design documents". I showed him "ADRs" (architectural decision records) but I made them live in the issue tracker instead of in git to minimize the effort of cleaning it up afterwards.
I've told him kindly that what we're making is principally equivalent to his vision, but he needs to let software people design the actual interfaces and implementations. I've tried to say what he's doing is premature generalisation: Instead of making overly generalised software interfaces over hardware ("A battery is like an inverter in that they are both POWER UNITS!" (I'm not kidding.)), he should find out how to make the actual hardware work. I've been bold and told him: His current work is a waste of time. I even resorted to bullying by tagging all non-sensical ADRs with "POWER UNITS", and ended up apologising.
Recently, he started drive-by commenting the issue tracker, closing random issues because "fixing this is not worth pursuing right now" instead of reordering an infinite backlog. He started creating a bunch of "projects" with unrealistic or no timelines. He remembers details wrong. He remembers problems as solved when they're not. He lies to our customer to downplay the product's state, and it's shown at least a dozen times.
He repeatedly tries to book developers to listen to his ideas for hours, but nobody is buying into it.
Having been booked for a two hour meeting with the most senior architect guy, I asked him how he copes, and he told me he's been just as bold with how stupid this is, and our CTO brushed this off as well.
Time spent with him feels like lost time: He can't provide details, and he can't contain them either.
He strong-armed that I could run Linux in spite of policy.
And he fixed real hardware problems in the beginning.
He's a nice, awkward guy; I like him personally, but he is worse than useless to me as a boss.
Lately I've applied for similar jobs with a clear "Lead" in the title.
I really like this job. I like coding Rust, having an impact, growing my leadership skills, the commute, the simplicity of a small place, the potential to grow production, and the vastness of scaling operations here.
But I can't accept this obstruction, and I don't know how to be nice or constructive about it.
I want to find an alternative job and wave this in front of my leaders and tell them I'm neglecting more salary and less stress, and I don't see the upside.
I can't ask my CTO to quit or I will. I've been hoping he would quit for 6 months, but it's just got worse.
What should I do?
Sorry for ranting.
- wmf 3y agoI've been there. You just have to find a new job.
- plz-remove-card 3y agoI've been in similar situations before, and even quite recently and I've started taking a more stoic approach to work and it's greatly helped my metal health. That is to say, I focus on what I can change or improve and let someone else deal with the rest. I've put too much energy in the past on things I can't change, broken processes that everyone else is completely OK with, lack of testing/CI, horrible leadership teams, bad architectural decisions. If I can change any of those things I do, but a lot of time it's political and really difficult, you often have to "boil the frog slowly." I also try to squeeze the absolute most I can out of the job to advance my career. Any chance I can to gain a new skill or improve existing ones, or just work on something interesting, that's what I'll do.
- sinclairX86 3y ago> a more stoic approach I tell myself to be more stoic every week, but I can't. If I just wanted a well-paying job with a good work-life balance, I'd be working in fintech. I keep this mental image: I'm on a ladder, and my CTO is standing above me and won't move. If he could either move at my pace focusing on bigger problems than me, or get out of the way, I could make this work better for both my employer and myself. If there was just a way to nudge him into place. There is an Andrew Tate soundbite [1]: > "There is a secret to the universe [...]: If you actually try your best, you can't lose. Not pretend to try your best, not try your best 90% of the time, not try your best with excuses. If you genuinely try your best all of the time, all day, every day, [...] it is impossible to fail in this life. [...] You cannot fail if you try your best." Maybe when I have kids, I will feel like I won the lottery, and I won't be so competitive. Until then, I don't know what will be my life's work. But I know that cultivating a relentless attitude maximizes my impact. If I could just learn to be nice about it. [1]: https://www.youtube.com/watch?v=4AgEuHFl4TU https://www.youtube.com/watch?v=4AgEuHFl4TU > a lot of time it's political and really difficult I can sense the political dimension in this. Being a tiny startup made of awesome inventors, it's a lot less than most places I worked. We need a CTO for CTO-y stuff. In many ways I'm happy this isn't my responsibility: Slides for board meetings, putting on a suit and shaking hands at conferences, hardware certification paperwork, and the really hard work: Be responsible for all software, hardware and material design. The step I'm making (Senior to Lead) is much smaller than what my CTO is trying (middle management to CTO in a very technical industry), so he is expectably meeting more resistance than me. I can really understand and sympathise with his difficulties. But I cannot respect his coping strategies. > advance my career [...] gain a new skill or improve existing ones This is excellent advice, thank you.