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. ❤️
PS: You should also follow me on twitter 👉 here.
It's where I go to shoot the shit about programming.