Problems showed up immediately in the form of chaos and dysfunctions in the microservices cloud project I was hired in. Let's put it this way: say you get the seminal book on microservices and the seminal book on CICD. Now imagine reading along and doing almost everything from code up to project management the wrong way (essentially keeping on-prem 2000's philosophy and revamp it as microservices). On top of that add vendeta-developers in Asia (I'm in a small offshoot team in Europe) handing down half-baked frameworks (not-invented-here and reinventing the wheel are strong) with minimal documentation and a culture based on meetings instead of documenting things. Developer sandboxes that just don't work and unrealistic deadlines. In short a huge draining mess where I felt burnt out just a few months after I joined and where I honestly don't want to spent another minute.
Almost every attempt of mine to change anything was met with either "yeah we know but we have to live with it for now" or a straight denial to hear me out - brushed aside as a newcomer (I'm senior and was hired as such).
So, the question is, is it unprofessional to abandon ship just 6 months in or given the circumstances is exactly what I should do in order to protect my well being and my career prospects (the project is a slow motion train wreck IMO).
In 2012 I've left my hometown and went to the other side of my country to work at a startup. Within 20 days I left because the situation was critical. I was already feeling like I should leave on the second week, but decided to wait just to break-even from my moving expenses.
It was e-commerce startup where the team lead / project manager was actually the only backend engineer.
One of the problems I had was that it was impossible to work with him.
He despised git, so we used svn. Fine. It was in the early days of git, I could understand that. He didn't write proper svn messages (but garbage like... always 'ghnwerigkelrwn'), and told me I shouldn't care about it. Ugh... Okay, I think I can try to change this situation.
Then on my first days of work I noticed that something was very wrong with the repo. Turns out the guy configured his Eclipse IDE to commit to SVN any time he saved any change.
And he'd just type random keys out of boredom in any part of the system (PHP, which is an interpreted language) and break things wildly.
For those that doesn't know: SVN is a centralized versioning system. It's not like git, where you push things 'later'. When you commit, it's sent to a central server.
The important thing is to be able to defend it in future interviews, and do so in a reasoned way rather than an emotional one. For example instead of "the team were incredibly frustrating to work with and ignored all my suggestions", instead "the culture made it very hard to do quality engineering, which over time was demoralising". Sweeping statements about crap organisations sometimes come off as petty on the part of the person making the comments - individual specific examples work better (e.g. a specific, obviously wrong, architecture problem with one framework, rather than talkinga bout them all as a group).
Someone hired you as a senior employee. Senior folks are expected to fix messes like what you describe.
Go to the right person and ask for the political capital and support to fix 2 specific things.
If you don't get a promise for that support or you don't see that support sustained, leave.
If you get that support, fix exactly those 2 things as quickly as possible. Then ask for the support to fix 2 more things. Etc.
You may want to walk into the right person's office with a list of 5 things to address and ask their input on selecting the right 2.
Hard questions for yourself: How did I get in this situation? How did I get such a mismatch between your expectations and reality? Why didn't I see this at the job interview?
Answering these will help you evaluate future job offerings.
Ofcourse I do not know how the interview went. Maybe you didn't ask, maybe you did and they didn't answer fairly. In the first case, ask these questions next time (for example: "Describe to me your process on how you go from source code to a production build?" "How do you run your projects? What methodologies do you use?" "How do you document/test/maintain your code quality?" "What kind of meetings do you have around here?"). See if you can ask about cultural difference as well (you mention Asia vs Europe), and avoid yes/no questions but rather something open.
If they didn't answer fairly during the interview, you have no reason to feel bad for running away.
After we'd hired him, we asked about the old company again. "Oh, it was an utter shitshow" and he went on a long and very compelling rant about how badly managed it was... in far more detail than he had when interviewing.
I feel like this is a reasonable way to do it; don't badmouth your current employer while job searching, but no need to stick around unnecessarily.
It is not usual that people don't make it through the probationary period, but it happens. If you know 5 months into a job that it is not for you and won't work out, then search for something that does. When asked why the time at X was so short, tell the hiring manager why. A place that dings you based on your honest assessment is not a place where you will want to work anyway.
Bottom line is, if you're not happy with your job, then quit and look for something else. No amount of money is worth your sanity (maybe for a handful of months), if you give some feedback upon leaving you've handled it fantastically professionally. If they're too proud to accept the feedback then that's their loss and you leave without a doubt in your mind it was a bad decision.
Go for it!
Plus, right now you are slowly (or quickly) burning out. That is not an acceptable result. They are incompetent and unprofessional. Employees should not be burning out due to bad work design.
There is a massive opportunity cost in remaining in a bad environment. You may last awhile longer but only if you adapt to it. Do you really want to adapt to where you are and get comfortable in it?
I'd be returning to the resume stage and put the feelers out into my network. Live is too short for this kind of nonsense.
But in reality I can't advise you more than this because I don't know the full story and basically can't. Hope this helped.
A: No.
Notes: personally I would have either abandoned it during the first month or at the end of the probation period, depending on severity, otherwise I'd force myself to stick around for the year, so I wouldn't get questions during further interviews for why I stayed there only X months. A "hack" would be to endure until somewhere in January next year and then in your CV write only the years of employment like this:
2018 - 2021 Old boring job.
2021 - 2022 Shitshow job (but don't actually write anything bad in the CV about them, only positives).
2022 - present Awesome new job.
If you write it with the number of months, some (not all) recruiters and hiring managers will get suspicious. I've personally had people (colleagues at previous employers, but also random people at random meetups) tell me they trust people less if they see that on their CV, or even filter out such CVs early as they fear you'll do the same there, even though they had the same situation themselves when I checked their linkedin profiles.
I personally don't care at all about the month range when I conduct interviews, and if anybody brings that up I fight against it, as something I've learned from personal experience is this: most jobs suck, most employers suck, I've had to deal with some, everybody I know has dealt with such; then I switch the subject to what's really important: what can you actually do so we get to hire you.
This sounds like a company that is frozen by it's legacy code base. There's a lot of companies like these, and they are trapped in survival mode.
> So, the question is, is it unprofessional to abandon ship just 6 months in or given the circumstances is exactly what I should do in order to protect my well being and my career prospects (the project is a slow motion train wreck IMO).
There's really only a few things you can do: If you want to fix the problem, ask to do so. Be prepared with a plan to do so (here's what I'll need, and here's how we'll approach fixing it). Helping a team out of a corner they've been painted into can be very rewarding, but it's an emotional challenge. If the answer is no, or you don't want to fix it, then get another job and leave. There is nothing wrong with that.
It's easy to see problems and its easy to complain about them - but even if you're right, there's a vast gulf between complaining and driving change. You may be discouraged because you're hitting resistance but that's the nature of these things - if the organization already was ripe for and acting to fix these things, there'd be no need for you to help make it happen.
That's the nature of the leadership challenge - how do you get people to change things when they currently don't want to or think they cannot?
You think you see the right path, awesome, let's assume that's true. But if you can't find a way to make things better, then aren't you saying exactly the same thing that others are saying - "we have to live with it?"
You may not be in for that kind of challenge, you may just want to write code in a well set up environment, in which case you should absolutely leave. But if you want a real challenge of actually driving change and impact, of leveling up your leadership and seniority, this sounds like a great opportunity. Some will see it that way, others never will.
If you do see the opportunity, then the next question is "how" - finding a way to figure that out is going to be an amazing learning experience regardless of success.
That being said, what you're describing sounds like a shit show. I've seen many talented developers stay way too long at bad places, telling themselves they can make things better.
I think it's always okay to leave any job at any time for any reason; I once turned down a job at Google because the hiring manager was a complete asshole (I mentioned I had a dog and his immediate response was "oh god, I hope you never bring that thing into the office because I _hate_ dogs!"), I've left jobs because managers lied about petty shit, and I've left jobs because the company wouldn't allow me to work remotely despite several extremely senior eng leaders advocating on my behalf to do so. IMO, an engineering culture completely devoid of the ability to change is at least as valid as any of the ones I've had to leave, and I can tell you from personal experience that there's a limit to how much any one person can change, no matter their influence, the quality of their ideas, or their passion for righting the ship.
At a certain point, you have to don your own oxygen mask before helping others. Especially if this job is impacting your mental health and/or personal life, cut and run right now. There's no reason to stick around for a job that's not giving you the respect you deserve.
Most of those companies are actually running a distributed monolith, which is worse than a good old monolith, and eventually much worse.
> I'm in a small offshoot team in Europe
Some Americans don't really understand how grim the European software development landscape is. I have built stuff for some potential unicorns and the shit product management get away with is insane. Most projects are downright spaghetti.
Sorry to sound so negative. But to answer your question, I think it makes complete sense to leave that job. 5 months is more than enough to realize a job is not going to get better.
The feeling you have of burnout, of course, should be taken seriously but the other things you describe sound not unusual to me. Yeah, the real world (at least in my experience) is never like it is in the "seminal books". How will you know that the next place you go to isn't the same or messed up in an equally profound but different way?
Certainly part of this is the remote-first stuff. MHO, but it is simply not possible to gain trust from teammates without regular in-person interaction. Remotes will always be outsiders, and outsiders have an enormous challenge when it comes being change-agents.
As for career/CV, it’s only a flag for me if there are a lot of instances of short jobs that were obviously meant to be permanent. Personally I still ask the candidate about why that is.
If it’s any consolation, my shortest resignation from a perm job was the morning of the third day. The MD’s motivational strategy turned out to be angrily shouting at people.
The thing is, no-one really cares about professionalism though. What they care about is working code, good commits, and if you don't feel like you can get there in this org then leaving is the right thing to do for both. Bummer for them spending 6mo ramping up a new dev that didn't work out; bummer for you you spent 6mo learning crap that doesn't matter (unique organizational failure modes scale with N! where N is the number of independent mistakes you can make). A bummer, but at least it wasn't a 6 year bummer. GL
Quite frankly more people should walk out of jobs like this. I've heard of it happening in more than one well known firm that for instance the person starts a job and they don't have a computer for months. These people should all leave and not feel bad about it.
Get interviewing immediately and see a lawyer about the conditions of leaving.
But it's an interesting question - I've been intrigued throughout my career (5-25 person project management)
"Which 'reality disconnects' are important and need addressing, which can be left to lie, and which ones are fatal?"
Still don't really have the answer but my guidelines would go like this
- There has to be at least one part of the project (hopefully the most important) that is functional and grounded in reality to grow from. If there isn't then scrap the project/ do a new project. ( In consultancy a question to ask a new client was - Tell me about your last project that succeeded and your last project that failed - sometimes they had no successes - that was worth knowing)
- Fight the small battles all the time - How do we know what done is? Are the tests good? Is that code understandable? Are the specs and interfaces understood? Are we shipping sh*t?. You need to keep your principles here or you can't mentor and good people won't follow/ trust you
- Some of the big battles especially the political ones can only be fought in very specific contexts (changing budgets, team structure, new cultures). Put down a marker you'd like to see improvement there, but also state that now is not the time till the fundamentals are done.
- At the end of the day imagine yourself as a new hire in your team. If the new hire thinks 'My boss isn't the right person to lead the team' then think about leaving/changing roles. If they think 'Wow this is a tough job but I can see how we get there' keep on going. If they think 'I respect my boss but no-one can fix this mess' then think about re-negotiating to what can be done(either leave or help re-base things). If the 'junior you' isn't going to stay in your team, then things aren't going to work.
Strongly recommend Rands in Repose - Bits, Features, Truth
If they don't care, leaving is not unreasonable (although the 6 months might seem like a ding on your resume). But usually, people know. Whether they know and just want to keep turning up and take the money without rocking the boat, or want to rescue it but don't know how.
Did your presence in the team increase productivity, or did you primarily drain your teammates time to enforce your ideals? If the latter, then leave.
You can't force others to work the way you want things done. Nobody likes the guy on the team who believes he knows everything better.
But you could've tried to inspire them instead.
Leaving is fine.
I would pick one small thing, try to improve it without complaining, while also delivering on your day-to-day tasks and see the feedback from your peers. The question you need to ask yourself in the end is "can I be part of the solution?", if the answer is "yes", you will gain trust, increase your salary/compensation, and have the opportunity to do what you like. In my opinion, that's what a senior is.
The people I interviewed with are so nice I would feel some guilt leaving, but the actual technical team I have aren't here and are hard to work with so I wouldn't feel too bad. Although, the older I get the more frequently I remind myself a companies bottom line is themselves. They don't care about you as much as you would ever think so.
I do not think you would be bad for leaving after 5 or 6 months, heck 2 or 3 wouldn't be bad either. Life is short and you legitimately don't owe your time to a company indefinitely. You won't struggle to find other jobs, people can be incredibly understanding and what you are describing isn't uncommon in the software industry IMO. As I am enjoying a similar experience unforutnately
A couple of years ago, I joined an analytics / big data / data engineering shop. I joined because I was in the process of finishing my thesis in physics, they gave me an offer early, and I didn't want to keep looking as I needed to reserve time for preparing for my final exam. Also, I was interested in data engineering, as it was a good mixture of math and software engineering practices.
When I got there, the skill levels of the developers surprised me. They knew very little, when I told them we should have an easy to setup dev environment, automate deployments, write tests, they looked at me like we didn't speak the same language. They just didn't get what I was saying and many of the concepts were totally new to them. The projects were boring and the technology was outdated. Nobody had a clue about communication, agile dev, XP or anything else that I value.
I stayed 6 weeks in total. 2 weeks to realize that their culture is terrible and it would make me a second (third?) tier, unhirable dev if I stayed. 2 weeks to find a new job and get a much better offer from a much better company with amazing people. 2 weeks because that was my notice period. Didn't regret it for a second and nobody else cared about it since, either.
What you can choose is how you react to it. Expending energy trying to fight the chaos of an organisation is wasted energy. Waste to the org and you. Why give them free stuff?
Leaving is a valid and good choice and I've chosen this in the past a few times. Beware the grass is greener effect and be prepared to encounter similar distinction elsewhere!
Professionalism means being able to produce convergent results given varying resources, but when the spec is unclear, your employer doesn't provide appropriate resources for you to perform or if your mental health is in danger, I think it's perfectly valid to back off. "Professional" does not mean "sorcerer". A professional photographer can't take a good picture in complete darkness, and even a good architect can't create a distributed system when the environment won't support it. It argue it's professional to know your own limits and reject a job offer.
It's difficult to make the decision to leave, especially when you have been jobhunting for a while and I can't say anything substantial on how anyone should make such a decision, but the other day I found a meme saying (something along those lines):
In a job, you should either earn or learn; either is good, both is ideal, if it's neither: leave. If the job pays ok money, but costs your sanity, I'd argue you should leave.
Since you're a senior developer you should ask yourself how you signed on to this job in the first place, and how you might discover the kind of dysfunction you describe before taking the next job. I've made the same kind of mistake, it's easy to overlook the signs and get excited and think you can make big changes.
In general employers focus a lot more on your current or last job than on jobs you had earlier, so how you handle this and frame your decision will make the most difference when getting your next job. When I have found myself in crappy jobs I found a new job before quitting, because it's much easier to get a job when you're already employed.
(Was that meant as dash or em-dash? Are you speaking of a noun -- "vendeta-developers" -- or did you misspell "vendetta" and are explaining that the vendetta is a set of developers in Asia?)
Even if the answer to this was "yes"... so what? Don't focus on how you're perceived, do what's right for you.
I had the luck to get into a company which was (to some extent is) a mess, where I had (have) so many opportunities to improve things and get paid for it.
Noone told me to improve things, many (including my bosses) told me not to poke around. I stopped asking, did it anyway, presented measurable improvements, got raises and respect from some, hatred and envy from some others. Latter ones usually got sacked in the long run, so I guess not everything is a mess, someone up there cares.
I don't think I owe company anything, or company owes me. I do stuff, I get paid. What I think I do owe is real-time feedback about state of stuff under my care, about my long-term goals and money expectations. Company owes me timely paycheck for time and money we agree upon. Debt from both sides is erased monthly, on payday.
I left some companies. I stayed at some. All's fair in love and war.
Leave ASAP, and as a parting gift explain to upper management what they are doing wrong and why you consider the situation hopeless; some of your advice might catch.
Maybe try to find ways to screen future employers better during the interview process. For each place you leave, you learn something about where you don't want to work.
Bad work culture affects mental health and personal life. It's important to take care of yourself.
If your workplace is not willing to fix that it's perfectly fine to look for a change.
Leaving would be my suggestion. Leave after you find another job, if you want to be safe.
"Professionalism" is something invented by the corporate world to make sure their employees behave. And it is one way traffic, at least most of the time.
Just make sure you know your reasons and can articulate them because a future employer may also be curious as to why you were "only" there for six months. I've hired people though who had similar stories, as long someone gave it a shot just to confirm it wasn't for them, I've never seen it as a problem.
I just did it a few months ago. I worked with a company for 4+ months, figured out how much of a mess everything was, and - most importantly - found that everyone was unhappy but unwilling to change.
The secret is that MANY things are broken in MOST companies at any given moment. The things (people, processes, practices, tools, etc) that worked last week may not work this week as your team, tech, market, goals, and path change. It gets worse the more any of those things change.
The real questions to answer are:
a) do people understand things are broken? and
b) are they willing & able to change to make things better?
The answer to a) is WAY less important than the answer to b)
Once you have tried, gave it everything you had, and nothing came out of it, you will have the conviction to walk away.
Move on. No shame, no guilt.
It's like losing at sports where you tried 100%. Nothing to feel bad.
Time for the next challenge.
It is your life. They do not own it.
That being said, 6 months is a perfectly reasonable time for an employment that you’ve found unreasonable. If I’d see something like that on a resume when I was hiring, I might ask a question about the short stay during the interview process, but an answer about mis-matched culture fit would be perfectly legit for me.
This has happened to practically everyone at least once. The biggest mistake I've made in my career was taking a job, seeing that it wasn't the role they originally described and sticking around anyway. I ended up languishing there for a few years and it burned me out and set my career back, not irreparably, but noticeably.
Normally I would say that this is a problem owned by the senior devs already there. In this new age of "Remote first company", I suspect that it has more to do with the way the company was expected to operate from the outset. The leadership didn't hire senior enough people to tell the difference between good/bad and what was going to cost them for the duration of the company. It doesn't help that the devs are doubling-down on it though--doing what they're paid to do is another way of looking at that. It sucks, leave.
A good thought experiment is if you were (one of) the first senior dev hired, would leadership be happy with how long you were taking to make good choices and do things in an efficient (in the long term) way? If the answer is "no", then the company was doomed before any devs were hired.
Another question is how do we find out before joining? "I'll sign an NDA, show me your code"? If I'm seriously considering joining I'd like to spend a half (or full) day pairing with someone senior at the company on real development in-progress.
As an analogy, imagine dating someone who you initially liked, but quickly discover you are incompatible. Better to end it ASAP than to let it drag on, which will only lead to more bitterness in the end.
We have a finite number of days in this life. Ten years from now, will you think back and say, "I can't believe I just kept working there!" Or will you say, "I'm so proud of myself for leaving when I saw the writing on the wall."
When it's time, it's time. The only person who will suffer in the end is you.
Get yourself another job lined up and leave.
Start looking now. When you find a place you’d rather go, submit your notice. Nothing is the least bit unprofessional there.
Sunk cost fallacies are when you’ve spent too much time/money/energy to make a change…you don’t have a lot of sunk cost here.
That said: Never quit on a friday, make sure you have a place to go if it’s not actively affecting your mental health, the best time to look for a job is while you already have one, yadda yadda.
No, it's not unprofessional. Would they be unprofessional by firing you on the spot? That's essentially the answer to your question. Businesses don't have feelings, and you're not going to hurt them by handing in your resignation. Better businesses won't hold it against you that previous employment opportunities didn't work out.
Also, life's too short to work at some software chop shop. Contrary to what some here are saying, there are enough decent dev jobs out there that it's just not worth dealing with the weight an employer hasn't been carrying. If they aren't carrying their weight and you're feeling crushed under it, you're feeling that way for a reason.
It’s that I report to a gigantic dickbag. A migration had a couple of issues Friday night, with two customer apps not working. I only do the infra. Yet on sat, I was left a vm threatening to fire me, it was 100% psychotic.
I’ve sent it off to HR, and a side channel to the exec team. So hopefully action is taken.
A senior resource in such a mess can take action and seek consensus afterwards. The idea is to pick a problem sub-system and fixing it. Just do it and don't talk about it. Get it done with demonstrated benefits to establish credibility. Subsequent change proposals will be supported by management. It's a risky move -- you may find yourself contributing to the mess -- but you are prepared to quit anyway so failure is definitely an option.
> the project is a slow motion train wreck
Reexamine this diagnosis. Include related matter that almost certainly you are not disclosing here, including honest self-assessment in this reevaluation. IFF you determine that (a) this is a mess, and (b) I am not capable of contributing to fixing the mess, then sure, quit.
Unfortunately there's nothing you can do but leave and you should. In most cases management is aware of the issues, it's just that for various reasons they can't fix them or choose not to.
No. It's totally okay to run from a sinking ship if you haven't been able to develop a good sense of mutual loyalty. (Mutual, meaning the company recognizes its problems AND supports you in fixing them.)
> I'm senior and was hired as such
There's a lot of different advice in this situation. Many people say "Don't quit until you find another job," which isn't always practical, especially given that senior roles tend to take longer to find.
Given your level, another approach is to basically ask to be laid off. It won't always work, but if you believe it's easier for "your job to be finding a job," figure out how to ask for a severance package. Something like, in a 1-1 with your manager, just say something like, "Look, I'm really not happy here and I don't see a long-term career here. What's the best exit strategy?"
Come to think of it, some guy actually faked his own car crash so he could leave that company....
Terrible. The "yes I know it's bad but it's what we have at the moment" attitude will never fade. You'll spend your time fighting fires and nothing will improve.
My conclusion is that everyone thinks it's fine to move on. Especially if you can find a pay or title increase, then it's undeniable. I doubled my TC for a job at Amazon and am jumping ship because it's such a mess
If not, then start searching and leave when you have found something you'd be happy with. Having been in a burn out situation my self, I'd give my 2 cents and recommend maybe downgrading in responsibility to give yourself some time to heal (some people heal through doing a lot of very fun but hard work, so do what is right for you).
Staying on for too long, especially if it has impacts on your health is the wrong option if others exist.
If anyone asks in later interviews why you did not stick with it, simply explain that you did try to change the culture but it simply would not stick. Explain that you are a professional, and would like to work with other professionals of the same caliber.
But I personally would love the challenge. You need to pace yourself which would be hard, but I would love to be the change that comes from within an organization. I've done this in three places and looking back and seeing the results were very satisfying.
Ouch, this hits close to home. I can identify with this type of culture.
If you can get another job, get out ASAP and keep your sanity.
You'll slowly go mad as you realise that every best practice and "normal" way of working in software dev/IT (e.g. documentation and not just vague verbal descriptions for everything), is done exactly backwards. The cultural gap is just too big to bridge, and you cannot fix that.
So, yeah, leave and don't feel bad about it. It's just business.
Take care of yourself first. Nobody else will.
Everything was a mess. Management, the code base, everything.
Questions you can ask yourself: do you think you can change the mess? Would you like to change it? If you can't change it, would you like to work there?
My guess is that all your answers are 'no'.
If you had another offer or got close during your job hunt, consider reaching back out to those places.
Bottom line: absolutely not.
Your question should be, frankly, how evil the C team and funders are. If they're legitimately evil, sandbag: stop working, stop worrying about it, and cash checks for awhile. Cruise, touch up your specialty, laugh about it later.
If not, then... do the same thing but look for another job immediately and inform them promptly. If there's trust between you and anyone up your chain of command, provide feedback to one (1) person after submitting your email of resignation (not Snapchat kiddo).
But don't try and fix it. You can't and it won't work. And it isn't your fault. Good luck.
Or at least the culture and technology sounds exactly identical.
Also looking for my own way out, but feel like I need to stick it out ~1yr just so it's not hard to explain on my resume.
I feel like leaving early will be extra hard because it'll be hard to explain why without sounding like a know-it-all or whiner.
How do you say "I left because they were doing everything wrong" politely.
For now I'm just saving snippets for the badcode subreddit, and trying to find projects that are interesting and/or will look good on my resume.
With everything being such a shitshow I have a lot of latitude to make my own work.
Since you did make several attempts at improving things, its not as if you gave up on them without trying.
I see two possible outcomes for your project: either they manage to hire (hopefully very well paid) people with the necessary skills and authority to clear that mess, or everyone competent will leave and only the most desperate will stay, and it will be terrible. If you are not a respected project savior and if you are competent and not desperate, then your place is elsewhere.
The CTO and I met and discussed what needed to change, and it turned out that most of what I saw as product related issues were things he’d also been trying to change. We presented these to the (hyper-paranoid) founder/CEO who agreed that everything we had said was valid and needed reworking. A week as we began to roll out a plan of changes the CEO had a tantrum and accused us of conspiring against him and wanting to take over the company and kick him out.
When I discovered shortly after that a key part of the product didn’t work and was actually being manually faked I put my exit plan in place. My reputation was at stake because most of the customers I was talking to were people I’d worked with for years. I couldn’t go and try and sell them a product that I knew was fake.
Fortunately as part of my deal I’d negotiated a very favourable exit package that basically immediately vested my first year equity grant to cash and allowed me to quit and leave with six months salary on top. Actually, the fact that they had agreed that should have been a warning flag as it showed how chaotically managed the business was. There’s no way they should have agreed the terms I got.
It was THE most stressful period of my working life. I wanted the work I was doing to work, I saw how the business could succeed - but there were so many red flags that I had no choice except to walk. I think it was four months in I realised the whole thing was a disaster and about 7 months in that I actually left.
Even if I’d not had the severance package I would have left and picked up some consultancy or gone client side for a bit to tide me over.
If you can afford to leave, leave. If you can’t afford to leave, make your priority lining up something that lets you leave. Being in that sort of situation is utterly destructive to your mental health. It took me about three months to recover from the stress.
Generally speaking one 6 month stint every 5-10 years won't be questioned extensively in tech. The next job you get you'll need to hold for 18-24 months to avoid the appearance of a pattern.
Be sure that you have a good reason for leaving that isn't "the tech stack was a mess" or "I didn't fit in with the culture" and find your next opportunity. If you make it to a full year no one will ask detailed questions about why you left.
As an employer now, I’d prefer you leave as soon as you want, after ensuring you’ve secured another position. It is in no-one’s interest to stay in an unwanted situation, even out of pure generosity for you.
As a recruiter, I wouldn’t know if someone stayed 3 months in an undesirable job, that seems normal.
Bottom line, if you hate the job, and you can see the product is not going to be delivered in a working and timely state, get out.
You have to take care of your health, mental and physical, and your career, and your workplace well-being. We only have our time and energy to sell and they are both precious. Spend them so they have maximum impact.
If you don't see any will for improvement, make a 1:1 with your supervisor and tell them you quit. Only state reasons if asked (most such managers won't ask).
If they respect you enough to allow you to do it, you’ll get great experience out of it. If they won’t, move along and they’ll know exactly where they went wrong.
As you'd probably realize, they likely give zero shits about you personally.
So don't give more than that about them. Just leave. You don't owe them anything, not even an explanation. Let alone your guilt.
I’ve decided to take a few weeks out to forget about them so I’m not bringing a bad vibe to an interview/new job.
I was told by friends and family not to quit until I had something lined up, but just couldn’t take it anymore, sometimes you get to your limit I guess.
F them. I would have started looking to jump ship after just a month or two of that.
A trash fire will remain a trash fire.
This must always be prioritized above the company's well-being.
No, absolutely not. Next question, please.
Who cares if it's professional or not, anything that makes you feel this way needs to be managed out of your life
Articulate your concerns and how to fix them. If you receive nothing but hot air leave.
Rarely are you appreciated and/or properly remunerated for putting in Superheroesq effort.
This is a lesson learned in vetting the work environment before accepting an offer.
It’s not personal at all. Find a new job, give whatever notice feels appropriate, and move on.
If you've got the means to leave and do a job search again, I think you absolutely should.
You won't be able to change the course of the ship.
I've tried before, it doesn't work.
The only people who can set the direction are the execs and VPs at the top.
Is it professional for the management to run a project in such a way that it happens to be a slow-motion train wreck?
Burnout is a serious illness and debilitating. It can take months-to-years to recover and you'll always carry around the scars. If all you feel is stress and you have no control over how much stress you feel, that's the recipe for burnout.
Being professional about it is handing in whatever required notification the company requires and gracefully offloading your work to the team.
From a hiring perspective I think anything less than a year is a honeymoon period. If you interview the company well it can still take 3-6 months before the organization shows its true colors.
That being said, finding the right company for you is the hard part. Some folks do actually thrive in scenarios like this and enjoy migrating a code-base to a healthy state and correcting organizational communication issues.
Not my thing anymore. The demands on developers these days is to turn us into company therapists. We're supposed to bridge communication silos, get groups talking, mentor and grow staff, train management in how to manage us, etc. And we're supposed to continue with solving technical problems, generate new ideas, and be a source of innovation. It's a bit much if you ask me.
One strategy that I think is important to finding the right place for you is to know what your values are. If you are someone who values maintainability you're going to have a hard time fitting in with a team that values velocity: they're going to move fast and change APIs all over the place and check in the first thing that works and iterate from there. It will drive you up the wall. If you know what you value most you can interview the company to find out what they value and see if the intersection is large enough to convince you that you won't be alone in what you care about.
To find out what your values are you have to think hard about what you think is important to you and write them down. Try to stick to single words like: maintainability, performance, readability, etc. Also look back on your work objectively and see if any of those characteristics come out (we like to think we value certain things but what we actually do in our work sometimes contradicts these notions). Note down any new ones and add them to your list. That list is your list of values.
It's also worth writing down your, "engineering principles." A one or two page summary of how you approach software development. I like to take the list of aphorisms and maxims that I often find myself repeating and sticking to and use those as headings. Then I explain those headings and what they mean to me. You may find some new values in here to add to your list.
Hope this helps and good luck. Sticking with it for six months and realizing this isn't the right fit for you is good! Be professional, give your notice, and start looking for a team that will better fit within your values.
You should not quit immediately, and instead job-hunt so you can get an offer while still working. Hiring companies prefer to hire someone who is still working, and you don't want to burn your bridges (even a shitty company's employees are future bridges).
A lot of people in my company were smart and pivoted to working for FAANG from here, and I think they were here less than a year. In retrospect I wish I'd followed them.