I got a new job, then got fired 45 days later
I quit a job of three and a half years for a new role, got laid off 45 days later during my probation period, and here's what I took from it.

Why I Left a Job of Three and a Half Years
Back in May 2025, I quit my job of three and a half years to pursue new challenges. I had landed a new role and was excited about it. Forty-five days in, I was let go. This article covers what happened and what I took from it.
The (New) Beginning 🌱
The decision to leave my previous job came down to two factors:
-
Back in 2024 the company was scaling up and adopted new coding practices that did not align with what was discussed during my hiring process, which at the time was a deal breaker for me. I understand that as the company grew, changes were inevitable, but the new direction was not in line with my professional values and goals.
- When these changes were announced by the higher ups I went to a handful of interviews, but decided to stay as I had a good relationship with my team and manager. In the end, I learned a lot from staying and adopting some of the new practices.
-
After a year of working under the new practices, my growth was stagnating. The feeling was mutual; I was placed under a Performance Improvement Plan (PIP), and on the same day I started working on personal projects and a few articles to resurrect my LinkedIn profile from the dust bin of the algorithm.
- As the PIP progressed, I reached a point where I realized that no matter what I did, the outcome would not favor me. I would not go as far as to say they were trying to push me out, but one moment I was receiving feedback to be more communicative, and the next I was being told on Slack that I was over-sharing with the team. It was a confusing time, to say the least.
Not long after I started resurfacing on LinkedIn and other platforms, I got a message from a recruiter, let's call him H, who had found my profile and wanted to discuss a new opportunity. H was from a company working in the productivity space, something I enjoy. I had used their product before. I went through the interview process, which was standard enough: a take-home exercise, a technical interview, and a cultural fit interview. I got the offer and took it.
My biggest motivation was working on a product I would use myself, as opposed to the localized accounting software I was building at the time. I had grown saturated with building tables, lists and side panels over and over for three and a half years. The product had been around for a while, and they mentioned wanting to improve the codebase and developer experience, which had me excited about what was ahead.
So I gave my notice and started preparing for the new role.
Onboarding in Vienna: The First Red Flags ✈️
In June, I headed to Vienna to meet the team. Everyone received me warmly, but I also started spotting early signs of what would become serious red flags. I do not want to write anything that would get me in trouble legally, so I will just say that some decisions had been taken that clearly did not reflect what was presented to me. Two things stood out:
-
The codebase relied heavily on a custom-built solution for, well, everything. That alone was not a red flag. It could have been something powerful enough to make obsolete the libraries most projects depend on. State management, style preprocessing, type safety, schema validation, that thing had it all, and it seemed useful. But the feedback I got from 99% of the devs I spoke to was that this legacy solution was everywhere and everything was entangled in it. Everyone acknowledged it was getting in the way of the developer experience, and everyone kept building their own stuff on top of it anyway.
-
The second red flag came through Google Drive access, where old presentations made it clear the company's growth had stagnated for a LONG time.
Still, I tried to be optimistic for a change and thought I had arrived to bring some much-needed ideas. The feedback I got from everyone was that the company was pivoting and looking for fresh input. I came back home thinking this was going to work out.
My 45 Days at the New Job 🚀
The setup process was painful. There were no clear guidelines, and the instructions were either outdated or plainly wrong. The concept of having a README.md in their repos was close to non-existent 🚨. My first PR updated the old instructions, and my second added a README.md to the repo.
My onboarding came at a bad time. A lot of people were on vacation during my first week, and my second week was the company retreat, so I was mostly alone except for one or two colleagues who replied to my questions once a day. Most of my squad mates were backend focused, so they were not familiar with how the front end setup worked.
My manager was a beacon of hope in the middle of all this. He knew the product, he knew what everyone in the squad was working on, he knew the blockers each of us faced, and he knew the hardships the company and the product were going through, including the poor developer experience of the repo he was onboarding me onto. I felt motivated every time I spoke with him about the problems I was hitting and the improvements I could see, and he always encouraged me to open a PR or start a discussion with the right people on Slack.
My first tasks were simple: fix a copy issue here, remove a button there, update a few cookie links to the new domain. I tackled these with more care than I normally would. I wrote tests for components that only displayed links, because there were no unit tests and no framework for developers to write them. Each PR had a full description, copy-paste commands to run the new specs, and screenshots of the changes. I picked up this habit during my time at Pennylane, and I was trying to show what we could be doing, as opposed to PRs with only a title and no description. The feedback from my manager was positive, and I was motivated. I felt like I was part of a positive change in the air.
My First Big Bug 🐞
During my onboarding week I was handed an issue the application had carried for a long time, one that was about to breach some SLAs if it went unfixed. It was an extreme edge case that broke a core part of the application for a small group of users: drag and drop. There were hundreds of customer service tickets about it, though not many from the tech side, and nobody in the company had managed to reproduce it. Company lore said a colleague had started working on it before going on medical leave, and I did find a PR where someone had begun replacing all the drag and drop functionality.
After digging around and asking a lot of questions, I learned that a few months earlier they had replaced their bundling engine, and reports of broken scroll started coming in shortly after. They attempted a fix, and while scroll worked again for normal interactions, you lost all scroll capability the moment you started dragging an element, a card for example. That was already an edge case, and on top of it only certain users on remote desktop were reporting the problem. Nobody in the company had managed to reproduce it, and it was poorly documented.
So I wrote a battle plan, shared it with my superiors, and got the green light. It took me some time, but I found a way to reproduce the issue on an old company computer.
My first approach was to go into the engine, which everyone was adamant was the cause, and add any polyfills that might have been missing. It was a fast thing to try. If it worked, great. If not, we had not lost much time. It did not work. I drafted a PR with a few improvements and dependency updates and got back to my battle plan.
I then considered doing what my colleague had started, but I did not want to go as far as replacing an entire core functionality. Instead I tried creating a sandboxed context for the drag and drop features that needed scroll, which did not work either because the existing outer context relied so heavily on that old custom-built-solution-for-everything.
I ended up building a frankenstein of sorts, using new components for the UI and their library's events for the rest. A monster of roughly 75% my own code and 25% their library behind a sanitized wrapper.
It fixed both the issue their earlier fix had caused and the original problem. My manager was happy, my manager's manager was happy, and the plan was to replace the remaining features with this solution and roll it out app-wide. We just needed to work out a few quirks first.
I had a POC (proof of concept) ready by Monday, and my manager asked me to present a battle plan to the team before writing more code, as I had done the first time. I agreed. I was already writing the document and just needed time to polish it.
By the end of the day the document was ready and I had the solution partly implemented in one of the features. I do not remember how presentable the code was, and I cannot recall whether I ever posted the plan in Slack.
The Termination Email 🌄
It was around 9:30 when I woke up the next morning. I had no meetings, my work was ahead of schedule, and I had received great feedback the day before. I looked at my phone and remembered an onboarding session with the security department where they demoed a few phishing emails. I assumed I had just received one of those. But it said "Termination Notice", so I had to open it. I did, and confirmed it came from the company's domain. I jumped out of the room to grab my computer and check Slack. What the hell was happening? Everything was going well, everyone was happy with my work. My head was full of questions, and I still was not certain this was real. How could it be? This was probably a mistake.
I reached out to my manager as soon as Slack loaded. He was at an appointment and did not fully know what was going on, but I learned two things from him: there had been a company-wide announcement, and he had received an email similar to mine. That was when it settled in. I had been fired. "Not for performance reasons," the email said, which made it a tougher pill to swallow. I read it again. It had my name and a few 'custom' touches that seemed aimed at me, such as "our short time together".
I started digging through Slack and came across a message from the CEO, whom I had never met, summoning everyone to an all-hands with 15 to 30 minutes of notice. The meeting would start at 8:00 in my timezone. Nothing else. Around this time a Portuguese colleague reached out asking whether I had been affected by the 'restructuring'. I had. But I still had no idea what was going on, so I replied directly to the CEO's message, checked the "Send to #general" box, and asked whether someone could have the decency to explain what had happened, for those who might be in a different time zone, at the doctor's, or on vacation. It was July.
Before I got a reply, my colleague explained that 30% of the company had been let go. Just like that. I asked about a few names I remembered from my short time there, and most of them were gone. In the other channel, someone from HR confirmed the same thing, and a few minutes later the CEO himself apologized for how the news had been delivered and explained the situation, along with a lot of other things I could not care less about. This was two hours after calling a company-wide meeting to lay off 30% of the workforce. The email had gone out 15 minutes after that meeting started.
I received a small compensation package, on account of being in my probation period, and had to come to terms with being fired for the first time in my life. I have been avoiding discussing it publicly, maybe feeling a bit of that sweet imposter syndrome. Life goes on.
What I Learned From Being Laid Off During Probation 🤓
I have had time to digest this and hold no ill will towards the company. As a developer, I learn A LOT whenever I switch jobs. This time the learnings were not on the technical side:
-
RED FLAGS MATTER 🚨
- I will pay a lot more attention to what I consider red flags: poor documentation, inconsistent information, legacy systems no one wants to maintain, and above all, hints at stagnation in company growth. I saw these and validated them with colleagues, and they turned out to be meaningful signals.
-
CULTURE FIT AND LEADERSHIP TRANSPARENCY 🪞
- Companies are always excited to welcome everyone. It is a big moment of joy and celebration, as if the CEO had birthed himself another team of employees. This was the first company I joined where the CEO was not a founder and where he did not bother to introduce himself during my time in Vienna. I did not think much of it then, but that lack of tact also explains how the layoff was handled.
-
STABILITY IS NOT GUARANTEED, EVEN FOR GOOD PERFORMERS 🏓
- I am not full of myself when I say everyone was happy with my performance. I was having a positive impact on the product, and I know this because I was told so repeatedly by my manager, my teammates, my manager's manager, and even in the termination email. That does not equal stability. It is not personal either. In a cost-saving scenario it is easier to fire the people still in their probation period.
-
ALWAYS HAVE A BACKUP PLAN 🤫
- This was one of my biggest mistakes. I saw what a shit-show the code was, I saw the state of the company's growth, I saw how everyone had stopped trying to improve the codebase. With a backup, I probably would have jumped out after Vienna. With something lined up, I would have said my goodbyes and started somewhere new the following month. I did not have one.
-
GROWTH IS NOT LINEAR 📈
- I was told this at my second job, right after I negotiated a pay rise with the agency. My career will include setbacks, unexpected turns and periods of uncertainty. I am grateful to have had eight good years of growth and continuous employment. I do not expect my next job to be better than what I had, in salary or in tech stack.
Conclusions
I quit a comfortable job for a new one and got laid off 45 days later. The red flags were there from the start: a codebase nobody wanted to touch, documentation that barely existed, a company that felt stagnant. I still fixed a nasty bug, wrote real documentation, and got good feedback right up until the termination email arrived.
Trust your gut when something feels off. Company culture rarely matches what gets said in the interview. Doing good work doesn't protect you from a restructuring. And always have a backup plan. Growth isn't a straight line, sometimes it looks like falling flat on your face. At least I got a story out of it.