[name|Friend], earlier in my career when I thought I was god's gift to engineering but wasn't, I failed one of those stupid interview questions that "have nothing to do with the work".
What would you change about JavaScript?
Ugh what a dumb question what does that have to do with placing divs on a page and solving business problems who does this interviewer think he is??? JavaScript is perfect and amazing, if you struggle with any of its fiddly details you're obviously just not smart enough yet.
And you know what [name|], the interviewer got exactly what he was looking for from my answer 👉 pass, not senior.
Opinions expose expertise
"What would you change about X" is a brilliant question because the more time you spend with a tool, the more sharp edges you uncover.
My favorite interview question that I failed was:
— Swizec Teller (@Swizec) September 8, 2021
“What would you change about JavaScript?”
Sounded like dumb nonsense at the time, but the more time I spend with JavaScript the more answers I have. It was a brilliant question.
At the time my experience was as a freelancer. You parachute into a project, solve a gnarly problem or two, and move on.
You don't get exposed to the real engineering challenges – programming over time – and you don't find JavaScript's sharpest edges. Its challenges for collaboration, unintuitive scoping rules, limited standard library, and all the missing features we love from other languages.
When ES6 happened my mind was blown. All these amazing details I never realized were missing! 🤯
The more big production projects I build with a team, the more answers I have for a wide variety of "What sucks about X" questions. Especially JavaScript. Ask me now and I might never stop talking.
But I had to earn that knowledge. Find the battle scars.
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.
The sports analogy
You'll never hear an athlete say "Pfft, they should just know how good I am, ~~interviews~~ tests are stupid!". Competition is what they're all about.
But even athletes experience this evolution of insight. The longer they train, the more minute details they can talk about.
When my sister started track in high school, she could run. A few months later she could explain the mechanics of a good gait that doesn't waste energy. A few years later she could talk for an hour about the benefits of different brands of spikes for her shoes.
Yep, this stuff has brands.
In Open: An Autobiography (great book), Andre Agassi talks about the difference between playing on clay vs. grass vs. a hard court.
Who cares right? You show up, hit the ball, win the game. Same rules, same balls, same tennis rackets, same opponents even.
You're wrong [name|]. Agassi says the court surface changes tennis. Makes it a new game almost. Different strategy, different training, different technique. All different.
Hell, Agassi is such a tennis expert that his autobiography opens with an anecdote about rackets. They're packed in the wrong order. It's throwing him off. And he can't get used to the modern kind either. They're too heavy, or too stiff, or the strings are all wrong ... something.
They're all rackets to me 🤷♀️
Start with shoelaces
You may think none of this matters.
Athletes are divas, Mayweather and McGregor fussing over 8oz or 10oz gloves is clickbait drama, and asking engineers about tools is stupid. You're hired to solve problems, not opinionate about the tools 🙄
But the tools are there to serve you [name|]. They should meld into the background. Become automatic. Not distract you.
Like Coach Wooden, a 10-time basketball champion used to say – poorly tied shoes lead to blisters, blisters lead to missed games, and missed games lose championships.
A solid foundation is gold
Tools aren't just "tools". Every concept is a tool.
In boxing, magic happens when you go from thinking about how to throw a punch, to thinking about the game. When you're free to strategize because the mechanics of punching and stepping are automatic.
Same with coding.
How can you focus on the code, if you have to think about typing? How can you focus on the architecture, if you have to think about loops and functions? How can you focus on domain modeling, if you have to think about data structures? How can you focus on the problem, if you have to think about code formatting?
Each concept you automatize frees up your brain. Unlocks the next level of insight.
Your answer to "What sucks about X" tells people where you're at [name|my friend] ✌️
Cheers,
~Swizec
Continue reading about A great engineer knows their tools
Semantically similar articles hand-picked by GPT-4
- What matters in a senior engineer job interview
- How to ask for help
- You're not asking for a job, you're selling a service
- In 2020's, what is "frontend"? 🤨
- 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 ❤️