What are good literature to recommend senior and junior devs?
Posted by Javeess@reddit | ExperiencedDevs | View on Reddit | 95 comments
I am creating this internal resource page for the engineers, so looking for recommendations.
Posted by Javeess@reddit | ExperiencedDevs | View on Reddit | 95 comments
I am creating this internal resource page for the engineers, so looking for recommendations.
powdertaker@reddit
Mythical Man Month.
EnderMB@reddit
Not just engineers. I firmly believe that EVERY manager, including PM's and TPM's should read this book, even if purely for Brooks Law. It fucking astounds me how at all levels of tech people just don't seem to get that throwing "resource" at a late project isn't basically 2-3x-ing the output...
georgehotelling@reddit
This popularized the "10x engineer." The issue is that he points to research that says "there's a 10x productivity difference between the best and worst engineers" but somehow people have interpreted that as "there's a 10x productivity difference between the best and average engineers."
shifty_lifty_doodah@reddit
This was at a time when they were writing new operating systems from scratch in assembly, considering every design detail from scratch. That’s a totally, totally different job than what most modern programmers do, though it has some similarities
urbansong@reddit
Why? There's one chapter in there that makes sense and the other things are not relevant. Just extract the chapter into a blog post and boost that.
Ecksters@reddit
I do enjoy reading that one and seeing the author talk about these new-fangled compilers and how they probably won't be replacing hand-rolled assembly.
acme_restorations@reddit
"What are good literature to recommend senior and junior devs?"
English Grammar for Dummies.
Ok-Craft4844@reddit
For juniors:
Pragmatic Programmer Working with legacy code Rfc2616
You're in a situation where your work is most probably killed by your own errors, so get a solid grasp on the basics
For seniors:
Never split the difference, Chris Voss The Prince, Machiavelli
You're now in a position where your projects will be mostly destroyed by other people, so prepare for it.
SafeCurrency728@reddit
“Recommendations used to mean something due to relevancy, but now we outsource them to unvetted randoms on Reddit (1st edition) by S.F.Curr.
It’s a fantastic book which looks at how software engineers effectiveness has been diluted due to decision making fatigue caused by framework expansion. The findings are that there are an infinite number of concepts out there however focusing on the key ones relevant to your goals will lead to higher overall outcomes.
No_Entertainment3578@reddit
Code Simplicity: The Fundamentals of Software. https://www.codesimplicity.com/book/
achoice@reddit
Staff Engineer, https://staffeng.com/book good reading for senior or aspiring engineers.
No_Statistician7685@reddit
1984 and animal farm
lolikroli@reddit
Ulysses to get a taste of complexity
Gloomy_Freedom_5481@reddit
i dont think engineers are smart enough to understand ulysees
SituationSoap@reddit
If you ask your engineers to read Ulysses, I don't envy what kind of code you're going to get out the other side of that experience.
Javeess@reddit (OP)
Thanks, I put these two on the confluence page.
Zulban@reddit
Seriously, I genuinely think these are the best book recommendations for a junior dev.
Business_Try4890@reddit
But why it has nothing to do with webdev, genuinely asking
Zulban@reddit
Juniors especially think that if they just learn the next latest and greatest tech, they'll become an expert. If they just work harder, the results will be good. Often they're like the horse in Animal Farm.
They also haven't yet been gaslit by a person in power, or pressured to accept an absurdity like in 1984.
Juniors need to learn to recognize those situations to better deal with them.
It's like a car mechanic who doesn't know what money is. Reading the next car manual isn't a good book recommendation.
Business_Try4890@reddit
Thanks for taking the time to answer, I understand
pancakeQueue@reddit
My Senior Dev O’Brien just recommended me this book “The Theory and Practice of Oligarchical Collectivism.” A lot of good advice in here but should I follow it?
TheseHeron3820@reddit
The Count of Monte Cristo kind of slaps.
Wiremeyourmoney@reddit
My all time favourite book
Zulban@reddit
God damn this one hit home. I laughed aloud.
jlistener@reddit
brave new world
_AndyJessop@reddit
The Death of Grass
InitialAgreeable@reddit
A portrait of the artist as a young man.
mcmaster-99@reddit
As part of the working class, I can totally relate to those animals a decade later.
Gloomy_Freedom_5481@reddit
war and peace
Kolt56@reddit
DDD by evans skip a few chapters
Patterns of Enterprise Application Architecture
The phoenix project
Clean code
TRexRoboParty@reddit
s/Clean Code/A Philsophy Of Software Design/.
I'm certainly not the only one who thinks Clean Code is not that good - it just had a firm grip on the best/most searchable title IMO.
A Philsophy Of Software Design seems to be becoming the modern replacement and is much better.
Kolt56@reddit
I like to give it to JRs to explain the balance between quality and velocity.
Why we use verbose boilerplate, vs hyper optimization.. etc. self documenting code vs cyclomatic complexity of 16 with a page of comments.
dogo_fren@reddit
cc is utter crap, the guy who wrote it just made it up, look at his code on github, utter crap
Kolt56@reddit
Wild take. But between total book sales and your GitHub deep dive, only one of those changed how an entire industry writes code. Carry on, though.
dogo_fren@reddit
It changed for the worse.
Triabolical_@reddit
I think the goal is better than the Phoenix project. My experience is that people with development experience nit-pick the Phoenix project and miss the point.
MrZwick@reddit
Agreed. After reading Phoenix Project, I was very impressed and wanted to learn more from its source material and read The Goal next. The Goal is now what I recommend to people to learn the core message, then move on to Phoenix for the extra "industry relevance".
Unicorn Project is a cool one too but not as powerful on its message as the other two IMO
Kolt56@reddit
li will check out the goal..
I feel these two pair well together: Reading The Phoenix Project and watching Silicon Valley, like dysfunctional chaos at a F500 day 2 vs a startup.
is like getting your soul sucked out by enterprise bureaucracy and then beaten by startup delusion.
In the end, you realize your title says engineer, but your real job is making sense of chaos, dodging blame, and quietly undoing other people’s bad decisions: forever..
Triabolical_@reddit
When I was a lead I described my role as "absorbing chaos so that my team can focus on doing things"...
ronmex7@reddit
TPP feels like Diet "The Goal"
Triabolical_@reddit
Yes. And it's IT rather than development and those two worlds are related but not quite the same...
__loam@reddit
Stop recommending clean code to juniors. Pragmatic programmer and Philosophy of Software design are much better.
Kolt56@reddit
Agree on pragmatic.. but I firmly believe CC slaps the perfectionism think out of really smart jr devs. The kind who are crippled by their own intelligence when velocity is more important.
I just started reading philosophy, it is not Jr level, maybe 1+ YOE jr who is getting ready to promote.
I feel evans ddd is more valuable for cohesion learnings.
justUseAnSvm@reddit
How does DDIA make you question your career choices?!
Kolt56@reddit
Because when the junior dev calls your personal cell while you’re on vacation, with zero context.. everything says it’s deploying, and technically it is. The config updates are cascading just fine… they just based on a stale read replica someone skipped the boilerplate and hard wired with crap retry logic in six months ago during MVP mode.
The book it slaps you with truth that tech debt isn’t a bold, intentional decision. It quietly agreed upon, one corner cut in sprint planning at a time, all under the pressure.
You don’t plan the inconsistency. You own it, with a pager, a confused junior, and no trace of who made the call, in your perfectly planned system, evans would envy.
eyes-are-fading-blue@reddit
In which world you don’t know who introduced the tech debt?
Kolt56@reddit
Have you read the book???
Some PM, some EM in a support pod, maybe a tech lead who left two reorgs ago, it’s not git blame game bro. We don’t shoot the devs for doing their job under pressure.
Tech debt at scale isn’t malicious, it’s a side effect of iteration.
This kind of issue shows up in Phase 1 or 2 of a five-year roadmap.
We’re not buying a 7-month, sub $1M monolith that can be babysat by a two-pizza team.
So my question is: in a system with this level of complexity, when does blame actually help? Because in everything this book discusses, the point isn’t who made the call.. it’s how the system absorbed the impact.
RougeDane@reddit
Working effectively with legacy code
potzko2552@reddit
Came here for this :)
xlb250@reddit
Never Split the Difference: Negotiating as if Your Life Depended on it
bradsk88@reddit
Apprenticeship Patterns. It's written by some heavy hitters and is the kind of book that you can revisit multiple times throughout your career and extract different insights.
Fearless-Top-3038@reddit
newer book. Tidy First by Kent Beck
heaven00@reddit
Grokking simplicity is my favorite recommendation
ghostwail@reddit
The pragmatic programmer.
Kemilio@reddit
The best overall answer.
Ecksters@reddit
Re-read it recently with the 20th anniversary edition, and it's definitely still one of the best "self help" books for devs. It doesn't dig into much of the nitty-gritty code details, but it nails the mindset and thought patterns a great dev should develop.
IronSavior@reddit
Literally anything by Scott Meyers
Throwaway__shmoe@reddit
Mythical Man Month
InfiniteJackfruit5@reddit
All the coding books I have bought, I’ve read maybe three pages total. The rest would go nicely on some bookshelf to make me appear smarter.
YetMoreSpaceDust@reddit
I'm not sure if you're being serious, but I can't help but notice that online forums aside, very, very few programmers actually read books about programming even though they're being published and sold. I've been programming since the early 90's and I've never seen anybody else actually reading a technical book. They get super confused and even angry when they see me doing so and even go so far to ask why I'm "wasting my time" with these books. I feel like I get a lot out of them, but the fact that nobody I've ever worked with (especially the higher-ups) seems to have read any of them or plans to, I wonder if maybe they're not right and I'm not wasting my time reading them.
__loam@reddit
A lot of programmers are pretty anti-intellectual despite working in a technical field. There's so many who say they learned nothing in their 4 year degree and I can't help but thinking how they're telling on themselves.
InfiniteJackfruit5@reddit
I'm serious but that's my experience. I've also never heard of fellow coders/friends reading books on the subject either. I have no idea if they are a waste of time or not, and i would certainly never put someone down for reading them. All i'm saying is that i've bought plenty of those books and have touched maybe a few pages total.
jessewhatt@reddit
do not give anyone clean code, you'll ruin them forever
__loam@reddit
A Philosophy of Software Design by Ousterhout
The C programming language by Kernighan and Ritchie
The Go Programming Language by Donovan and Kernighan
The Art of Doing Science and Engineering by Hamming
To Engineer is Human by Petroski
ninseicowboy@reddit
Nothing but the klepp
Towel1355@reddit
philosophy of software design
__loam@reddit
Nice and short at 180 pages too
Rotcod@reddit
The grug brain developer https://grugbrain.dev/
MindlessSponge@reddit
grug in this post and grug not like it
shagieIsMe@reddit
How to be a Programmer.
https://github.com/braydie/HowToBeAProgrammer
https://braydie.gitbooks.io/how-to-be-a-programmer/content/
If you want a copy on a book shelf: https://www.amazon.com/How-Be-Programmer-Robert-Read-ebook/dp/B00PP5FA00/
Jaded-Reputation4965@reddit
Head First series : software architecture and design patterns
Will Larsson : An Elegant Puzzle (more for managers, but helps seniors understand team dynamics better)
Mark Richards fundamentals of software architecture : an engineering approach
DragoBleaPiece_123@reddit
RemindMe! 2 weeks
RemindMeBot@reddit
I will be messaging you in 14 days on 2025-04-15 19:26:12 UTC to remind you of this link
CLICK THIS LINK to send a PM to also be reminded and to reduce spam.
^(Parent commenter can ) ^(delete this message to hide from others.)
itijara@reddit
Software Architecture: The Hard Parts
Not exactly the most riveting read, but it is a very practical book on how to approach software architecture for real systems. I think that most other books on software architecture are a bit to idealized, and can be difficult to apply.
YetMoreSpaceDust@reddit
Neat suggestion, I hadn't heard of that one, thanks!
RayBuc9882@reddit
As others have asked here, not all software engineers have the same skills, need to know which you are interested in. I am in Financial IT, I focus on data transport through all the layers. Serve this to the customer, get that from the customer, keep the systems up and running. I have worked in Healthcare R&D in the past and the apps are a huge suite, and you have different requirements. If you are in Silicon Valley, you probably have other requirements.
SASardonic@reddit
The Machine Stops by EM Forster
Fidodo@reddit
A philosophy of software design
verdelucht@reddit
Currently, there's a humble bundle with a lot of great books on Software Architecture / Design.
https://www.humblebundle.com/books/head-first-programming-and-patterns-oreilly-books
dfltr@reddit
The fucking manual.
SithLordKanyeWest@reddit
The true staff answer, if you want to improve you writes to your PostgresDB, better get familiar with Postgres. Similar to improving your mess of a UI, better get comfy with React Documentation/Github Discussions, and find out what the big trade offs are right now.
SokeiKodora@reddit
Becoming a Technical Leader by Gerald Weinberg
Refactoring by Kent Beck and Martin Fowler
The Phoenix Project
spyhi@reddit
I think the books that had the biggest impact on me as an engineer would be:
Designing Data-Intensive Applications by Kleppmann: While it’s framed as being about data, it’s really the best overview of how modern high-scale systems that surround us work. Pairs well with Web Scalability for Software Engineers and Database Internals.
Release It by Michael Nygard: For years I didn’t feel comfortable that I understood what prod-quality software meant (even very senior engineers would be like “it’s a social contract”…which it very much is). I found this book while reading Continuous Delivery by Dave Farley and Jez Humble, and now I feel like I have a good grasp of what prod-ready should be.
Secure by Design by Deogun et al: How to use the design process to create secure software. While security is the lens and goal, it’s really a focused and practical guide to Domain-Driven Design and Object-Oriented Design, data quality, and how to make security a first-class concern in the dev process. Hilariously, I’ve actually encountered some of the bugs this book teaches to guard against as a consumer in the wild.
AI a Modern Approach by Norvig: Largely about classical AI, but it feels like this is more about good programming. Was introduced to this during my CS degree and the concept of AI as state traversal and exploration has really influenced how I think about practical programming.
justUseAnSvm@reddit
My list would be:
That said, I strongly believe you should come up with your own list. Those books sort of frame my overall approach to technology, and I've gathered them doing a variety of different things over the years.
If you have an industry group, I'd pick that as a theme, and just do books from that theme.
levelworm@reddit
Which type of engineers?
I work as a data engineer. I'd recommend the following:
The Data Warehouse Toolkit (Kimball)
Designing Data Intensive Applications (Kleppmann)
phonyfakeorreal@reddit
I’m a regular full stack dev and data intensive applications was a good read. Really opened my eyes to databases other than MySQL/Postgres
incredulitor@reddit
What area are you working in?
ronmex7@reddit
The examples are weird and outdated, but I feel like Clean Code helped me level up once I tried to write a bunch of clever code for a while (and failed).
PragmaticBoredom@reddit
I understand what you’re going for, but crowdsourcing this isn’t very effective.
You should be having the team read and recommend books along with an explanation of why they’re relevant.
Having a generic list of books that some people recommend (but you didn’t read) feels like someone is just going through the motions of creating an internal resource so they can add it to their resume.
No_Technician7058@reddit
the existential pleasures of engineering
Decent_Perception676@reddit
The First 90 Days, by Watkins.
Simple and powerful frameworks for navigating business and business relationships. Really helps devs put their work in context.
budulai89@reddit
DDIA
Joaaayknows@reddit
I’m a big proponent of never split the difference by Chris Voss. Probably not quite what you’re looking for, but a great read and a great shift of mindset for dealing with stubborn engineers.
lastPixelDigital@reddit
i would argue good literature changes from a junior to a senior perspective
intercaetera@reddit
Structure and Interpretation of Computer Programs and A Philosophy of Software Design are always on my shortlist. Zen and the Art of Motorcycle Maintenance for more philosophical reading.