To be specific, articles that changed in some way how you program but also aren’t already recommended by everyone. For example, everybody already knows about Goto Considered Harmful, so that doesn’t count, nor does The Case Against Python 3 (because nobody found it influential). I’m looking for the lessons you took away that other programmers might not necessarily be exposed to.
Here are some of the ones that influenced me:
An introduction to property-based testing: Introduces “why quickcheck” in F#. I can’t say for certain that it made me start thinking in terms of adversarial programming, but it definitely helped.
Scalability! But at what COST?: Big data systems vs some guy’s laptop. For a few dozen gigabytes (the stuff it’s trendy to call “big data”) the laptop is orders-of-magnitude better. It’s an example I use at work for why we can’t just rely on “throw more servers at it” for scaling, as well as why it’s often better to first try algorithm improvements before infrastructure improvements.
Use of Formal Methods at AWS How AWS uses TLA+. Convinced me that formal methods might be practical in my day-to-day work, which lead to me learning TLA+, which lead to me obsessing about TLA+. TLA+ TLA+ TLA+.
Static vs. dynamic languages: a literature review: Argues that there’s no rigorous evidence that static typing makes your code less buggy. I’m sure everybody has thoughts about the conclusion, but my main takeaway is that we should do more controlled research on software engineering methods, vs arguing from experience or first principles. My other main takeaway was to buy a copy of Making Software, which I’d really recommend.
Anyway, I’m interesting in hearing what was important for you.