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

    Depth takes time

    You cannot be a senior engineer if you haven't spent at least 3 years on one product. This is a hill I will die on.

    Yes, early career advancement promotes job hopping. The quicker you can broaden your experience and see how different companies work, the better. Nice pay bump with every hop too.

    But that approach hits a wall.

    Later career advancement promotes depth. You need to be seen as an expert. The person who can come in and teach us how to do X.

    When a middle manager is hiring, they need hands. People who can do the work in a workmanlike manner. The manager will tell you what to do.

    When a business owner is hiring, they need brains. People who have been there done that, can own the outcome, and tell their boss/client what to do.

    The only way to get there is time. Because software engineering is programming over time.

    Why 3 years? That's about how long it takes to experience the consequences of your own decisions. For your beautiful ideas to turn into that awful crap you have to maintain.

    And it doesn't work without skin in the game. If your ideas aren't running in production making real money, you're just navel gazing.

    Without the business part, you're missing the most important part of engineering – constraints. It doesn't matter what's your best idea, show me what worked when customers were banging down your door, running afoul of your beautiful construction, and you had 5 other things to get done that week.

    Domain modeling not so easy when users insist on putting triangles through a square hole is it? I love that meme

    You can't get this experience without feeling the pain of change. Yes you can learn lots by jumping into an old codebase and maintaining it. Yes plenty to learn by seeing how different products approach similar problems.

    But it's the awful grinding pain of reality bending your code to its will over time that's the real teacher.

    It's easy to build a beautiful greenfield project. It's even easy to come in like a wrecking ball and say "wow everyone before me was a dumbass this project is a mess".

    The hard part is keeping your code beautiful after years of wear and tear. The changing requirements, the scope creep, the flux in user expectations. That's the true art of software engineering – adapting your code over time.

    If you can do that, I trust that you're senior.

    Cheers,
    ~Swizec

    PS: the most dangerous engineers have 5 years of experience. All the knowledge and chutzpah, none of the wisdom.

    Published on February 25th, 2025 in Mindset, Software Engineering, Career

    Did you enjoy this article?

    Continue reading about Depth takes time

    Semantically similar articles hand-picked by GPT-4

    Senior Mindset Book

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

    Learn more

    Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.

    Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.

    Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help 👉 swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.

    Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers 👉 ServerlessHandbook.dev

    Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization

    Want to get my best emails on JavaScript, React, Serverless, Fullstack Web, or Indie Hacking? Check out swizec.com/collections

    Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog

    Want to brush up on your modern JavaScript syntax? Check out my interactive cheatsheet: es6cheatsheet.com

    By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️

    Created by Swizec with ❤️