What to Do When the Job Isn’t What You Expected
A guide to dealing with surprises in code, culture, and career
Don’t judge a book by its cover.
We’ve all heard that phrase, but we still do it.
Especially when it comes to jobs and interviews. We try to map out the next few years of our career after just a couple of hours in interviews.
I’m guilty of this. And I’ve been totally wrong sometimes.
It’s unsettling when you realize you judged too soon. You might even panic and wish you could hit rewind. I hate to break it to you, but that button doesn’t exist. The good news? There might still be time to change course.
In this post, I’ll share some common situations where a job or company turns out differently than expected. It happens all the time. And knowing how to respond can help you turn things around — and find your way forward.
The code
Companies are protective of their code. If you're lucky, you’ll hear about the tech stack in interviews or maybe see a quick demo. But that’s usually it.
They’ll highlight the fancy tools and gloss over the tech debt. And honestly, we do the same thing in interviews — we talk up our strengths, not our weaknesses.
I’ve seen all kinds of codebases. I’ve been told “our codebase is easy to learn,” only to still be lost months in. I’ve also heard “our code is complex,” and it turned out to be a glorified Next.js app.
I’ve even been flat-out lied to: “We don’t have much tech debt,” or “You won’t have to fix bugs.” So take what you hear in interviews — and even your first few weeks — with a grain of salt. The truth will surface. It just might take some time, and that’s okay.
After working through a few tickets, you might realize things aren’t what you expected.
There’s more legacy code.
The architecture is messy.
You’re seeing tools you’ve never used before.
It can be frustrating, but don’t accept defeat. You can get up to speed. Here’s how.
Zoom out before you zoom in
Before diving in, take a step back.
What’s the tech stack?
Which core packages are used?
How is data fetched?
How is code tested?
What’s the build pipeline?
Once you have the lay of the land, you’ll feel more confident about where to start.
Create a learning plan
Did anything feel unfamiliar when you zoomed out? New tools? Old ones you haven’t touched in years?
Make a list of what you need to learn or relearn. Break big topics — like new languages or frameworks — into smaller chunks.
Turn your list into a learning plan. Block time on your calendar to work through it. You’ll build knowledge piece by piece.
Start coding
Reading code is helpful, but writing it is better. So spin up a scratch branch and start experimenting.
Add code. Change things. Delete stuff.
See what breaks. Pay attention to what changes.
When something doesn’t make sense, write it down. You can revisit docs or ask a teammate later.
Once you’re comfortable with a part of the codebase, pick up real tickets related to it:
Know how testing works? Add a test to an existing function.
Understand the component library? Build a new component from a recent design.
Feel good about the data schema? Take on a task that updates it.
You’ll have questions — and that’s fine.
What matters is that you’re making progress. Bit by bit, you’ll get there.
The culture
Company culture is hard to gauge from a couple of interviews.
You might meet some friendly folks — but does that mean everyone is like that?
A hiring manager might preach work-life balance, but is it actually practiced?
Here are a few things I’ve experienced:
I’ve met great people in interviews, only to later discover some not-so-great ones on the team.
I’ve been promised a culture that values work-life boundaries, then found myself logging off alone at 5 p.m. while others messaged me at night.
I’ve heard “we’re like family,” then watched the company lay off half the team.
Culture can be tricky. But you’re not powerless. Here’s how to stand tall — no matter what you walk into.
Establish your boundaries
Share what matters most with your team. That could be how you like to communicate, your work hours, or something about your identity.
Being upfront invites others to respect your space — and learn more about you.
Don’t want messages after hours? Say so.
Need a break from lunch meetings? Speak up.
You’re setting the tone. And you might just inspire your teammates to do the same.
Talk with leaders
Leaders are responsible for creating a healthy work environment. One that supports collaboration, growth, and performance.
If something — or someone — is getting in the way, tell them. Share your concerns early and often.
This helps build trust. And it shows you care about the team, not just yourself.
Get to know your team
It’s easy to form quick judgments. We’ve all done it.
But people can surprise you. Someone who seems quiet at first might open up over time. Others might come off strong in a group but be kind and thoughtful one-on-one.
Spend time with your team. Do 1:1s. Pair on work. Share wins.
Strong relationships take time — and effort. Support each other. Give honest feedback. Be human.
Your first impression might be right — or totally wrong.
You won’t know unless you stay curious and give people a chance.
Your career
You can’t get a full picture of your career path from interviews alone. It often takes weeks — or even months — to get a better sense of things. And even then, you might be left with more questions than answers.
The truth is, your ability to get promoted, earn a raise, or move into a new role is often shaped by factors outside your control — budgets, open roles, team size, and leadership opinions. But that doesn’t mean you’re stuck.
Here’s what I recommend if you want to keep growing at any company.
Be your own hype person
No one knows your growth better than you do. You know which challenges you’ve overcome, what problems you’ve solved, and what skills you’ve picked up.
So share that.
Give your manager regular updates about your progress. Sure, they might know some of what you’ve accomplished — but probably not all of it.
This could be a brag doc, a quick async message, or a one-on-one chat. However you do it, take pride in your growth. It’s your best evidence for what you want next.
Lead without the title
Sometimes you can’t step into your next role because of timing, budgets, or team structure. That’s frustrating, but don’t let it stop you.
Take ownership. Build trust with your teammates. Act like a leader now, even if your title doesn’t say so.
You don’t need to be a team lead to plan a project. You don’t need to be a manager to support your peers in 1:1s.
When you lead without the title, you:
Show others what kind of leader you are
Start practicing the skills you’ll need when you do get promoted
No one needs to give you permission. Start now.
You’ll be more than ready when the opportunity comes.
Own your future
Guess who cares most about your career? It’s not your manager. It’s not a senior leader.
It’s you.
If you’re waiting for promotions and raises to just happen — you might be waiting a long time.
No one owes you anything. So if you want something, own it.
Figure out what you want.
Make a plan.
Take action.
This also makes it easier to get support from your manager and teammates:
Want to learn a new part of the codebase? Ask to pair with someone.
Want to change teams? Talk to the team lead and share your interest.
Want to move from IC to manager? Work with your manager on a transition plan.
And sometimes, owning your future means facing a tough truth — there might not be a path forward at your current company.
That’s okay.
Part of growth is knowing when it’s time to move on.
It might feel uncomfortable at first. But putting your future in your own hands is how you create real momentum — and real change.
When the truth unfolds
Companies and candidates pour time and energy into interviews. But the truth is you won’t really know if it’s a match until you start working together.
Both sides try to put their best foot forward. So it’s no surprise that flaws and red flags don’t show up right away.
The good news? You can let go of first impressions and embrace reality as it unfolds. That takes ownership of your role and your career, but that’s a good thing.
Next time you’re tempted to judge a company or role too quickly, pause.
The truth is usually somewhere between what’s visible and what isn’t. Give it time. Be patient.
I’d love to hear your stories:
What have you learned from a time when a job or company turned out very different than expected? Drop your thoughts in the comments. Your experience could help someone else navigate theirs.
“You won’t have to fix bugs.” Yeah right, buddy 😂
Good read David, lots of valuable insight. I think the key factors are to take ownership and set boundaries.
If you can do this, you’re well on your way to meshing with most jobs. And the ones you don’t, you’ll be able to recognize it and make the changes needed.
Creating a learning plan is a big one for me. We often learn in a random way with no structure or direction.