Good reads
This is an unsorted list of articles that I find to be good in one way or another.
-
- “Discover the IndieWeb, one blog post at a time.”
- click a button and land on a random post on someone else’s blog
- someone added my blog into the mix in 2022, which I really appreciate <3
-
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
- see also the scathing 2024 update
-
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.
-
- 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!
-
- 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.
-
- 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.
-
- 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.
-
- 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 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.
-
- 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.
-
Your Organization Probably Doesn’t Want To Improve Things
- another one of those “big org bad” posts, but plenty to reflect on if you’ve ever worked in one.
-
The Grug Brained Developer: A layman’s guide to thinking like the self-aware smol brained
- the “say it to me like a caveman” edition of everything that you might need to know as a software developer. Amusing, and actually insightful.
-
Some mistakes I made as a new manager
- had a lot of relatable memories when reading this one.
-
- author’s journey in a software-as-a-service company, with lots of mistakes and lessons learned.
-
- well written article explaining why you might not want to use JWT-s for session management.
-
The Night the PostgreSQL IDs Ran Out
- short description of an incident, including a clever temporary workaround to the problem.
-
- lists a lot of good points on why you should avoid using the newest and shiniest tech in most cases.
-
A student asked how I keep us innovative. I don’t.
- related to the “choose boring technology” idea.
-
Command-line Tools can be 235x Faster than your Hadoop Cluster
- computers are fast if you know what you’re doing.
-
Salary Negotiation: Make More Money, Be More Valued
- good overview of how salary negotiations work and why you must do it, every time.
-
Running A Software Business On 5 Hours A Week
- inspirational and useful overview of how you may approach building a software business during spare time.
-
Don’t Call Yourself A Programmer, And Other Career Advice
- pretty much what it says in the title.
-
How to burnout a software engineer, in 3 easy steps
- pretty much what it says in the title.
-
- a neat way to cover how software interacts with the world and where each stakeholder stands
-
- reflection on how company culture affects work outcomes, including some real-life examples, both good and bad ones.
-
- lots of examples of dysfunctional companies doing dysfunctional company stuff
-
- reasons to make you paranoid to consider using error-correcting memory in your setup
-
- asking seemingly stupid questions isn’t all that bad and can in fact help you learn better
- this blog is a testament to this idea
-
How I cut GTA Online loading times by 70%
- great debugging story where the protagonist fixes suboptimal code that Rockstar Games shipped
-
- interesting overview of the choices made in a startup and how they ended up working out
-
Living APIs, and the Case for GraphQL
- I never quite understood the point of GraphQL until I read this article. Now it actually makes sense!
-
- great visual and interactive article demonstrating the principles of load balancing and the effect of different algorithms on the end result
-
Feature Casualties of Large Databases
- accurate observations on what you will usually lose when working with a large database in a mature project
-
Practical Problems with Auto-Increment
- completely unexpected reasons (at least for myself) for why you might want to use UUID-s instead of auto-incremented numbers
-
Minimally Invasive (and More Accurate) Analytics: GoAccess and Athena/SQL
- how to accurately analyze your website traffic without introducing invasive tracking.
- I actually use GoAccess myself to check the viewership of my own blog
-
Scaling Postgres with Read Replicas & Using WAL to Counter Stale Reads
- creative way of making your application take advantage of read-only replicas while also making sure that you don’t make a mess, also covering the downsides of such an approach.
-
How to Manage Connections Efficiently in Postgres, or Any Database
- covers the impacts of just adding more connections to the database and how to properly architect your application so that you don’t end up hogging an unnecessarily large number of connections
- very relevant at my day job
-
- covers the importance of setting boundaries and saying “no”
-
- interesting way to look at being a mentor or a mentee. Also contains tips for becoming a mentor or how to find one yourself.
-
I Accidentally Saved Half A Million Dollars
- fun and cathartic read about how applying just a little bit of care can result in obvious savings, and non-obvious outcomes for the author.
-
- a theoretical calculation about how much resources you really need for hosting a popular website. It might be less than you think.
And the comics:
Random things that should not get lost to time:
- Development of the trilogy & IV - What life was like inside Rockstar North.
- a now-defunct blog that has some good short stories about GTA series development