Last week, a colleague came to me to ask for advice. He's a senior systems administrator who's now in a developer role. He's competent in writing and editing code in general, but feels like he's lacking experience in software design.
He's eager to learn about the subject, but I couldn't quite help him. I consider myself reasonably competent in designing software, but that's the result of 15 years trial-and-error-based learning, so I cannot point him to any resource. Can you recommend a book, webpage or other material (or maybe just some advice) that might help him build this skill?
Lampson's classic on hints for computer system design:
https://www.microsoft.com/en-us/research/wp-content/uploads/...
Here is a previous HN post on the subject: https://news.ycombinator.com/item?id=8000811
The Clean Code author has a Clean Architecture book but I don't think it is out yet.