The relevancy of Fredericks Brooks thoughts on software development astounded me, given it was written in 1983. There isn't much written on SWE written 40 years ago that could still be applicable today. Only two things seem to have aged in the paper: 1. The references to languages long buried under many more layers of abstraction. 2. The upper limit of Higher level languages. (hint: LLM Copilots) He states their are two types of difficulties that can be experienced while building software Essential and Accidental. The essential difficulties were framed as: Complexity, Conformity, Changeability, and Invisibility. Accidental are the self imposed limits such as hardware limitations, poor language abstractions, and poor time sharing. If engineering management was formalized, this would be required reading. The astuteness of his observations on essential difficulties has not changed, and you could argue neither have the accidental. In surprising relevancy he states that one solution that had not been achieved, but is listed, in the "Hope for a silver bullet", is AI as an abstraction layer. This is a separate point from his other hope, Bigger and better higher level language abstractions. I muse if he could fathom that the two of these may meet one day. Our ability to chat with a system that both can scaffold the largest and most complex chunks of software along with reason, inspect, and decide on architecture patterns is truly, in my opinion, the closest we've come in a Silver bullet for the software engineering werewolf. As an afterthought, the thoughts he introduced around framing software as growing the product vs building will have large effects on my day to day. Email me if your interested as to why.