All software advice is wrong.
The reason is context – or rather the lack of context.
Blog posts, articles, YouTube videos, Twitter threads, and conference talks rarely address the context in which the author is operating.
Nuance is difficult to communicate and makes for less punchy writing
Well, it depends.
Are you learning to code? Are you trying to get a job? Are you trying to get a job at a FAANG company? Are you working at a consultancy? A startup? Are you building a video game? Or a line of business application? Or one microservice in an enterprise CRM platform?
Are you a tech lead trying to balance the needs of the business with your ability to hire and train the three new grads that are starting on your project (which is already 2 months behind)?
Context matters more than any technical benchmark or design decision. But tweet-sized aphorisms are what sells.
Predict which article gets more eyeballs: “We’re abandoning React Native” vs “The many trade-offs we had to consider and ultimately what worked and what didn’t work for my team of six .NET developers building two native mobile apps for non-technical customers”
Best practices become “best practices” because they achieve a good result across a wide range of contexts.
They should really be called Pareto Practices (80/20 rule), but then we would have to acknowledge there are situations where continuous deployment, TDD, code reviews, agile, etc are not a silver bullet (and maybe even harmful) and that’s no fun.
The great part about best practices is that they give you shared language to talk about concepts quickly, but the worst part is that it’s easy to substitute an understanding of the first principles or assumed preconditions with the pre-packaged idea.
This podcast is called YAGNI - You Aren’t Gonna Need It.
YAGNI was a phase coined to counter-act the desire to implement things that you foresee needing in the future. YAGNI says you should do things when you actually need them, not because you think you need them eventually.
My goal is explore the things we do and the tools we use and determine if, you know, we actually need them. I want to think about the context where something makes sense and where it doesn’t and then help you determine where your own circumstances fit.
Also, it’s fun to rant and fire off hot takes sometimes.
Lighten up, at the end of the day, we’re just a bunch of people typing on a keyboard all day. It could be a lot worse.
Welcome to YAGNI.
Listen to YAGNI using one of many popular podcasting apps or directories.