Your First Ninety Days Are for Questions

Most onboarding guides are written by people who have never actually had to fix a production outage at 3:00 AM. They give you these polished, linear checklists—learn the stack, meet the stakeholders, attend the syncs—as if a new job is a predictable deployment script. But anyone who has spent twenty years maintaining legacy payment systems knows that’s a lie. The reality of how to get through the first ninety days isn’t about checking off boxes; it’s about navigating the unspoken technical debt and the messy social hierarchies that no HR manual will ever mention.

I’m not here to give you a roadmap to perfection. Instead, I want to talk about the edge cases: the moment you realize the documentation is three years out of date, or when you accidentally break a dependency you didn’t even know existed. I will share the specific, unvarnished lessons I’ve learned from two decades in the trenches. We aren’t going to focus on the happy path; we are going to focus on how to survive when the system—and your confidence—starts to fail.

Table of Contents

The Messy Truth About Understanding Company Culture

The Messy Truth About Understanding Company Culture.

The onboarding handbook will tell you that understanding company culture is about attending coffee chats and learning the mission statement. That is a lie. In reality, culture is the unspoken set of rules that dictate why a specific Pull Request gets blocked even when the logic is sound, or why certain meetings are actually decision-making forums while others are just expensive theater. You don’t learn this by reading the wiki; you learn it by watching how people react when a deployment fails at 4:00 PM on a Friday.

I spent my first few weeks in my last role trying to be the “ideal” hire, focusing too much on establishing workplace relationships through formal channels. I thought I was building rapport, but I was actually just missing the real signals. The true culture lived in the Slack channels you weren’t invited to yet and the subtle way the senior devs signaled frustration during stand-ups. If you want actual probation period success tips, stop looking at the org chart and start looking at the friction points. That is where the real rules are written.

Why Early Wins in New Job Feel Like Chaos

Why Early Wins in New Job Feel Like Chaos.

The tutorials suggest that your first “win” should be a clean, visible victory—a feature merged or a bug squashed. In reality, early wins in new job scenarios often feel like you’re just frantically patching a leak in a dam. You might push a small fix to a legacy payment gateway and feel a momentary rush, only to realize ten minutes later that you’ve inadvertently triggered a cascade of latency issues in a downstream service. It isn’t a polished milestone; it’s a controlled explosion.

This chaos stems from the gap between your theoretical knowledge and the undocumented reality of the codebase. You aren’t just solving technical problems; you are navigating the friction of establishing workplace relationships while trying to prove you belong. When you finally land a win, it usually comes with the realization that you’ve just inherited a new set of dependencies or broken a silent convention. Success during your probation period isn’t about the absence of errors, but about how gracefully you handle the fallout when your “quick fix” turns into a three-hour debugging session.

The edge cases: Five ways to survive the first quarter

The edge cases: Five ways to survive the first quarter
  • Map the undocumented dependencies. Everyone will tell you how the system is supposed to work, but you need to find out who actually gets paged at 3 AM when the legacy database locks up. Identify the people who hold the institutional memory, not just the ones with the senior titles.
  • Write your own README for the role. By week four, you’ll realize the job description was a fantasy. Stop trying to fit the mold they built for you and start documenting what the role actually requires to keep the lights on.
  • Don’t mistake a quiet codebase for a stable one. In my experience, the most dangerous systems are the ones that look perfectly fine on the dashboard right until the moment they cascade into a total outage. Learn to look for the silent errors during your first sixty days.
  • Accept that your first “fix” will likely be a patch on a patch. You aren’t there to rewrite the entire architecture in your first three months; you’re there to understand why the previous person’s workaround was necessary. Learn the history of the technical debt before you try to pay it off.
  • Build a buffer for the inevitable misunderstanding. You will misinterpret a requirement, miss a subtle cultural cue, or break a build. Don’t panic. The goal isn’t to be perfect from day one; it’s to prove that when you do break something, you have the discipline to trace the error to its source and fix it properly.

Frequently Asked Questions

How do I distinguish between a codebase that is actually technical debt and one that is just poorly documented?

Documentation is just a missing map; technical debt is a broken engine. If you can follow a clear path but the destination is poorly described, you have a documentation problem. But if you follow the logic and find yourself stepping over “temporary” hacks from 2014, or realizing a single change triggers a cascade of side effects in unrelated modules, that’s debt. Documentation tells you what it’s supposed to do; debt shows you why it won’t.

What do I do when my "early win" involves fixing a bug that actually breaks a legacy dependency I didn't know existed?

First, stop digging. If you’ve just realized your “fix” triggered a cascade of failures in a downstream service, don’t try to patch the patch. Revert immediately. In legacy payment systems, dependencies are often undocumented ghosts. Once the bleeding stops, do the autopsy. Trace the side effects, document the invisible link you just discovered, and present the solution alongside the wreckage. You didn’t just break something; you uncovered a technical debt trap.

How much of the "unwritten rules" should I actually try to follow before I risk losing my own technical integrity?

You follow the unwritten rules that keep the system running, but you ignore the ones that compromise the logic. If “culture” means using a specific Slack emoji, fine. If it means skipping unit tests to meet a deadline that doesn’t exist, walk away. I’ve seen too many developers trade their technical integrity for social cohesion, only to be the ones left debugging the mess six months later. Play the game, but don’t break the code to do it.

About Pernille Askeland

I write the part the tutorial skipped: what it looks like when it breaks.

Scroll to Top