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.
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.
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.
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.
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.
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.
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 ✌️
Cheers,
~Swizec
Continue reading about When to join and leave a company, project, or trend
Semantically similar articles hand-picked by GPT-4
- When to stay at a company
- I'm a different engineer than I was 3 years ago
- How to grow as a senior engineer or why I got a new job
- How resumé-driven development shapes our industry
- Why senior engineers get nothing done
Become a *true* Senior Engineer
Get promoted, earn a bigger salary, work for top companies
Getting that senior title is easy. Just stick around. Being a true senior takes a new way of thinking. Do you have it?
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.
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 ❤️