The best engineering books aren't those you read at the start of your career. It's the ones you appreciate 5 years in.
The problem with most educational materials is that they teach you how to do a specific task with a specific set of tools. Aimed at beginners or at people changing stacks. Great stuff that you'll grow out of pretty quick.
It takes time to appreciate the deeper insights. You need to work on projects with real stakes. And you need to stick around long enough to feel the consequences of your actions.
Nothing teaches you software architecture like dealing with your own crap from 3+ years ago. pic.twitter.com/AskWueIFWG
— Swizec Teller (@Swizec) March 28, 2024
Forget best practices learned in a vacuum
It's easy to be full of shit and best practices when you bail before the cows come home to roost. What ends up mattering long-term?
Almost none of it. 90% of best practices you read about online are navel gazing bullshit.
You need:
- good domain modeling
- the right data structures
- easy and quick deploys
- fast iteration cycles
- flexible codebases
Anything else is a cherry on top. Or a bunch of rules that help you achieve the above without you noticing.
This is the trap that edutainment falls into. Smart engineers telling you rules to follow with little to no context. Beginners then follow those rules religiously and it all turns into a mess.
Yes I know Famous Youtuber told you to do X, but it doesn't apply today because our entire database fits on a large SD Card. Forget scale for a second and just get it done will you?
I've had too many conversations like that.
And yes I started my career as the annoying person who knew all the rules and best practices from a book and none of the street smarts from getting punched in the face by the cold hard market.
I'll never forget when an old boss said "Look Swiz, code quality won't matter if we're dead". He was right you know.
The best books take experience to appreciate
The best engineering books are those you won't even appreciate until you've had a few years of experience. Titles like the Phoenix and Unicorn Project or Software Engineering at Google.
I say books because that's what I like. Talks, videos, and articles work too. Academic papers work wonders. Books are nice because they can go into depth and breadth that other formats struggle to match.
A lot of insights fit into a 14 hour read :)
Books like this talk about principles and lessons learned. They give no specific advice. No exact steps to take. Instead they tell you how to think about a problem, what to look for in your solution, how to recognize when it feels right.
At first glance these books feel useless. You'll see people complain they learned nothing of value. That the book didn't tell them what to do.
That's because it can't. Your situation and your codebase is unique. Applying lessons from a book or video is your job.
The best a book can do is give you a misleading toy example or an example so deep and difficult you'll skip the whole thing. Better to talk about principles and let you figure out the details.
Most people miss the good stuff
You have to read the deeply insightful books a few years into your career. After you've been punched in the face by stakes and consequences a few times. Then suddenly it's like "OMG where has this wisdom been my whole life!? Why did nobody tell me"
They tried to. You just weren't ready :)
But for many engineers it's too late. They think everything is a step-by-step tutorial and stop reading. They miss the good stuff because they never look beyond the material aimed at beginners.
Cheers,
~Swizec
Continue reading about The best engineering books get good 5 years into your career
Semantically similar articles hand-picked by GPT-4
- 6 books engineers should read
- What I learned from Software Engineering at Google
- Why learning and teaching the good stuff is hard
- My favorite lessons from Pragmatic Programmer
- A holiday CompSci reading list for you 🎅
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 ❤️