It does sound like burnout, and also like not being in the right environment (which contributes to burn out). I had one job where there was a lot of technical debt, but my manager did not respect me and my colleagues had what was basically a "learned helplessness" attitude. So I'd go around trying really hard to make things better, but everyone responded to me like I was just crazy or naive or didn't know what I was talking about. Thankfully my previous job had been one where I had earned a lot of respect from my colleagues and managers, so I knew that I wasn't the problem, but even knowing that I found the doubt starting to creep in.
I left. My new job has lots of tech debt, lots of processes that are broken, but when I propose changes people listen. When I put in the work I can see progress. It's hard work and frustrating, but I know that it's because the problems I'm tackling are hard, not because I'm a failure or lacking. That's a very different environment.
I can only give a very broad bit of advice here -- having a positive, open environment is very important. Gaslighting will bring down even the most secure, confident person over time. If you can't change the environment, leaving to find a better one is the right thing to do. What that looks like will differ on one's situation -- might be a long break from coding, might be changing teams, might be changing companies. But we absolutely need people around us who believe in us to work sustainably.
Thanks for sharing your experience. I’m also going through similar issues with gaslighting at my job right now which I attribute to a few insecure colleagues and managers in a heavy tech debt laden environment. It’s done major damage to my self esteem lately. I was feeling very confident as a developer and tech lead until joining the team I’m on now. I’ve been constantly questioning myself lately even though my intuition, which I’ve normally trusted in, is telling me it’s not me, it’s my environment. It’s taught me a lot about my limits to take on constant streams of bullshit and I’m hoping to move on soon and heal the damage. I’m just hoping it’s something that doesn’t haunt me for years to come. What you shared gives me some hope!
It’s taught me a lot about my limits to take on constant streams of bullshit and I’m hoping to move on soon and heal the damage.
Best of luck from someone who's been there! With hindsight you'll be able to draw lessons for self improvement, and also realize just how much really was the fault of your environment, with nothing you could have done differently. Just take some time for yourself and learn what you can, and what to avoid in the future.
I kinda figured I might be going through some burnout. I have thought about taking a sabbatical to try and recoup from it a bit.
The company itself is great. All of the feedback I receive is very respectful and understanding, it still just eats at me though. We're even working on a plan to address some of the tech debt/complexity in 2022.
I think my self-doubt is just being on a podium at work teamed up with being burnt out. Maybe an extended vacation is really what I need to do.
> Maybe an extended vacation is really what I need to do.
100% adding a +1 here that this sounds like the right thing to do to start.
> it still just eats at me though
To me, this stands out. I think it's important to answer the "why" here at some point, whether that be before/during/after an extended break. Some potential things to investigate:
- Maybe the company is respectful, but the environment is still too critical / focused on bettering code constantly rather than focusing on product.
- Maybe there's too much focus on code quality over product generally, to the point that it's not helpful.
- Maybe it's not actually as respectful and understanding as you originally thought.
- Maybe the way it's delivered works for others but you need a different format and can communicate that need to others.
- Maybe the feedback coming from people below you (reading into "on a podium") is different than from peers and you're internalizing it.
Whatever it is, I hope a break helps you reset and gives you space to figure it out!
I was CTO at a company and ended up managing a team of just under 20 developers and although I didn't feel the same way as you do right now, I did absolutely feel that my technical skills were becoming increasingly rusty. The Javascript revolution passed me by, Typescript was a mystery to me, all sorts of interesting things were happening in the cloud and I just wasn't hands-on with any of it.
Although my management and business skills were continuing to improve (and, I think, got to be quite strong), the loss of my technical competence did bother me. I ended up leaving and now I'm working as a CTO but with no team - more of an individual contributor, at a senior level in the company. I write code every day and over the past year my technical skills have mostly returned, and I've gotten to learn all sorts of exciting new stuff.
With that said, one of the biggest things I've learned is that, once you know how to write software, it's not that hard to get back into it. Learning Typescript has been straightforward. VS Code is a joy to use, but hey, Xcode was pretty great too. If having strong technical skills is important to you, then you have to change your focus and get back into it. But know that you can do this any time you want. On the other hand, if you value the skills of people management, reporting to a board, managing investments, etc., those are things that are hard AND valuable.
At the end of the day it's just about choices, you can't be great at everything. Good luck!
> I had one job where there was a lot of technical debt, but my manager did not respect me and my colleagues had what was basically a "learned helplessness" attitude. So I'd go around trying really hard to make things better, but everyone responded to me like I was just crazy or naive or didn't know what I was talking about.
This is the sad truth at way too many orgs, even YC funded ones. Several times I have come in as a "highly respected CTO", and the things I end up doing that work are simply the same things the previous CTO was trying to do, but he/she wasn't able to get buy-in because of lack of respect from the non-technical parts of the org. Aggregating respect unfortunately goes a very long way.
Any tips or lessons learned on working with the non-technical folks? This is a struggle I am dealing with and am constantly trying to improve in. They want to do things their way, which might work okay but is inefficient and not in line with the technology goals of the company. Hard to wrangle them - they run off and do things without talking to me or the people in my department, not considering the plans technology has. I've been a CTO in the past and though I am not in that role now, we don't have a CTO and I am best suited so trying my best to fill in...
Unfortunately what has worked best in practice for me is:
1) Curate your resume and experience for years so that people will take your opinion very seriously (whether you deserve it or not)
2) When you know something is going to fail, call it out in advance with stakeholders and do whatever you can to pump the breaks and/or change course. If you have a lot of respect, you can use this to force an uncomfortable decision that someone without much respect might not have been able to push through.
3) Be VERY insistent in pushing your proposed mitigations when you know something is going to fail and know what will fix it. If you're sure, stake your career on it.
4) When people don't listen, and things fail because they didn't listen, in yearly review / feedback type things say "if only I had pushed harder for X, then Y might have been prevented" which is a nice way of saying "should have listened to me". Eventually everyone will just listen to you in the first place.
5) If you see the writing on the wall and no one is listening to you, exit while conditions are still favorable (I never actually do this, but I probably should).
6) When you are wrong, take responsibility, but only for the parts that are actually your fault. In reality the surface area of any one person's portion of blame in most situations is quite small anyway. Most decisions in orgs can be traced back to at least 4 people.
7) Make accurate predictions of failure if we don't take X course. When these come to fruition, you called it, when they don't, you still come off as very prepared for anything.
At the department level. Split them by probing for rifts between departments. Prioritize one group's project over another. Use department lack progress as dirt on that side's leadership. Get leader replaced and bring friendly face. Now both sides are friendly and open to better policies.
As a manager pretending to be CTO let them do what they want or you will be seen as the problem. Look for power shifts between departments and ally with the correct side. If your company wanted a strong CTO they would have hired or promoted someone. If you want to be in a position to be a strong CTO make powerful friends or get promoted and gather experience and win some awards.
> They want to do things their way... Hard to wrangle them
This can happen when the software group is seen as incapable, unresponsive, or even just slower than "business speed". I'd suggest talking to the individuals and their leadership (separately) to learn more about why they adopted X without talking to your department. You may well uncover missing or broken lines of communication, entrenched negative expectations ("it takes a month to get a simple DB query run, why would anything else be faster?"), and/or find processes so onerous that everyone tries to avoid them.
I've seen that happen at more than a few workplaces. It's a very interesting phenomenon, almost like a cultural helplessness that seeps into an environment. The crazy thing is that it only takes one or two people and everyone gets infected eventually. It seems you have to have a very, very strong personal fortitude to resist it.
I think the "sense that you can change things", for which positivity is required, is the single most valuable asset that a company/team/whatever can have.
Yes but why? I mean why bother when it feels like trying to move rocks alone and even if you do you won't get recognition in any form. What can you do if the org just does not get it?
> I left. My new job has lots of tech debt, lots of processes that are broken, but when I propose changes people listen
I'm in a non IT position right now and everybody is so stuck in the swamp everything is a 'no'. It now devolved into neverending politics. Mail fights and delays. A weird kind of bore and burn out.
>I had one job where there was a lot of technical debt, but my manager did not respect me and my colleagues had what was basically a "learned helplessness" attitude. So I'd go around trying really hard to make things better, but everyone responded to me like I was just crazy or naive or didn't know what I was talking about.
Heh, the job I just left had a team like this.
I'd bring up ideas _for discussion_ all the time, at the very least to make my team members reconsider how we handle certain things. Even if my idea weren't the accepted one, we really had good reasons to improve our status quo. Yet just like what happened for you, when I'd call out some issue or situation the response from the team was that I misunderstood something or was crazy or etc. It gave me a lot of self-doubt, but I'd also bring up the issues to a senior engineer and he'd agree that usually my topics were worthy of at least some discussion since they had the potential to become improvements.
What would drive me crazy is pointing out code that _clearly_ did not do what it was supposed to do and get back, at best, a shrug. I think I'm pretty open minded on most tech topics -- I started with PHP! If the code works I'm happy, everything else is gravy! -- but to have people insist that, no, this is fine and, yup, being on-call with services guaranteed to wake you up at 2AM at least once during your rotation and our stakeholders sending nasty grams once a month is just normal... crazy making.
I blame the terrible education system and software hiring practices. Graduating students don't know how to build software in a team, businesses do not properly onboard, and hiring practices are like an exam that has nothing to do with the work being done. Companies are becoming more averse to hiring those that actually learned software and didn't just fluff their resume with degrees and bootcamps because less engineers are doing the hiring.
Those that didn't have to work for it sit back and enjoy the paycheck while getting by with the minimum amount of work. To everyone involved work can just be a free payday, if the product fails they'll move elsewhere. Or if the product is too big to fail it's guaranteed anyways. Actual engineers are a rarity, and these companies don't like them because they point out how management has been milking the project.
I left. My new job has lots of tech debt, lots of processes that are broken, but when I propose changes people listen. When I put in the work I can see progress. It's hard work and frustrating, but I know that it's because the problems I'm tackling are hard, not because I'm a failure or lacking. That's a very different environment.
I can only give a very broad bit of advice here -- having a positive, open environment is very important. Gaslighting will bring down even the most secure, confident person over time. If you can't change the environment, leaving to find a better one is the right thing to do. What that looks like will differ on one's situation -- might be a long break from coding, might be changing teams, might be changing companies. But we absolutely need people around us who believe in us to work sustainably.