Our company is in crisis and I frankly need some advice on how to keep my sanity
Posted by QuantumQuack0@reddit | ExperiencedDevs | View on Reddit | 27 comments
I hope this post is allowed as I can't really make my question very specific. I'd love to hear your words of wisdom.
Shit's on fire over here. We're losing sales because people hate our software. Last quarter, management brought in a scrum master, and the PMs clamped down hard and created a crisis team. With people who haven't really worked together much and definitely not in scrum, and this scrum master. Results are as you'd expect: disappointing.
Halfway the quarter we got our long-awaited software architect. And this guy... well... I think he was expecting to waltz into FAANG-level company and not a scale-up battling technical debt. He has shouted at and berated nearly every high-ranking person and somehow he's still here. And apparently, in a matter of weeks he has figured out our software stack and written long-term plans.
For this quarter, they're breaking up last quarter's team and creating a new one, with this architect going to be the de-facto lead. For some reason this is also supposed to last only 1 quarter and then they want to break it up again based on the needs of the moment. And for the record, they put me in this team as well.
Now, I am dreading this quarter. I'll again be in a somewhat unfamiliar team, with a, frankly, incompetent scrum master, and a bossy and micro-managing architect. Lately I've noticed the architect is, as architects are, not always in touch with reailty either. His architectural ideas make sense but his feasiblity and timeline estimates/expectations are wildly unrealistic (and he is already selling those to management).
And on a personal note, I feel like I'll be waaay out of my depth with the features I'm supposed to be working on. It's compiler engineering essentially and I know jack shit about that.
All in all, I don't know how I'm going to keep my sanity this quarter. I really don't know. Any words of advice, things I could suggest to management, are welcome.
FluffySmiles@reddit
This here. This is the only thing you need to concern yourself with. The others are gonna do what they do, with or without your input. Unless you are romantically attached to the boss (in which case why didn't you say anything) then you should be examining your options.
Speaking for myself I would have probably looked around, figured out what keeps me afloat best and acted accordingly.
If it's most prudent for you to stay then you either voice your concerns in a paper trail so that if you are sacked for stating the truth you have a good story to tell the next employer ("I won't let you make the same mistakes as these guys" for example) and/or (depending on where you live) unfair dismissal compensation or keep quiet and keep your head down. Tall poppy syndrome is headed your way.
Otherwise GTFO.
Odd_Lettuce_7285@reddit
I think this is really awful advice.
| people hate our software
I read that as:
| we have customers who WANT our software but we are leaving more to be desired
How many startups get to this point?
Few. If you can get to a product market fit where there is clearly a demand for it, and you have ISOs, etc. go for it. Fix it. It might be rewarding for you later and you'll learn a lot.
If the product was bad and people weren't signing up for it, that might be a sign to bail. But that doesn't sound like the case.
QuantumQuack0@reddit (OP)
They want something like our software. There are many people currently shouting many more possible root causes, but the symptoms are essentially: it's hard to use, and it's lacking crucial features. It's something that I noticed as well, pretty much as soon as I joined here years ago.
There are many complicating factors, too.
horserino@reddit
Not gonna lie, that sounds like a really fun and challenging environment to be in (if you're not against brownfield development)
shipandlake@reddit
I think the advice is solid. Unless OP has a founders stake in the company it’s all moot. They need to evaluate their options and figure out if the death march they are about to undertake is worth the payout.
They are looking at long hours, lack of ownership, and blame for things beyond their responsibility. The latter already started happening. If the architect will come to their senses, they will focus on regular engineers to blame. If they don’t, they will be fired. Right now they are needed to fix things. They are unlikely to have long term prospects at this company. Unless this is theater where they tell engineers how they yelled at the leadership team but really they threw everyone else under the bus. They will sell idealistic solution to the leadership and blame everyone doing the work for not getting it or being too incompetent.
What OP is describing is unlikely can be solved technically. There’s organizational misalignment that’s needs to be addressed.
I agree that these times could be exciting but you want a strong manager/director to provide cover and perspective to weather these. It doesn’t seem like OP has that.
FluffySmiles@reddit
It may well appear awful from some perspectives. I've been around the block long enough to know that what matters is my own sanity and not wasting what little time life offers chasing other people's dreams.
It's a perspective. it's mine and I know damn well I'm not the only one that feels that other people's companies don't own my sould and that I need to look after my own mental health.
Ever burned out? It's not pleasant.
Visual_Counter5306@reddit
Why do people even work at a startup or a scaleup? The pay is worse, and the stress is skyrocketing. What’s the benefit of working for a company like that?
KrispyCuckak@reddit
It used to be a chance to make huge money. But not so much anymore. Now its all about hard work for low pay./
baezizbae@reddit
I’ve ping pong’d between startup and enterprise because I’m merely fortunate enough to have the savings that can afford to.
The startups are fine for picking up new tech and having a deep sense of ownership in things that get developed but it never fails that I’m eventually scratching at the door to the enterprise like a car sitting on the other side of the bathroom door.
binarypie@reddit
Fun fact! All FAANG-level companies are also battling technical debt from the various times they've had to scale up in a hurry.
What?! This person sounds over-leveled or at the very least out of their depth when it comes to the soft-skills generally required of larger organizations.
They are fire fighting. Lots of companies do this sort of thing when they need to make a large transformational change. Such as "move to the cloud" or "make ETL software real time" etc... The reason they rebuild the team every quarter is that someone somewhere has already made a plan and that plan has been resources. Best of breed until the transformation is complete. Congrats on being considered top tier talent.
Escalate to him early and often. Make it his responsibility to unblock you. I was apart of a FAANG migration away from Oracle that took an extra year because the person who made the plan wasn't the people doing the work.
The picked you because they believe you can learn it. Be open and honest. Lean into your architect. Make them your best friend and explain you really want to do a good job but have some knowledge gaps you want to close. Think of it like starting a new job.
You got this! Maybe you'll be an architect by the time you're finished with this project ;) High impact high reward.
QuantumQuack0@reddit (OP)
Thank you for those very kind words. Personally I tend to react poorly to these "war time" periods as they tend to spill over and drain energy from my personal life.
Honestly, the biggest fear-factor here is that my number 1 energy drain is having to closely interact with people that I find difficult to interact with. I'm generally easy-going and rarely have this with people, but unfortunately this architect is very much one of them.
I'll take your advice to heart as best as I can. It seems the best thing I can do is to try and detach my personal life from my job as much as possible.
levelworm@reddit
I really believe this is a great chance for you to get out of tehe comfort zone and do some serious engineering work.
The worst scenario is that you failed to deliver the "compiler" and they fire you. So what? You probably learn 10 times more than what you could learn by working on side projects for the same amount of the time. You can probably move to a higher paid job afterwards.
Ofc it totally depends on whether you are interested in the project. Personally, I'm willing to fly to another city to work on such a project (I have family and a kid), but it's totally up to you. You don't have to do it if you hate it. It's totally fine.
hippydipster@reddit
If you decide to give it a go, make it your best go. I recommend
Remove your anxiety about learning the technical skills. This is the fun part for most of us. You will learn what you need to learn. Lean into AI for help, get yourself books to read, ask lots of questions. Don't put on a show of knowing everything, just let it be and it will come.
Slow is smooth and smooth is fast. Let go of the "crisis" as best you can. It's not YOUR crisis. You do you and forget the rest. What will be will be. C'est la vie. All of that. Just breathe. Do your work slowly and carefully and systematically, and with discipline. Small increments. Small successes over and over again. Celebrate all of them.
Don't take any timeline demands or demands to rush too seriously. As above - you do you and you do your best, but you don't work long hours, you don't skip steps, and you celebrate your small successes. They will pressure, and you will not change your ways.
binarypie@reddit
A lot of people earn their seniority by throwing all of their personal passion into their job as motivation. However, this gets harder and harder to do as you become more and more senior. The reason being is you have to make hard non-fun decisions more often. It's no longer just the art of getting coding done.
Doing so now will serve you the rest of your career. As a bad day at work will no longer sap that energy outside of work. Remember, even if you love your job, it's still a trade of time for money. Be passionate, do great work, work hard. Strive to be the best. However, when you decide it's time to shut off. Be ok with that. Don't worry about it. Work will be there when you get back.
ass_staring@reddit
Love your post. Only thing I’ll say is beware, when you are always on a war path everything starts to look like an enemy combatant. It’s also difficult to go back to peace time after being in war mode for a long time.
Wooden-Contract-2760@reddit
Wow, couldn't agree more.
levelworm@reddit
Compiler engineering, sounds fun. I'd take the opportunity to write some compilers so that maybe one day I can write real compilers. Most of us don't get such a chance TBH.
HarpuiaVT@reddit
No job is worth your sanity.
To be honest, I would start to look at another job and meanwhile do the bare minimun just to mess with the architect
neuralscattered@reddit
Sounds like it's time to start job hunting before the ship sinks. Or maybe they'll actually manage to plug the holes, but do you want to wait around and find out?
crecentfresh@reddit
If you stay you’ll be greatly rewarded…right?!?
horizon_games@reddit
I'd take a step back and remember it's just a job. Yeah having a solid job is terrific as it pays the bills and ideally is mentally engaging and enjoyable. But really at the end of the day just focus on what makes you happy in life. Do your best at your job, but sometimes issues are outside/above your control.
Odd_Lettuce_7285@reddit
Let's give the architect the benefit of the doubt that he knows what he's talking about.
You mention "feasibility and timeline estimates/expectations are wildly unrealistic" -- I think this is common for a lot of very senior engineers (myself included).
For us, it's easy. These are patterns we've done before and we know what needs to happen to get it done. But for more inexperienced people, it's really hard stuff and it's a lot of things that they have to learn along the way.
He has to learn how to communicate it a little bit better, but try to give him the benefit of the doubt and trust the process. It might help him to go un-agile and ask him to define functional specs that spell out what needs to be done and how.
Be careful of agile/scrum as dogma. There are other modes of working within various contexts.
_Atomfinger_@reddit
It sounds like an org that doesn't know what it's doing and dug itself into a hole through feature churn and incompetence.
Anyway: my advice is to treat it like a job. Go to work and do the things you're tasked to do. Don't have all that many strong opinions or pick any fights. There are most likely enough opinions from the scrum master and architect.
Just be honest about how long something will take you. Give them no surprises - be honest about progress and all that stuff, and avoid making the big plans your responsibility.
The issue here is that the architect clearly has a strong buy-in from leadership, meaning picking a fight with him will be nearly impossible. Sometimes, it is wiser to let someone incompetent fail rather than trying to steer them right.
As for the software being shit and people not liking it... well... that's more systemic. A crisis management team will never fix that. They might patch parts of it, but the underlying culture, development practices and whatnot will open any wounds this crisis team might stitch.
Since the underlying issues seem systemic, which a crisis scrum team won't resolve, then it is not worth it for you to get tangled up in more mess than needed. Do your job, and avoid conflict. Be dependable but not too opinionated.
Generally, I advice people to speak up and take charge. Steer the process and ensure good developer practices!... but in this case I think it is wiser to keep low. You don't want to be seen as the guy who "battled the architect" when you only have a quarter to get the job done. Especially not when you already have a battle-ready architect.
notmyxbltag@reddit
Biggest advice: make sure to live within your circle of influence and circle of control. It sounds like there's a lot of BS on the product/process side, and I'd largely avoid that and focus on how to deliver the best software for the priorities you understand. If that takes you a long time because you're not in a position to succeed, make sure your management understands those trade-offs, and proactively come up with a plan to navigate them.
Try to influence the architect, assume good intent (maybe they're really busy, getting thrashed, and worried about their own delivery velocity! That would make giving accurate estimates pretty scary!), but accept that decisions are being made above your pay grade which may make it hard for you to do your best work.
Try to find someone in leadership who seems like they have a clear narrative of "here's how we make things better" and shelter under them as best you can, even if it's just weekly mentorship session
In general I'd also make sure you understand the temperature of the business and build a sense for when to bail. If you're stepping into a situation where people hate your product and no one has a clear idea of what "good" looks like, you're just going to have a bad time in general. You can spend time trying to to fix that, or you can just bail and try to find something better
basically_alive@reddit
Sounds tough. I've been around for a while, and at some point I decided that I didn't believe in being stressed about work. You can only control what is in front of you. Be honest about your concerns and make sure if you are given unrealistic timelines there's a paper trail of you saying it's not going to work, but "I'll do my best". Compiler engineering sounds like a fun challenge to me, I'd love to be able to sink my teeth into something like that. Be honest, be direct, be available to do your work as best as you can, and forget the rest. Be the calm in the storm.
teratron27@reddit
Only thing you can do is knuckle down or start applying to other jobs! Or both!
PotentialCopy56@reddit
The company is dead man. Time to polish the resume and move on.