November as a whole was light on content that I found valuable enough to share and recommend broadly to folks in the technology space, but here we go.
The best article I've found that is close to, but doesn't quite do justice to the section of his book Extreme Programming Installed, on programming by intention.
In this article, and the section of the book Ron Jeffries, Ron makes the case that for APIs that you control (including all of those in your collectively owned codebase) you can, and ought to mold them into the ideal call signature that makes it most elegant and easy to use, and then be able to work inward to the implementation from it.
This idea is something I find not enough software developers think about while writing code, and it pairs incredibly well with Test Driven Development to make your life, and the life of your team easy.
The article still isn't fully what I want, compared to the section of the book, but until the day I break down and write the article myself, it's the next best thing.
Either way, big thanks to Ron for naming this idea for me.
A great GitHub based article from @sleepyfox - that while they state in the first line that it:
isn't an entirely serious treatise.
I think the ideas are all worth reading through and considering the merits of.
Some favorites to call out are
- Fox's third law of software development: metrics
"Giving a manager a metric is like monkeys juggling chainsaws. Whilst initially it might seem impressive, it always ends badly."
While this is just a bit of fun mental imagery, the callouts to Deming and Goldratt are hints for readings that all managers ought to read, but often don't.
- Fox's fourth law of software development: greenfield projects:
"There are no greenfield projects."
A great reminder that while the codebase may be new, you and your team are not, you're bringing a lot of emotional baggage to this project. Some of it good, some of it not.
- Fox's 6th law of software development: remote
"If anyone is remote, everyone is remote."
- Fox's 9th law of software development: two hard problems
There are two hard problems in computer science:
1. People are the hardest problem in Computer Science;
2. Convincing people that people are the hardest problem in Computer Science.
Practical Pair Programming - Jason Garber
A very interesting read on a very controversial topic in our industry, but with quite a bit of interesting research behind it.
If you're on the fence, or interested in learning more about the potential upside of pair programming, despite the fact that almost none of the industry seems to have adopted it consistently/seriously, this is a great read.
That said, if you've only got the stomach for a single book on pair programming, Pair Programming Illuminated by Laurie Williams and Robert Kessler. It's easily the best book on the topic, combining research and how-to.
No conf talks this month.
No podcasts this month.
None this month.