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

    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? Or was it the 20th ...

    What's better: an engineer who saw Facebook grow from university students to market leader, or the person who spent 6 months making sure reactions to comments on comments work for all edge cases?


    They're all interesting challenges!

    Building at scale scale is hard. A 0.005% error rate at Facebook means 100,000 people see your bug every day.

    What scale lacks is change. You work on a piece of the system and polish to perfection. 1 year of experience 5 times.

    Growth means change. Serving 9 million searches is completely different than 1 billion. You get 5 years of experience. In 1 year, if you're lucky.

    The S-curve

    Companies, technologies, projects, trends, and even your skills follow an S-curve โ€“ย slow, fast, slow.

    The S-curve that rules everything
    The S-curve that rules everything

    You can put anything on the Y axis.

    Your skills are slow to acquire at first, then you grow fast as connections start to form and new concepts are easy to add. Later you slow down because there isn't much new to learn.

    A company grows slowly as it finds its footing, explodes in popularity when it finds product-market-messsage fit, and slows down when it saturates the market it can reach.

    Same is true for technology trends. The web has little room to grow, everyone already has a podcast, and when's the last time you saw a smartphone that wasn't a Magic Glass Rectangle?

    The chain of S-curves

    That slow-down doesn't mean the end. As Richard Hamming wrote in The Art of Doing Science and Engineering โ€“ย S-curves come in sequences. The top of each curve creates a new vantage point that lets us see the start of another.

    S-curve sequence
    S-curve sequence

    The transistor enables computers. The microcomputer enables home computers. The home computer enables the web. The web enables the smartphone. The smartphone enables social media. Social media ... web3? ๐Ÿคทโ€โ™€๏ธ

    You can think S-curves as a flattened representation of the hill climbing algorithm that governs your life. A search through unknown space.

    Hill climbing your way to success

    Use the S-curve to your advantage

    You can use the idea of S-curves to be more intentional about your career.

    Here's one of my favorite quotes from a Senior Engineer Mindset reader who picked up the book at 58 after a long career saving lives with electrical engineering:

    Perhaps I have not been intentional enough about managing my career. I have worked in the same building for my entire career. My team got dismantled and I realized this is a shrinking field with nowhere to go.

    This person was caught out at the top of an S-curve. Not just their company is shrinking, the whole field is! They can retire or jump into a new field. I imagine that's scary. 58 isn't that old.

    The best time to learn and grow quickly is when the thing you're working on is exploding. The biggest rewards come when you take a bet and join the inflection point. Stability comes at the end when things calm down.

    Using S-curves to your advantage
    Using S-curves to your advantage

    You can use this framework when joining companies, changing teams or projects inside large organizations, or deciding which technology to learn. Focus on how it feels. You'll know when it's growing and when it's not.

    I like to think of it like a game of Super Mario with platforms moving on the screen and falling from Mario's weight. You have to jump before you can't. If you time it so a rising platform gives your jump a boost, perfection.

    In reality, timing is more art than science. Join too early and you'll get tired before it explodes. Join too late and there's no more growth to gain.

    Growth or stability?

    The question I asked in the beginning is a head fake. Like when people tell you to "Make the choice that tells a better story" โ€“ย it's about taste.

    If you think polishing a tiny feature at massive scale is the most impressive โ€“ย do it! The world needs maintainers like you. If you like growth, you go girl! The world needs builders like you.

    But make sure you choose on purpose, not by accident.

    You don't want to spend your life climbing the wrong hill. That's why your career needs a vision.

    Good luck โœŒ๏ธ


    Published on April 7th, 2022 in Career, Mindset

    Did you enjoy this article?

    Continue reading about When to join and leave a company, project, or trend

    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 โค๏ธ