Getting that senior title is easy. Just stick around. Being a true senior takes a new way of thinking. Do you have it?
Get a series of curated essays on the mindset of a senior software engineer. What it takes to get there, what should you do when you're there, how to change the way you think.
The Senior Minset email crash course
Get a free chapter from the Senior Engineer Mindset book and a sample audiobook chapter, followed by a Senior Mindset 101 email course.
You'll get insights to apply at your work right away.
Latest SeniorMindset articles from Swizec
Why system design is my favorite interview
Without reading their resume, you'll see if a candidate is fresh or has been doing this a while. And you'll know their blind spots and their strengths
Don't judge tech just because you're old
Your favorite way of doing things may just be an expression of tech limitations at the time
"Yes caviar is great, here's a ham sandwich"
Why do some projects ship and others seem to drag on forever? You need 3 people to get this right.
Yes, AI will "take" your job. No, you won't mind
Is the job to get things done or to memorize trivia and solve cute coding puzzles?
Make mistakes easy to fix
You can't prevent bugs. You'll burn out. Instead focus on making them quick to fix.
Better is good
A small improvement that lands is better than a large improvement stuck in review
The Tour of Duty approach to career
Quick note today to plant the seed of an idea I've always loved: The Tour of Duty.
Why software projects fail
5 common themes
Interviewing tips for experienced engineers
The way you interview changes as you go through your career. If you're grinding leetcode 10 years in, something's wrong.
Let small fires burn
You can't fix everything. Focus on the next big thing and let the small fires burn.
Some personal news
When you see a unicorn, you gotta hop on
Small change in big scary codebase?
Making small changes in large unfamiliar codebases is the job. That's what engineers do all day.
6 books engineers should read
Here are 6 books I'd buy every engineer who joins my team, if I ran a team. You might like 'em too.
Get us over the water, not build us a bridge
effective engineering teams should work *with* their product owner/manager, not *for* them
Outputs are not outcomes
Doing the work is not the same as getting things done
Coding is a brawl, not a battle of wits
Discover why coding is more like a boxing match, focused on delivering results rather than perfect technique. Learn how to navigate economic upheaval and prioritize business needs in this unexpected comparison.
The best engineering books get good 5 years into your career
The best engineering books aren't those you read at the start of your career. It's the ones you appreciate 5 years in.
Code yourself out of the job
Don't get stuck being a critical member of the team.
The answer to 5 soloists in a trench coat
Team dysfunction where everyone's a soloist? Try this fix: Force the team to work on ONE story at a time.
5 soloists in a trench coat
Ever felt like your software team is just soloists in a trench coat? You may be right!
Why you need a regular retro
Agile is something you are, not something you do.
Your resumé has a job
Is your resume a tech bingo card? Not great.
5 tips for effective standups
Talk about today, not yesterday
What interviewers look for in senior engineers
People are starting to cheat in interviews using ChatGPT. It's obvious, doesn't work, and wouldn't even be cheating if you did it right!
What being an expert looks like
The blue sweater scene in 'Devil Wears Prada' is a masterclass in expertise
The Buxton Index – why some are hard to work with
The Buxton Index measures an entity's planning period and explains many of your work dynamics.
I'm a different engineer than I was 3 years ago
A reflection on engineering through The Hockeystick
The 3 budgets
Software engineering salaries come from one of 3 budgets. Which budget pays your salary shapes your day-to-day and influences your career trajectory
Keeping a high engineering culture, tips from the field
I asked engineers how they keep a high quality culture. These are the takeaways
Askers vs. Guessers
Askers vs Guessers: the culture clash that explains half the conflicts you've ever had
Let juniors speak first
Want an engaged engineering team? Let juniors speak first.
What to put on your resumé
Position yourself as an expert and stand out in the job market
How to go from Senior to Lead
Transitioning from Senior to Lead Engineer isn't just about technical prowess, but strategic thinking, soft skills, and going beyond your role. And remember, strong individual contributions matter!
Solve the problem, not a different more difficult problem
Solve the problem at hand, not the one you imagine might come next. A simple fix now often beats a complex one later.
Trust your wings, not the market
Success in your career doesn't come from relying on the market or job stability. It comes from trusting your own wings - having a clear vision, treating work as a value exchange, leveraging your skills, and owning your path
Working with product
A strong partnership with product is key to an enjoyable engineering life
Different worlds
Different lenses, different worlds. Your perspective is shaped by your experiences. Even in debates, all sides can be right in their own context.
Clarification on how ownership makes careers
Aa few readers wrote in with questions and objections to last week's Ownership makes careers email. Here's a few clarifications.
Ownership makes careers
Own shit. At least put your name on things. Yes, before it's successful.
What does "solve problems" even mean
Focus on solving problems, not just doing work or writing code. Think creatively, question existing processes, and prioritize effective outcomes
How one sentence guides your career
Unlock the secret to guiding your career with a powerful positioning statement. Learn to stand out in the job market and attract opportunities that align with your expertise and values.
Why a tech meltdown is the best time to invest in your career
Invest in your career growth. Seize the moment to develop new skills and prepare for a brighter future
Own the outcome, not the work
Efficient problem-solving in engineering with a shift in perspective – focusing on user outcomes can lead to innovative solutions and change your approach to system design.
Insights for interviews from Kahneman's Noise
everything people say is bad about modern tech interviews is actually good 🤯
The programming tutorial SEO industry is dead
20 years ago greybeards laughed at us for Googling. Now they laugh when we ask ChatGPT. But the leverage is 🚀
Coding is the easy part
Behind the scenes of a vendor migration project. What senior+ engineers do so you can focus on the code.
"If you're so good, why aren't you making 600k at BigTech?"
Swiz shares why he's not making the big bucks at a tech giant, from the soul-crushing grind of corporate to the funny money of tech compensation.
Own your career like an expert
You can achieve more with your career by leveraging your experience, advice, and ability to clear blockers, rather than just working hard. This approach of "force multiplying" your team can create more value than working alone
Squash merge? Really!?
Learn why squash merging is your friend - from hating it to loving it! Squash merging helps you keep moving and focus on the work instead of recording the work.
Why trunk-based development is best
Merging finished work straight to main and deploying to production right away, scales to teams of thousands. This approach is counterintuitive to many engineers who may be used to working on their own
Can you stay a senior engineer forever?
Here's an idea that can take the pressure off your career: Yes, you can stay a senior software engineer forever. But how?
Grow your career ... in this economy??
if you've been following tech news lately, things feel ... 😖 Between the layoffs, hiring freezes, investors suddenly caring about revenue, and whatever the heck stock markets are doing, we're in for a rough time. BUT!
The art of the cowboy merge 🤠
how do you catch a critical deadline that cannot be missed? We're talking external stakeholders, millions on the line, and it all hinges on *your* team getting it done on time. No overtime
Reader Question: What do collaborative teams look like?
New members on our team invariably say 2 things: 1. Wow I've never seen a team move this fast 2. This approach feels weird. I'm uncomfortable Teams like this are not common.
What coding tutorials and teachers get wrong
Chatting about teaching and learning complex technical skills with an engineer I'm mentoring. She's a former chef. We shared the same frustration with online resources.
Reader question: So about that perfect burndown chart ...
If your approach works so well, why isn't every team doing this?
Nobody is coming to save you
How do you react when you don't like The Process at work? Most programmers complain on social media, make a wry joke, and ... suffer. Not great
Reader question: Feeling guilt as a tech lead
Keep getting the guilt, that I'm not able to code, just running around for discussions and solving other issues, managing people. Any idea to manage all the fronts and get rid of this guilt?
You don't *have to* build it sloppy to go fast
My favorite mistake to make when I'm in a hurry is to think that I _have to_ build new features the sloppiest way possible. Find the quick fix and move on. But that's not true.
What makes a great software engineer?
In 2015 a group of researchers asked 59 experienced engineers at Microsoft "What makes a great software engineer?". Here's what they found.
Write abstractions, not just code
Wherein I use a silly example to show why you need more than small reusable single purpose functions to write good software.
Always have 3 answers
How do you stand out as an expert amid tech layoffs?
Coding forces you to understand the problem
Programming translates fuzzy understanding into exacting specifications. That’s why it’s hard. The Illusion of Explanatory Depth reigns supreme
A lesson on expertise from a great mafia movie
You cannot make something good until you understand who you're making it for.
There are no bad teams
it’s the leader, not the team
Writing software is like kicking a can
Writing software is a playful process of exploration and discovery. Like a game of kick the can on a Sunday walk.
The role of a senior+ engineer
"Every product org should have a senior+ engineer whose job it is to run around and make everyone else more productive" 🤔 That IS the role of a senior+ engineer
How we made the best burndown chart you've ever seen
My entire career I've never seen a sprint finished on time. The new manager said "Oh I think we can fix that" ... 18 months later he proved me wrong
When to join and leave a company, project, or trend
Timing changes everything. Who do you think has better engineers? The team that built Google from 9 million daily searches in 2000 to 1 billion in 2009, or the team that launched Google's 10th chat app last year?
Why experts charge more
Ever noticed how an expert's job isn't that different from an apprentice's? Yet they can charge way more 🤔
Are you the engineer who scoffs at high salary numbers?
Engineering compensation falls into groups so different that neither group even realizes the others exist. And they fight about it.
How to give and receive feedback
Feedback can save an airplane from crashing, or upset everyone around you. But for you personally, honest feedback is the fastest way to become a better engineer. Fixing what you're bad at is where the gains hide.
Be their shit umbrella
because if you go to bat for the team, the team goes to bat for you
Quick tip for system design interviews
What are system design interviews for anyway?
What is the goal of engineering?
How can you know you're succeeding if you don't know where you're going?
Try to work for a brand
Brand helps your career in subtle ways.
The quickest way to fail a tech interview
No it's not a wrong answer or floundering with algorithms. Not even being nervous or shy or having a language barrier. Culture fit is the least of your worries if you make this mistake.
A mental framework that helps you code faster
What slows you down the most when you're coding or doing software engineering? I think it's how fast you make decisions
When it’s okay to work overtime
Not all overtime is bad overtime
Small choices can wreck your codebase
wanna see the strangest looping construct I've found in production code?
What to expect in senior level interviews
Interviews are terrible. Stressful, time-intensive, loosely correlated with on the job performance. They're the least terrible way we have to hire.
Getting from junior to senior
The difference in salary between a junior and senior engineer can be orders of magnitude. Many multiples at least. But what's the difference in mindset that gets you there?
How defensive coding leads to bloat
Defensive coding is an important lesson and over time and engineers it leads to massive bloat, if you're not careful.
What's more productive, a team or a talented soloist?
Engineers *hate it* when you say it doesn't matter how good they are because a team will outcode them any day. But it's true, you can't build something big on your own.
Meetings – a senior engineer's secret weapon
Boo meetings, yay code, right? There comes a time in your career when coding is no longer your highest impact contribution. Might even be holding you back. 🙊
How to rewrite your app while growing to a $100,000,000 series B
When you're in a company desperately trying to meet demand, *ship*. You'll have money, time, and professionals to fix code later. Even if you start with jQuery.
A great engineer knows their tools
Earlier in my career when I thought I was god's gift to engineering but wasn't, I failed one of those stupid interview questions that "have nothing to do with the work". It was a great question.
How to ask for help
what makes a senior engineer stand out in an interview? No it's not the amount of side projects or their leetcoding speed. It's knowing how and when to ask for help.
Reader question: "When do you fix tech debt?"
Long time reader Phil asks when do you fix the tech debt you used to ship faster. Heroic efforts don't work. The real answer is "always" – a mindset of gardening.
Pay yourself first
Profit is not what's left after expenses, expenses are what's left after profit.
What I learned from Software Engineering at Google
When I first picked up Software Engineering at Google I thought it was another one of those FAANG books full of lessons that make no sense at human scale. I was surprised, lessons apply to teams as small as 5.
Your career needs a vision
In his book, The Art of Science and Engineering, Richard Hamming says the key to a great career is vision. What does that really look like?
Why a coding AI like Github Copilot won't take your job
It might. What's your job? If you're in the *"write code to exact specifications"* business ... now's a good time to start leveling up. The AI's not ready yet.
How to own projects like a senior engineer
The best skill you can learn is ownership. The second best is to let go.
Do important work
Next time you finish a project, ask yourself: *"Might this work be important?"*. Add the polish.
Why you need a positioning statement
High value experts use positioning statements to say what they do for whom. Most engineers don't have one. 🤨
What matters in a senior engineer job interview
Degree matters if you have nothing better to show, consulting and BigTech backgrounds are negative, too many seniors can't code.
Flow good for programming, not engineering
Friend, how good are you at your best? ... Nobody cares. How good are you at your average? What about your worst?
Your luck & opportunity surface area
Here's a comment that resonated yesterday and you might like. It's about how to maximize the opportunity in your work.
How do you know if serverless fits your project?
The hallmark of a true expert is understanding about the pros and cons of your technical decisions.
Can you code faster?
What slows you down most while coding? It's not lack of skill. It's not lack of ideas. It's uncertainty. Fear.
The Magic Function principle
Write functions, mostly magic.
"silicon valley is like hollywood"
and I don't mean Silicon Valley the place, I mean Silicon Valley the concept.
Why you can't find an engineering coach
Wanna learn boxing? Join a gym, find a coach. Tennis player with a kink in your game? Find a coach. Software engineer with a missing skill? Google, random blogs, fun newsletters, dubious podcasts, noise on twitter 🤨
You're not asking for a job, you're selling a service
You're not asking for a job, you're selling a service. The true question behind every interview is "How can you help us?"
How I use delegation to get more done
Productivity porn shows you how to pack more into your day. Productivity porn is wrong my friend. You need to remove things to grow.
Should you take a pay cut for equity
Would you take some % of your salary in bitcoin? The joke is that compared to pre-IPO equity, bitcoin is predictable and has a known value.
Computer science is not software engineering
Wow, college was such a waste of time ... when did you ever invert a binary tree outside of an interview? Honestly I never inverted a binary tree in college either ☹️
Why senior engineers get nothing done
You start a new job and it's amazing. Code all day, clear objectives, easy guidelines, ship a bunch of features be a hero. Then something happens and suddenly you get nothing done. 🤔
Why Understanding beats Knowledge
Understanding beats knowledge every day. To have a strong career, learn to understand, not just to know.
Why engineers are worth so much
Engineers don't do the day to day work, they build assets the business can exploit for years to come. That's the magic
What makes you a senior software engineer anyway?
I used to think a senior engineer was someone who gets a project, understands the context, puts their head down, and gets it done. But no. A senior engineer does so much more than just write code and design systems.
How resumé-driven development shapes our industry
All that once was new is old again