Swizec Teller - a geek with a hatswizec.com

    A great engineer knows their tools

    [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.

    Swizec Teller published ServerlessHandbook.dev avatarSwizec Teller published ServerlessHandbook.dev@Swizec
    My favorite interview question that I failed was:

    “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 Mindset series

    Get a series of curated essays on the mindset of a senior software engineer. What it takes to get there, what should you do when you're there, how to change the way you think.

    it describes my days in a way I have not read before.

    This was a very enlightening article about being a senior engineer.

    Join over 10,000 engineers just like you already improving their careers with my letters, workshops, courses, and talks. ✌️

    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.

    Track running shoe spikes
    Track running shoe spikes

    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

    Did you enjoy this article?

    Published on September 9th, 2021 in Mindset, Learning, SeniorMindset, Skills

    Want to become a true senior engineer?

    Getting that senior title is easy. Just stick around. Being a true senior takes a new way of thinking. Do you have it?

    Leave your email and get the Senior Mindset series - a series of curated essays on the mindset of a senior software engineer. What it takes to get there, what should you do when you're there, how to change the way you think.

    The Senior Mindset series

    Get a series of curated essays on the mindset of a senior software engineer. What it takes to get there, what should you do when you're there, how to change the way you think.

    it describes my days in a way I have not read before.

    This was a very enlightening article about being a senior engineer.

    Join over 10,000 engineers just like you already improving their careers with my letters, workshops, courses, and talks. ✌️

    Have a burning question that you think I can answer? I don't have all of the answers, but I have some! Hit me up on twitter or book a 30min ama for in-depth help.

    Ready to Stop copy pasting D3 examples and create data visualizations of your own?  Learn how to build scalable dataviz components your whole team can understand with React for Data Visualization

    Curious about Serverless and the modern backend? Check out Serverless Handbook, modern backend for the frontend engineer.

    Ready to learn how it all fits together and build a modern webapp from scratch? Learn how to launch a webapp and make your first 💰 on the side with ServerlessReact.Dev

    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 bySwizecwith ❤️