What are the books all junior devs should read in 2022?
I find myself in a situation where I need to recommend some good books on software engineering to some developers who are just entering the workforce after finishing their education. When I was young, there were some books that generally everybody agreed were &quot;must reads&quot;. They included:<p>Refactoring by Martin Fowler,
Design Patterns by the Gang of Four,
Test Driven Development by Example by Kent Beck,
Clean Code by Uncle Bob.<p>There&#x27;s others like Pragmatic Programmer but I want to keep this list short to simplify the discussion.<p>My question is, are these books still relevant? Should any of them be replaced by more relevant books for 2022?<p>Refactoring is still one of my favorite tech books of all time, and I see it has recently been revised in 2018 to include javascript examples. I think this remains a solid recommendation.<p>Test Driven Development by Example is probably timeless as a historical record, but I&#x27;m wondering if there&#x27;s a more recent work that covers the same content but also goes into Behavior Driven Development and Acceptance Test Driven Development.<p>Clean Code I would say is certainly still relevant, but I am wondering if there is any book that covers the same content with more recent code examples.<p>Design Patterns is the one I&#x27;m struggling with the most. Back when I first read it, it changed my life. But in 2022, with OOP looking increasingly dated and more and more people realizing they shouldn&#x27;t make everything a noun, I wondering if there isn&#x27;t a better choice out there? In many ways Design Patterns were created as a way for Java programmers to emulate useful tools from functional programming by nounifying them. I&#x27;m wondering if there isn&#x27;t any good book to cover instead basic patterns from functional programming, stuff you see regularly in languages like javascript and python. Stuff like function composition, applying a closure to a container, that kind of thing. Any good options?