Swizec Teller - a geek with a hatswizec.com

Senior Mindset Book

Get promoted, earn a bigger salary, work for top companies

Senior Engineer Mindset cover
Learn more

    Swizec's articles in the "lesson" category

    I aim to write mindblowing emails with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them.

    Below are 40 articles filed under lesson. Enjoy ❀️

    What being an expert looks like

    The blue sweater scene in 'Devil Wears Prada' is a masterclass in expertise

    Hard work doesn’t scale

    Overtraining won't always get you to the finish line faster. Growth comes in cycles - rest, push hard, recover. Less can be more when it comes to achieving your goals

    Move the rock

    it's about noticing the rocks that could trip others and taking the initiative to move them

    Why write

    Regular writing is a secret superpower! Sharpens your thoughts, boosts your career, and helps you become an authority in your field. Don't pretend to be an expert, just share your experiences. Your insights are gold

    Avoid spooky action at a distance

    Shared state in programming isn't the enemy, it's unclear dependencies that tangle your code. Keep it clean with explicit state dependencies and strict access guidelines

    When to throw away your code

    Delete code when it stops providing value πŸ’‘ All code is a liability; context matters. Keep what solves problems, toss the rest.

    A backend service nobody can grok

    a little case study from an upcoming book I'm writing with Manning about software rewrites

    Own the outcome, not the work

    Efficient problem-solving in engineering with a shift in perspective – focusing on user outcomes can lead to innovative solutions and change your approach to system design.

    DRY vs SoC, a difficult choice

    What is the essential difference between DRY and SoC principles in software engineering and how do you balance the two

    Coding is the easy part

    Behind the scenes of a vendor migration project. What senior+ engineers do so you can focus on the code.

    Clever technical hackery can't solve the wrong design

    A simple change in perspective can help you overcome complex technical challenges and save time on future projects.

    My biggest React App performance boost was a backend change

    Performance lives in the unlikliest of places. Follow the metrics.

    Why PATCH endpoints matter

    A painful lesson from production that brought several engineers almost to tears: *Please* add PATCH endpoints to your public APIs.

    How better data modeling fixes your code

    When your code feels hard, 9 times out of 10, the problem is with your data model. The signs are subtle.

    useCallback is a code smell

    One of my favorite ways to simplify and de-gotcha React code is to rip out all the useCallback and useMemo drama. 90% of the time you don't need it.

    If it works together, it lives together

    Wherein I use LEGO to talk about organizing your code for ease of use

    Why others' code is hard to navigate

    Some people like to organize code in files and folders and neat categories. Others love search. When they work together, that's the challenge.

    Your code doesn't matter

    "Your code doesn't matter" is something experienced programmers say, between the lines, when they sound like complete lunatics. But what do they mean? Why does everyone say it?

    Move your business logic into data

    The quickest way to simplify a complex function with lots of logic is to turn it into data. A lesson from production

    A work ritual that keeps me sane

    A coworker asked me for tips on how to stay focused during the day. Here's what I said.

    Write abstractions, not just code

    Wherein I use a silly example to show why you need more than small reusable single purpose functions to write good software.

    Coding forces you to understand the problem

    Programming translates fuzzy understanding into exacting specifications. That’s why it’s hard. The Illusion of Explanatory Depth reigns supreme

    A lesson on expertise from a great mafia movie

    You cannot make something good until you understand who you're making it for.

    Writing software is like kicking a can

    Writing software is a playful process of exploration and discovery. Like a game of kick the can on a Sunday walk.

    The Italian foods theory of bad software design 🍝

    Spaghetti code – unstructured Ravioli code – too structured Lasagna code – layered wrong Minestrone software – unclear domains

    Learnings about the future of the web from Reactathon

    The first in-person conference in years! It was wonderful 🀩 - Remix is great - Serverless at edge is the future - GDPR does not play with πŸ‘†

    The role of a senior+ engineer

    "Every product org should have a senior+ engineer whose job it is to run around and make everyone else more productive" πŸ€” That IS the role of a senior+ engineer

    A quick lesson in writing resilient code

    On the backend anything can and will fail. How do you deal with that?

    Immutability isn't free

    Or how we took an API endpoint from 16s to 3s.

    The quickest way to fail a tech interview

    No it's not a wrong answer or floundering with algorithms. Not even being nervous or shy or having a language barrier. Culture fit is the least of your worries if you make this mistake.

    What to do when bugs are whack-a-mole

    What do you do when every bug you fix creates 5 new bugs? You could laugh and move on, or realize it's a sign of bigger issues

    The Passion Paradox

    burnout doesn't work the way you think

    When it’s okay to work overtime

    Not all overtime is bad overtime

    Why null checks are bad

    Every null or undefined check doubles the number of tests you need 😱

    Small choices can wreck your codebase

    wanna see the strangest looping construct I've found in production code?

    How defensive coding leads to bloat

    Defensive coding is an important lesson and over time and engineers it leads to massive bloat, if you're not careful.

    Stop SHOUTING = 'shouting'

    A hill I will die on πŸ‘‰ global CONSTANT = 'constant' are bad

    Different medium, different mindset

    Ever wondered what it's like to make a physical book? It ain't as easy as shipping code lemme tell ya πŸ˜…

    Lessons from migrating a 14 year old blog with 1500 posts to Gatsby

    After 4 years of putting it off, 1 year of tinkering, a month of work, and $1500 of hired help, my new blog is finally here πŸŽ‰ Here's what I learned.

    Created by Swizec with ❀️