Swizec Teller - a geek with a hatswizec.com

Senior Mindset Book

Get promoted, earn a bigger salary, work for top companies

Senior Engineer Mindset cover
Learn more

    Learn the mindset of a true senior engineer

    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.

    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.

    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

    Created by Swizec with ❤️