Mason writes on WIPchat 👇
@swizec I'll be partnered on a project with a less experienced dev soon. We're going to use Gatsby, and he's never worked with React (but knows JS). First thing I did when the boss told me was to send the other a dev a link to your Learn While You Poop thread 😊
This is also funny because the PM approached me like I'm senior, but I still feel more on the 🍼👶 end of the skill spectrum. It seems like clients just assume I've been at it way longer than I have. I just roll with it 😬
So I asked Mason how long he's been doing this: Coding for 6 years, professional web dev for 2-3 years.
That's not too bad!
I think that puts Mason solidly in the vast quagmire of Intermediate Developer. A designation that is most hardest to wrestle into an exact definition.
Large companies, of course, have well-defined ladders you can climb, but that's weird.
To me, an intermediate developer is someone who…
- feels comfortable writing code,
- can come up with solutions on their own,
- often overthinks things,
- shoots themselves in the foot sometimes, and
- just needs exposure to real world problems and time to practice
That last one is important.
An intermediate developer is someone who can work independently but needs more experience. Experience is key. The more time you spend solving real-world problems for real-world businesses where the real money is on the line, the better you get.
No, solving example problems and pre-defined puzzles do not grow you from intermediate to senior. I'm not even sure it gets you from beginner to intermediate.
It's fun though! Do puzzles if you like them. Just know that, in the real world, nobody cares about the elegance of your solution unless there is a specific business requirement that says Must be elegant.
Deployed beats perfect every time. That was the hardest lesson for me to learn.
Sure, go and be elegant if you're building a framework that tens of thousands of engineers are gonna use to solve real-world problems. But that's a very special place with very special rules.
So here's Mason. He's a good guy who isn't afraid of anything. But he thinks he's not senior enough to guide and mentor someone just starting out.
Here's what Mason forgets 👉 According to the Stack Overflow survey, 67% of software engineers have less than 5 years of professional experience. Five years!
But think about it. The web reached consumers in 1993 or so. Tim Bernes Lee put the very first web page online in August 1991.
That's just 27 years ago. The whole industry has existed for only 27 years.
Did you know that 50% of the world still doesn't have internet access? 3.5 billion people left to reach over the next few decades.
Can you even call putting the first website online the birth of an industry? 🤔 Was the automobile industry born in 1885 when Benz created his Motorwagen, the first internal combustion vehicle?
Let's see, 1885 plus 27 years ... 1912. Just 4 years after the first mass-produced car, the Model T.
That sounds about right, doesn't it? The web is just entering the era of mass production of web pages and websites and all sorts of web things.
This mass production is what's driving the democratization of web development as a profession that we're seeing right now. More and more people are getting into web dev using better and better tools.
Just like factory workers in the early 20th century. The industry was booming, and everyone wanted to build cars. That's where the jobs were.
Programs were started to teach people just enough skills to be productive in a factory. People were trained up fast and worked hard.
Give them the right tools and processes and anyone can build a car! Everyone should go build cars! We have more orders to fill than people to fulfill them!
You know, just like everyone should go to a boot camp or a school and become a Web Developer. Learn a specific tool, a specific process, crank things out as fast as you can.
But not everyone can design a car. You need an engineer for that.
Be the person who builds the tools and designs the solutions. ❤️
I write articles with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.
Subscribe below 👇
Join Swizec's Newsletter and get insightful emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"
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
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
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️