After a couple years I hit the big time and got a job at a tech startup that was blowing up. There was one really successful project I worked on, and otherwise I didn't really accomplish much - the whole organization I was in was very dysfunctional and we churned through management and new projects really quickly, but nothing really landed. During this time our stock price went crazy, and I sold all my stock to make a down payment on a house and max out my retirement savings. Eventually the mismanagement got to me - every project seemed doomed to fail, and I was paralyzed with indecision daily. They promoted me to the level where I was supposed to propose and run projects, and I hated it.
To try and get back to building things, I joined a small startup around the time the pandemic started. Everyone there gave me great feedback, but there was no product focus, very little management, and ultimately it still felt like the things I was working on didn't matter or lead to anything. The product itself was hard to use and had so many problems that I couldn't imagine trying to untangle them all, so I left after a year.
At this point I was terrified that I just couldn't work in tech anymore. I had developed medical problems from stress, and took months of time off to try and recover. There was nothing else I wanted to do for work, but the thought of sitting down and building anything was terrible.
Fast-forward to today - I applied for and got my dream job, working at another very successful startup that has a lot of high-performing people. They get things done, and the product is great. It's been a couple months and I have achieved nothing. Not a single PR merged. I came in with all the momentum from my unemployment, all the enthusiasm and energy I could muster, and proposed a bunch of projects. Nothing landed. My manager left a few weeks after I started, my onboarding buddy has been absent, and the fear has started creeping in again that I'm alone and can't hack it in this high performing team. If I can't work in the tech industry it would completely upend my entire life.
Does anyone have any advice from a similar situation? I think I need more support and guidance but my experience has been that tech companies don't really offer that, and also that everyone seems happy and successful regardless.
Most of my best times as a software engineer was when I worked at non-techy firms. When I worked at a local NPR affiliate station, I was able to both solve new problems and improve existing things without a lot of the buffoonery seen at a lot of hip tech firms. As a mid level developer at the time, I had lots of room to try things and could afford to fail, yet my seniors actually had time to help.
A lot of people not happpy with their careers should consider non-tech over hip startups, Silicon Valley, and fintech. You will still encounter headaches, but you may also avoid a lot of the mental agony from the big tech world.
I run an ecommerce business, which is at best tech-adjacent (honestly I would say a farm using fairly advanced technology for their industry is more of a tech company than me using Shopify to sell dog treats online), and people love hearing about it.
Honestly, part of why I left enterprise software was because I found a lot of the SMB customers I worked with really inspiring. They were doing something... real/physical/tangible, and of course the ones who were looking at our software were the smart, tech-savvy types who I could relate to.
While I have very little desire to go back into enterprise software, sometimes I do get pings from recruiters hiring for companies that do stuff like agtech, and I think that working on something like that (as opposed to making software for call centers, which I have done) might be worth getting back into the working world for.
It gets exhausting having to repeatedly say "we are going over budget due to unforseen complications as a direct result of low quality code".
It gets exhausting having to constantly rework solutions to fit the boneheaded design decisions made with zero forward thinking.
If you show up saying you can develop apps and also manage servers, handle complaints, etc., they will often hand you a lot of responsibility to do things yourself.
Not great for advancing as an engineer unless you actively challenge yourself, but I’m just suggesting that it’s a field out there.
I did this for an education company. Been employed over a year, developed a few web apps for them, basically been handed keys to the kingdom, and they love my work.
My previous job was Generic Startup 7,923™ with a company-provided snack table, and company-provided lunches once every week. The other devs there were decent people. My boss certainly expected too much though. Now I know what not to look for in a job.
This is how I make money. I create products that serve real needs of real businesses / people. Bit of warning - I am not a direct employee for those businesses, I have my own company that does product design / development and contract as such. Still I get much satisfaction looking at my products doing something real
I think that's true when joining a young startup (e.g. company less than 2-3 years old).
But there are plenty of 15-40 person "startups" that have been around for 5+ years and are profitable - I would say these types of companies are good to join (if they've had a stable and consistent management team) since after 5 years, the company would have worked out most culture / HR kinks.
PS - things like "are you profitable" and "tell me about the management team/culture" are very acceptable questions to ask during an interview.
Edit: "how many employees were there 1 year ago" is also a good barometer for how hastily the company is scaling. If they're 100 today but were 50 a year ago, I'd steer clear. As another commenter mentioned, go for slow and steady growth startups rather than high/fast growth.
I think the distinction has more to do with the culture / vision of the company than just company age.
Neither really have much to do with age. An agency can be doing contract work for 10 years looking for a business model, and it could technically be a startup.
Honestly never understood why joining startups is meant to be so amazing unless 1) They are working on exactly the niche that YOU personally want to work in and 2) The startup's company culture is exactly your kind of weird/niche culture too. IMO unless it's a perfect match, you're going to have a bad time as there is less stability and diversity of ideas/experience in small startups.
I love large orgs because there are tons of characters, experienced professionals and frameworks designed to support and enable me. I can always move projects when I get bored or something isn't right.
I would join a startup however if there is something very very specific I want to build and I want to circumvent all the corporate barriers/rules to move fast and ship something. But so far, I've not felt that yet.
This comment is so underrated. In most big companies, if your manager is an asshole or the project is boring, you can always move to a different role.
People who switch faster either have very accommodating leads or they feel secure enough to give an ultimatum.
Meanwhile, investors reward the company for "traction" and regardless investors both private and in the public markets reward growth at whatever expense and first-mover / big-mover advantages.
The sweet spot are those financially stable, slowth growth companies with enough employees so that people aren't worn too thin but not too many that the wheels are coming off. Often that's around 100-300 or so, could be less a bit more.
It sort of sucks, but idk - in my late twenties I'd like to think I have a much better understanding of what makes me happy now.
I'm actually trying to pass FAANG interviews and it sucks, but at the same time I've realized just optimizing for TC over the next few years is something I actually prefer.
I happen to be close to some people who work at the CDC tabulating death statistics. You know what one of their greatest success stories over the past few years was?
Updating their death-reporting from once-per-year to once-per-month (albeit preliminary / unreliable statistics, but monthly reports nonetheless). They still revise the numbers up to a year out but it turns out that having this project done _BEFORE_ COVID19 hit helped a lot, since decision makers at the White House (and other parts of the country) got the statistics they needed faster.
And before you say its easy: the 50 states have 50 different death certificates. The information is standardized but the data-entry and reporting methodologies are non-standard. Plus territories (ex: Wash DC, Puerto Rico, Guam also have their own death certificates). Pushing for more standardization (ex: the rules for how to report COVID19 deaths and on what line) and pushing that training out to doctors also results in partisan bickering, as you might expect.
----------
Doing these kinds of things is a massive undertaking in general. If computers were easy, everyone would do it. A lot of it is just growing up and realizing that the Iron Man movies you watched 10 years ago are unrealistic crap, and that the daily grind to make small bits of progress are hugely important.
Other bits are to truly celebrate these accomplishments, even in the face of widespread disdain. There's a ton of people giving crap about the CDC's death statistics with regards to COVID19 (some legitimate criticisms due to the accelerated release schedule they've got behind monthly statistics). But a lot of the criticism is just partisan bickering that no one really takes seriously. Everyone basically agrees that monthly-reporting (though less accurate) is better than waiting a whole year.
Still, its hard to argue against progress or the usefulness of this "monthly death statistic reporting" project. Originally created in response to Hurricane Maria (where US Newspapers reported a different death number than the CDC), the whole project was launched just in time for COVID19 (and was online for part of the opioid epidemic as well).
EDIT: That goes to show what a "real success" is like. Its like lighting in a movie: if you do it perfectly, no one notices. If you make the slightest mistake, a ton of people online make a big stink about it. High risk, low / non-existent reward. But its hard to deny the importance of the project. This is the prototypical "easy job but not really" scenario, everyone just expect it to get done, people don't really realize how hard it is to do (50+ states with 50+ different formats. In the case of the Opioid Epidemic, there was new language being used on Death Certificates that didn't exist before, words like Fentanyl, and people just expected the CDC system to automagically detect these words, new-misspellings and collate results together despite no one actually asking for that feature, etc. etc.)
There's a lot to be said for getting into a rhythm of picking an issue, solving it, and merging it. Doing it a few times can be a real confidence booster.
What's the reason behind having no PRs merged? Did you create them, only to have them rejected? Have you not completed the work for any? Is there nobody to review them?
Also, just how big are the issues in your tracker?
I'm going to assume that everything is in place to get a PR merged. Given that, try to find a way to shave off an issue from a larger issue. Go for the smallest possible unit of work that might be useful. Then focus on getting that one PR merged. Rinse and repeat.
Not knowing who's responsible for reviewing your code is also not on you but on your manager, bad onboarding, bad documentation and general communication. Still you can check in the repo who's been working recently on adjacent work and reach out to them on slack/whatever and ask them.
I suggest to try and get small wins (like merging those PRs) as soon as possible and then pause and reconsider if this startup is for you. BTW, I don't see the "constant failure" you mention in the title anywhere, more like not being lucky with startups, which is normal since often they are shitshows.
I don't expect to be the best of the best, but obviously some people are thriving at these places. Why am I failing?
What I’ve figured out is that I need to have a new way to measure myself. I wanted to be a hotshot from day one, and impress everyone by cranking out new features. But on a project this complex, it will take half a year to ramp up and become an important part of the team.
In the meantime, I’ve realized I can’t simply call myself a failure every day. I need to find smaller goals that I measure myself against, like learning a new part of the codebase, building a relationship with another developer, building a little prototype that might not get used, and so on.
This suggestion might be a bit out of left field, but reading The Wisdom of Insecurity by Alan Watts has helped me a lot with this problem.
If more is thrown at you, push back using phrases like "adding this initiative may put effort #1 at risk. I think we should concentrate on effort #1 a bit longer while #2 takes more shape"
Why are your PRs not being approved? Do you need more time pair programming so what you submit is more aligned with reviewer expectations? Have you asked for that pairing time?
Overall I hear two disconnects, one at a business/product level and one at the engineering level. Your expectations sound out of alignment with your peers. You might try and work on relationships, build trust, find the fun puzzle and try and enjoy any little bits you can.
PR approval is mostly down to not being able to get any person to actually +1 - our deploys are pretty slow and high-risk right now, and if your project isn't important it just kind of seems to hit a wall. The code itself is fine, but nobody cares about the result (even though I've talked to them about the benefits and they agree).
This could be a potential focus? Everyone loves continuous integration. What would it look like for every team and every project to deploy confidently? If you could be instrumental in getting that going, every single dev and manager would be thankful
Right before the pandemic I joined a large company you've heard of. My boss was mostly absent - I talked to her maybe four times during my entire stay. We were actively hiring for an intermediate lead to take the load off her.
My teammates had no idea what to have me do. We operated a confusing distributed workflow that touched many teams. Changes and deploys were seen as risky, but failure was also constant, and my teammates spent a lot of time shepherding various parts of the workflow manually. The whole thing had lots of dependencies that were owned by different teams, and none of them felt the need to take on the risk of approving each other's changes.
I ended up leaving after a couple of months. Satisfyingly, the company went on to lay off 20% of its engineering staff right after, including the intermediate lead we had just brought on. I managed to fall back onto another offer I had received earlier in my job hunt (and then left that position about a year later for similar reasons).
What I took from the experience is that not only do a lot of software teams treat hiring as a mystical ritual full of supernatural risk to their very existence, but they also don't have a clue about what to do with a new hire. That's also a mystical ritual, in which they want you to somehow "get absorbed" into the team without any explicit planning or guidance on their part.
Some teams (some) have wish lists of project ideas and tasks that they wish they had the bandwidth to work on. Other teams at least have bug queues that range from bugs appropriate for new hires to much more general issues that take planning and triage.
But a surprising number of teams hire as a means of throwing spaghetti at the wall to see what sticks. Maybe the lead is frustrated with the pace of work. Maybe the team has an unfilled FTE role and they don't want to lose it. So they end up hiring someone because (a) you must always be hiring, duh, and (b) not filling that FTE vacancy means your team loses the zero-sum competition for prominence with other teams.
In my experience, I would have probably unearthed some red flags, had I dug in more. There are usually red flags in the hiring manager's description of what they want a new hire to accomplish. I now know what to look for, I think (basically, comments suggesting that your job, as an IC, is to "transform" things or even "blow them up!").
What would I have done if I had to stay? Well, sometimes dysfunction works well for all parties involved, and that would have been mind-numbing. But I would have gambled on the possibility that painful, risky deploys and unclear success criteria were a pain point for everyone. That means work on metrics, tests, and the tooling for them. It means building reliable rollback and faster deploy. It means building parallel testing pipelines. Overall, when there is chaos and lack of buy-in, one possible solution is to build stuff that demonstrates usefulness without a need for buy-in. I wasn't eager to build any of those things. I had another opportunity, so I took it and left.
My guess is that your experiences are only partially connected to who you are as an engineer. A lot of teams are just disappointingly unprepared to use a new hire. Some people do thrive in such environments, either thanks to past experience or a quirk of personality. Given the opportunity of unformed chaos, they build projects that they know can't fail and then deliver on them. You might not have that confidence or experience. If you want to get more resilient to this kind of situation, either keep rolling the dice with new teams (they can't all suck at onboarding!), or find ways to use dysfunction as an opportunity to show off your initiative and experience.
Absolutely excellent advice.
I would start by getting consensus on process. Hit up the main engineering chat channel and describe the issue you want better. "Deployment is painful and bug prone. In order to get code to production, first we have to..." Of course use neutral, non-judgmental language - this is the process that has emerged, no one's fault. This is an engineering problem to be solved. Next, ask for thoughts and opinions. You could suggest your own if you think it will help, but it's about building consensus. Just starting these conversations can be enough sometimes. But you can take it to the next step and actually build the tools that are suggested.
- More immediately, however, from the way you wrote it sounded to me like you're really, really down on yourself & have this constant churning sense of fear (above/beyond the typical "background radiation" of our insanely distressing life right now)
- I hope I didn't misread, but it sounds like generally you've got your $$$ locked down for foreseeable and are getting paid to work with high-caliber people
- Just going based on what you wrote, all the stuff going at this new gig (omg manager left, less-than-flawless onboarding, new person with lots of ideas learns they might need to come up with different business-valuable ideas, it's unclear how to get stuff merged, etc etc) are not that unusual. Your career trajectory as you describe sounds like somebody who actually gaf about engineering
However, that underlying fear or whatever the gnawing feeling you describe that threads through everything, might be worthy of further examination. Like figure out why is that monkey on your back?
If you're not already, hang out with kind people who don't work in tech
Also this group is like the khan academy of mental health-- check out the mirror exercise: https://wiki.healthygamer.gg/en/Insecurity
Don't know you but rooting for you
Objectively the rest of my life outside work has been extremely stressful, and I'm scared of losing my job.
The thing is, you have a lot of stress to deal with and you've been joining some seriously stressful job situations. I've found that burnout happens not because of working (most of us are lucky and enjoy this work), but because of a outside factors, often because of a lack of control. Burnout can happen because the work feels meaningless. I know if I am stressing out over something I don't believe in or endless projects that fail to move the needle, I will lose interest in the work.
To compound things, you have a completely unrealistic expectation of success. Retiring at 30 is hitting the lotto--and that even already happened to you. Though you said you wished you had held on to the stock, you got your big exit already. You bought a house. Congrats! That is far more successful than most of us. I've been working for 20 years and never had this. I pump out a ton of code, it's not about being good, exits like that are about being at the right place and getting lucky. You are expecting to get hit by lightening again and that's not reasonable.
If you're open to it, working out expectations like this is where a CBT therapist is good. They will hear those "should" statements about yourself and help set realistic expectations of yourself. They are like mind debuggers and I think you might thrive with the right thinking because you have already been super successful. You have done great things, you just aren't seeing them.
I would also recommend that startups are not the place for you until your life is less stressful. Big companies might be out, too, because you control so little of the output and there can be a ton of competition, they can be crazy stressful, too. Find a medium sized company with happy employees and punch that clock for a while. You've got enough to deal with.
Good luck to you! My email is in my profile if you'd like to talk.
Also sounds like you're an earner, survivor, tough-as-nails individual too
Startups are naturally chaotic. Most fail. Until they mature it’s complete chaos.
If you don’t like this life and it’s causing you stress, you should join a bigger, more mature company. It’s hard to tell from what you wrote if you like the fast pace of a startup or if you hate it. If you hate it and the uncertainty, then join a bigger company with more stable processes.
If you think that’s too boring and too slow, then keep joining startups but embrace uncertainty and chaos. There’s nothing wrong with either, but understand the nature of the company you’re joining and don’t have unrealistic expectations.
When I was searching for my new job I knew I didn't wan small start-up chaos - my current role and the other big startup both have > 1000 engineers. "Startup" is kind of a loose term, but that seems big to me? I guess the alternative is like an actual enterprise company?
Or maybe not: the stock could have tanked for a zillion reasons. But hindsight is 20/20. If I had held to the BTC I mined back when it was still a toy I'd be bathing in money. Let it go.
> "Startup" is kind of a loose term
Lots of big co aren't strictly startups anymore but have some startup mentality, either carried over from their past or downright imported. The most nefarious ones do it purposely, pressing all the juice out of employees as if they were lemons, managing to entice them to do so voluntarily, and gaslighting them when they start to fail to produce the expected volume of lemonade.
But not all are like that, and in fact I did not really find a correlation with size.
Find and define both what you want and what you find unacceptable, and watch for red flags during interviews. Don't dismiss the red flags because something else looks rosy.
Is this normal? It doesn't seem so normal to me.
Also write a bucket list and see how you can change your job to achieve your bucket list. Remote working means more office based employees like coders can now work whilst travelling the world.
More importantly, I can't imagine doing anything else. The first 5 years I was in the industry I loved it and was very successful. I got to travel and learn and felt like I was on top of the world.
The new very successful startup, the many high-performing people. Is that the truth or is that appearance? Fake it until you make it. That may apply to people, but also to companies.
Find a hobby, something outside your workfield that gives meaning to your life. If I hear you, you are successful, but you choose the wrong companies. If they pay you and don't complain, then you are a success in my book, much more successful than I ever was.
It's how you introduce new code to many projects. OP was saying he was unable to contribute any new code.
Constant failure? You are highly compensated and have a mortgage for a house, presumably in a very high cost of living area. It seems like you are an insecure overachiever and need to reframe things.
> My manager left a few weeks after I started, my onboarding buddy has been absent, and the fear has started creeping in again that I'm alone and can't hack it in this high performing team.
That doesn't sound like a high performing team. Stop putting dysfunctional startups on a pedestal and denigrating yourself.
The team hasn't done a great job supporting me, but they deliver on their commitments and the individual team members are extremely competent.
Yeah that's unfortunate, and maintenance & repairs can cancel out some of the price appreciation as well. But in general it sounds like you are doing extremely well personally and professionally and are going out of your way to tell yourself stories about how things are going wrong.
> The team hasn't done a great job supporting me, but they deliver on their commitments and the individual team members are extremely competent.
Your lack of onboarding reflects extremely poorly on them & their process, not yourself. They made let's say at this point an 100k investment in you with what sounds like zero visibility & process.
> I'm well-compensated for now, but how long can I realistically keep it up?
I would probably just start looking for another job, "dream jobs" aren't always what they are cut out to be and there is no reason to tie yourself to this one. They will not be so sentimental.
Someone else gave some good practical advice, about getting into a rhythm of merging smaller PRs. That can be a good confidence booster. However, that's not without its risks either, as coworkers are sometimes not terribly fond of trivial PRs.
Agree about merging smaller PRs, I did recently find a backlog of stuff I can crank out to keep myself sane.
You should be going to senior devs and telling them that you are finding it surprisingly difficult to get traction, and that you could really use some guidance and mentoring to make the team as effective as possible. And you should bring them a specific plan that they can critique and provide you feedback on. Pick one PR, write out a plan to get it merged, and ask them to review your plan.
Maybe they will tell you that you picked a bad area to focus on, because Bob is really particular about that code and he only approves changes by senior engineers - then ask the mentor what a better area to focus on is.
Maybe they will say the area is good, but your plan is all wrong. Then ask them how you can improve the plan.
Maybe they will say you are crazy if you expect to be be touching the code base in your first year. Then ask what you should focus on to best contribute.
Then schedule regular follow ups to review how your plan is working out. Come prepared to discuss what you accomplished, and what you haven’t been able to accomplish.
Make it easy for people to help you.
Do you don't work in a Team?
Or aren't you building up a team or org?
Either it's your position to see issues and solve them for the org or it's your job to execute.
If you can't come up with things to do, but it's your job, you should search for a team or product and not for a company.
At this point I've kind of accepted the project is dead but my manager is gone. I've put together a few small PRs but they're similarly just in review hell.
On the other hand, if you join a very mature startup or established public company, then there will be established HR processes and the likelihood of wacko personalities goes down. There will be better management and almost certainly better pay. The cost is that you will have a mediocre set of colleagues, far fewer learning opportunities and less relevant skills to pick up on the job (relevant, in the sense of landing your next opportunity).
Too much of one or the other will lead to what feels like constant failure. It may be best to alternate between these, accepting the reality that your skills need updating every now and then, and it's best to do that in an environment where that can happen quickly, and money is important and must come at the cost of work satisfaction and learning sometimes. Striking a balance between the two is the challenging part of career management.
EDIT: Reading your post again a few times, I also see another problem. It looks like you have trouble finishing up projects, i.e., converting prototypes into functional product and keeping it running. This is the boring part, and why people get paid the big bucks, and you need to learn the skill of finishing up and keeping the lights on. If you want to learn this specific skill, join a mid-size company that's growing nicely but has an established product or two in a big market. This type of company is where you will have opportunities to learn this type of skill.
When nobody is excited about the project, I tend to cut ties. My ideal manager would be the sales/hype person who sells the project outside of the team - I've had a few of these and those projects were very successful.
1. Set up a local development environment. (what I call "setting up shop")
2. Read the source. Understand all of it. Debug it. Take it to dinner. Read it at bedtime, coffee time, sexy time. Don't wait for "buddy" to come teach you.
If you are too tired/unmotivated/unable to do those things, just rethink your career. If you do those things, congrats you are a hacker so what exactly is the problem?
It can be helpful to make hidden expectations explicit, and thus allow for a reality check.
So, in your opinion, what is the ideal startup like?
Unless by "change perspective" you mean "change jobs", because that's what OP needs to do.
Clayton Christensen made an academic career at Harvard researching market leaders getting replaced.
The Office of Advocacy of the U.S. Small Business Administration reports about half of businesses fail after 5 years, https://advocacy.sba.gov/2011/10/19/what-is-the-survival-rat...
Skill plays a role in these outcomes, but so do other factors including luck & imperfect information. The top engineer at Blackberry was a rising star, until suddenly the iPhone showed up.
Having read some of the comments, it seems really important to me to center the information that you're queer, supporting a disabled partner. I worked in tech from 2013-2020, and from 2015-2020 my Dad's health was very fragile, and he had made no financial plans. I became his guardian, paying for homes, doing the paperwork, managing the care, and I think this is a huge piece of any situation like this.
There's a lot of curiosity in the comments about what the right environment and role is. I share those questions, but I also think it's important to just feel into the situation more before moving to action.
Queerness I also know for me, in tech, reminded me of the idea - everyone has to learn the dominant paradigm, and then there's ours. Meaning, I do think I experience the world differently through queerness, and it was a navigation to own that and lean into its gifts, rather than just feel a sense of otherness. I don't know if that's part of your experience or not, but it felt worth sharing.
I have started offering coaching - if you'd like to just connect for an hour (no charge or anything, just connection) my email is in my profile. My instinct is it would just be good to drop into what you're saying and really feel through the layers of life situation, the creeping in fear, the aloneness, the stuckness, and see where forward might be in all of it...
> It's been a couple months and I have achieved nothing.
At my first software job it was said that a new hire typically wouldn't be a net positive for the team until they'd been there a year. You wouldn't necessarily have even been given a real task in the first two months, let alone gotten it shipped. Big companies have bureaucracy and gatekeeping (for good and bad reasons) and operate on timescales of months or years. By design, a new person can't unilaterally be productive. It's possible that investing the time to empower you to be productive just doesn't seem urgent to them right now - dealing with the fallout of a manager leaving may be much higher priority. You're on the payroll, they know you'll be around for them to utilize when they need you...
> If I can't work in the tech industry it would completely upend my entire life.
Based on what you've said, this fear sounds very unlikely to come about. Even if this company is dysfunctional and you need to move on, you have a history of being able to get tech jobs, and it sounds like you've made a positive impression on many coworkers in the past, so I imagine they'd vouch for you. And there's a ton of demand for developers right now, and a wide variety of companies to choose from!
If you're pushing yourself to the brink of burnout and mental breakdowns, you aren't giving yourself enough time to recover. Period. Take it seriously because it can spiral out of control.
There's this thought that once you cross your threshold of a mental breakdown, you become fed up. That's usually what burnout manifests itself as. It seems like it's showing in your work where you aren't landing things based on your expectations. It could also be that we're in the middle of a great reshuffling and things aren't really stable anywhere. Who knows?
You are ultimately in control of your own destiny. To get over constant failure, you fail more. You fail until you succeed. You keep going. But you need to do this in a way that is sustainable so you can wake up every day to make an inch of progress rather than nothing at all.
Of course the best would be for you to do something together with a senior. If there is someone who likes to help, this is your guy.
In my case I think they thought, that this would only slow them down and there wasn't a "nice helper" guy there. So I did my best. It wasn't really good, BUT it was something that could be worked on. After that a lot of help came from the team, because it was kind of useful and later a central component.
The secret of your high-performing people might simply be that they put in the work and spent 100+ hours reading the current codebase and, thus, they now know exactly where to change what. But they didn't start that way. They started out being unproductive and reading the source code base.
Second: talk to people. There is nothing wrong telling your coworkers / senior people how you feel. Just pull someone who seems senior and nice apart and tell them straight up: “hey Can I talk to you too ne sec. - I am a bit at a loss here, since my boss left I am not exactly sure what I am supposed to do, who do you think I should talk to to sort this out?”
My advice is to not care. If you get fired for work in tech for a non-tech larger company. It will be boring, but you'll get paid.
It should even be a page on big websites.
The proof of this is that you describe being worried that you can’t work in tech, yet clearly have managed to get several tech jobs and so far (as far as you described) have not been fired or even laid off. So you objectively can work in tech and should just stop listing to the internal voice that says you can’t.
2. Consider that “tech” is not a monolithic culture, and it’s entirely possible (especially at earlier stage startups, but even at FANG) to have several unlucky experiences in a row.
3. You current job situation is unfortunate, but once you relax and ignore the fear of failure, it’s still a pretty good situation. You have a job at a company you’re excited about working with people you respect. So far you haven’t been fired or put on a performance plan. If the company is unhappy with your output it is up to them to tell you, and you shouldn’t decide you are a failure before they do so.
You didn’t say anything about your new manager, but you should ask them what is a priority for you to work on, and focus on shipping something (anything) aligned with that priority. One project at a time. Don’t spread yourself too thin, or give up on the project because you can’t find someone to approve the PR. Have a singular focus and keep knocking down doors until you finish it.
4. You need to learn to live with setbacks in life and your career. The best way to do this is to get a hobby (outside of work/tech) that is easy to succeed at, such as exercise. E.g. to succeed at running or cycling you just have to put one foot in front of the other, and leave the house a few times per week. This can do wonders to take your mind off professional setbacks.
5. (Edit after reading some of your other comments in the thread) Stop comparing yourself to others (and possibly take a break from social media, especially LinkedIn, if that is the source of your comparisons). There are always going to be people massively more successful in life. Even if you get promoted and write a book and found a startup there are still going to be people way more successful than you and you will still feel like a failure if you constantly compare yourself to them. Also, lots of those people who present themselves as super successful and happy on social media are actually deeply unhappy. That is not your goal.
PS. Happy to DM or chat about specifics if you want to reach out (email in profile).
This is made much easier when you have a supportive team at a company which truly has a learning culture (heuristic: look for founder-led companies which haven't taken outside investment and have sustained growth). The fact your manager left and you have a total absence of feedback sucks. It's very easy to doubt in that situation.
It's entirely possible for an individual contributor to communicate everything right, implement well, conduct everything professionally and STILL have everything blow up. Normally the advice here is "truly great IC's account for environments/problem selection" as well. While true, this also feels a little...cruel? Uh, dismissive? I don't know how to characterize it.
Assessing the state of a business and whether you can fit into it well is a skill which must be learned. You're not gonna be good at it at first. And it sounds like, for you, this may be the key skill to work on. Can you distinguish between what's truly your fault, and what's a product of the environment you're in? You say label it a dream job but... is it? You're certainly going to know more about a place once you're working there than before you've joined.
The hardest part of distinguishing is typically actually admitting to yourself that some aspects are out of your control. At least this was for me... at one point I built something truly great for a business who didn't deserve it. That's when I learned (the hard way) my execution is necessary for, but independent of, the success of the business.
Ignore the fear. Don't feed the FUD. But do be honest with yourself about where you are, and what you're doing. Is it really all you? (really?) Learning in this way is typically expending energy to rid yourself of illusions and scripts which no longer serve you.
For where you're at right now, I also suggest you imagine for a second what someone up the org chart would want to see out of the best version of you. This means you're going to need to approach someone in the company with your vulnerability. But also come with something to offer (a plan, an idea, a direction). Consider this a litmus for them as well as for you. If you put in a good faith effort and they cruelly discard it, time to move one. If they don't, they really listen, and they put in effort too.. maybe there are problems you weren't aware of. Problems you can help with.
Good luck. Don't be too hard on yourself. But don't be too nice on yourself either! ;)