A friend told me that he doesn't read blogs anymore. No more hasty notes by half experts. No more podcasts, no more newsletters, no more thoughtfluencers. He's done with all that crap.
Instead, he reads textbooks and books from experts with decades of experience in a field. Books written at the end of a long and fruitful research career.
And you know what? I'm kind of the same.
As you grow in expertise, finding valuable material to learn from becomes harder and harder. Advice begins to repeat itself. Every blog or article feels like "Yeah yeah heard that before, and that, yep that too"
It becomes boring.
Not because the field is boring, not because you aren't passionate, but because you've outgrown the common advice. You need something more.
Here's a fun thought:
If the number of developers doubles every 5 years, then with 5 years of experience you're more experienced than half the industry
🤯
Quoted from Bob Martin, famous for writing Clean Code and others.
Maybe that's why developers love to jump in a new stack or invent a whole new technology every 5 years or so. We get bored and want something new to learn voraciously.
So to be honest, while I write articles, I rarely read them anymore. I prefer to do my own research and follow the raw expert stream of thoughts on twitter. It's like a bazaar of ideas and I love that. Sometimes I read books.
But I don't follow coding podcasts, I don't read coding blogs, I skim documentation, and I read every 3rd paragraph of google search results.
My favorite media these days are long-form audiobooks.
Sometimes this leads to embarrassing moments on twitter where half the Vue community tells me I'm wrong.
All part of learning. ❤️
So if you're ready for a challenge ...
... here's what I recommend: A holiday reading list.
Computer science papers. The good stuff. The stuff that's stood the test of time. The papers and lectures that people have been quoting for years and decades.
Some of this is crowd sourced so I haven't read all of them yet. Enjoy :)
- Turing's On Computable Numbers, the birth of the computer era
- Shannon's A Mathematical Theory of Communication, a paper so good I used it as a textbook in college. Everything we do on the web depends on these ideas
- Hamming's You and Your Research, a collection of life lessons from Richard Hamming that you should read every few years
- Randy Pauschs's Final Lecture, an inspiring tale from the end of a wonderful career in computer research. You should watch it every few years
- Feynman: Knowing vs Understanding, an important 5 minute lecture that strikes at the core of this post. Read Surely You're Joking Richard Feynman for wonderful insights into thinking itself
- Why Philosophers Should Care About Computational Complexity, a paper I plan to read over the holidays. It explores the importance of computability and complexity in life. A version of this I enjoyed as an audiobook was Algorithms to Live By
- Statecharts: A visual formalism for complex systems, another paper I plan to read. It talks about state machines and how to use them. And most of what we do as a web developers are state machines
- Actor Model of Computation, a paper about a different model of programming. We don't use this on the web very often, but it's popular in the gaming industry. I'm excited to learn from it.
That's plenty for a week, have fun. I know I will :)
See you next year. Happy holidays and don't forget to call your grandma.
Cheers,
~Swizec
Continue reading about A holiday CompSci reading list for you 🎅
Semantically similar articles hand-picked by GPT-4
- The best engineering books get good 5 years into your career
- 25 lessons from 25 years of coding
- 6 books engineers should read
- Reader question: How do you learn programming topics?
- DO more _work_ less
Learned something new?
Read more Software Engineering Lessons from Production
I write articles with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.
Subscribe below 👇
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"
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 ❤️