Good reads
This is an unsorted list of articles that I find to be good in one way or another.
- Maker’s Schedule, Manager’s Schedule
- a must-read for anyone working in a software development team. Helps express what most of us have felt at some point in our careers.
- The case of the 500-mile email
- a fun troubleshooting story that I always forget about.
- Things they didn’t teach you about Software Engineering
- some hard truths about software development that someone starting out in this world should know.
- 20 Things I’ve Learned in my 20 Years as a Software Engineer
- more anecdata about life as a software engineer, and quite accurate in my experience.
- OpenZFS - the final word in file systems
- a detailed summary about ZFS, the golden standard of file systems.
- I’m Going To Scale My Foot Up Your Ass
- short rant that restored some of my faith in this industry.
- More than five whys and “layer eight” problems
- not all root causes for technical problems are technical.
- People can read their manager’s mind
- “Corollary 1” is very relatable.
- The Performance Inequality Gap, 2023
- demonstrates why you should care about performance, and also highlights how slow a good chunk of devices using the web really are
- Questions for a new technology.
- if you’re feeling hopeless about resume-driven development or uninformed tech choices being made in your organization, then this might help build your case against that sort of mindset.
- n-gate.com
- amusing and cynical take on Hacker News top posts, plus a selection of FOSDEM talks. As of 2023-03-13, the last post is dated 2021-08-14, it’s possible that the author is inactive. Do give it a read, though!
- Efficiency is the Enemy
- Incredibly valuable piece of advice. Explains well why you might want to just be idle so that you can react to new opportunities. “If you ever find yourself stressed, overwhelmed, sinking into stasis despite wanting to change, or frustrated when you can’t respond to new opportunities, you need more slack in your life.”
- Ikigai: The Perfect Career Diagnostic
- interesting way to look at your career, and potentially something that might help you explain why you don’t feel satisfied with your current career path.
- The Joel Test: 12 Steps to Better Code
- good litmus test for your own software development team. Perhaps redundant or irrelevant for well-functioning software development teams, but crucial for identifying the dysfunctional ones.
- Things You Should Never Do, Part I
- just don’t do that rewrite from scratch, it’s not worth it.
- Microservices: Why Are We Doing This? [original link]
- a different look at the microservices phenomena that highlights some of the downsides of that approach, which are often omitted whenever someone is pushing for microservices.
- The Law of Leaky Abstractions
- something you should probably take into account when using any kind of technology that builds on top of existing tech. “All non-trivial abstractions, to some degree, are leaky.”
- NDAs and Contracts That You Should Never Sign
- examples of contracts that you probably should never, ever sign as a developer. Not legal advice.
- How To Ask Questions The Smart Way
- something that I tend to link to every junior developer as they usually ask a lot of questions (as they should, they’re juniors, after all!). After reading this, you’ll know exactly how to structure your questions so that you don’t infuriate others and get answers that relate to your actual objective.
- Human Task Switches Considered Harmful
- explains well why you don’t want to pile on tasks on your developers. Let them focus on one thing at once.
- Is Critical Thinking the Most Important Skill for Software Engineers?
- un-jargon the jargon, and ask the “why” and “how”. Those confidently throwing around all sorts of advice sprinkled with technical jargon might just be hiding their own lack of understanding on the subject, don’t let those people make you feel dumb.
- Powers of Two
- a list of software development best practices that the author has picked up over the years, and in my opinion a very good starting point for a smaller project with a few developers. How I wish that I could work in such an environment one day…
- Incentive Pay Considered Harmful
- explains why you should not treat your employees as children and how performance reviews suck in a corporate environment.
- Where do These People Get Their (Unoriginal) Ideas?
- a dot-com era rant about a particular article that touches on developer productivity and factors that affect it.
- Wasting Money on Cats
- another dot-com era rant from Joel, this time with a physical product that was a solution looking for a problem. Parallels with useless tech bubble crap from 2010s are very clear.
- Seven steps to remarkable customer service
- you can’t ignore customers, even as a developer, so you better understand how to deal with them. I can also confirm that step #1 does work and you should do it if you don’t want to drown in complaints.
- Whaddaya Mean, You Can’t Find Programmers?
- from the dot-com bubble era, but the points still echo in late 2010s. The tech might change, but the fundamentals don’t.
- A Field Guide to Developers
- a great overview of what software developers care about when looking for a job, and what you can do to differentiate from your competitors. Spoiler alert: it’s not the money.
- Everything Must Be Paid for Twice
- interesting framing that could help you avoid making unnecessary purchases and commitments.
- Go Deeper, Not Wider
- describes one approach that you can take to extract more value from what you already have.
- 17 Reasons NOT To Be A Manager
- sounds a bit clickbaity, but the content is spot-on and has many parallels with my own experience as an engineering manager. Doesn’t mean that you should never be a manager.
- Know your System Administrator - A Field Guide
- I don’t get all the details, but it’s funny nevertheless.
And the comics: