I'm in the mood for a good read. What books about software development are really well-written and enjoyable at a high level while still technical and informative.
I'm looking more for technical-leaning books as opposed to memoires and stories, etc. But feel free to mention those as well.
Would love some suggestions!
Here is the usual that I hear about (and have read):
But here is one of my favorites that I don't often see mentioned: Game Programming Patterns - (and an amazon link to the book for print/kindle versions)
Now, I'm not a game dev but this is such a fantastic book to read (the web version is free). Code samples are easy to understand and it goes over the standard patterns that you'll find in libraries like Redux, Angular, or when you do animations, or events, etc. Or Node server stuff.
Even touches on how Prototype works in JS!
Seriously, give it a look and read it!
Yes! Game Programming Patterns by Bob Nystrom is excellent. Great examples and explanations.
It's really well written. Bob has an awesome blog and I remember seeing that he's working on a book that walks you through building a language compiler.
Those are the best book in my opinion, I can add algorithm design manual by Steven S. Skiena
I am going to buy "Game Programming patterns"
I second that. For all of the three.
Code Complete is hands-down, just an amazing book. I love anything by Sandi Metz as well, as well as Ruby Under a Microscope.
Maybe someday I'll add my own title to this list 😉
Came here to advice "99 bottles of OOP" by Sandi Metz, she's incredible.
Put me down for a pre-pre-order.
I've just recently read and can recommend:
Coders at work: Amazing insights from the worlds top Programmers. You need to read this.
Release It!: A pragmatic realization of how to ship production ready software and what are the dangers of doing it so. Realy good Read.
I'm currently reading:
The Phoenix Project: A good read that exposes stories and hard lessons about IT.
Team Geek: I've been recommended to read this. So far its good.
I liked Release It! too
I think coders at work might be my next read.
Head first design patterns
shop.oreilly.com/product/978059600...
This cover is straight out of the 90s. I love it 😂
Anything 'Head First' is done well and is actually FUN to read. I used the Head First Java book to get started up with the language in 2006. Now, these may not be the most in depth books but the way they teach, I love.
I second this, I like their pedagogical technique. I feel like it helps me learn better than the more standard format
Let me show my age by recommending, The Mythical Man Month. It is comparatively shorter book written more than 20 years back. The ideas in them are still valid.
We still add people to late project thinking it will somehow rescue the project. And we still look for the silver bullet. We still suffer from lack of effective communication between team-members.
Go read this short book. You will benefit immensely.
So glad someone else recommended this. But yeah, the last edition is 20 years old, and it's the 20-year anniversary edition... The first edition was published in 1975 originally, and some of the essays are a few years older.
Sometimes I think we forget how old our craft actually is.
If you know a bit of Ruby, you might be interested in one of its most unique aspects: Metaprogramming Ruby by Paolo Perrotta is very engaging read. I really enjoyed trying out the fascinating concepts for myself.
Nice. I write in Ruby but my metaprogramming toolset is pretty limited. Will definitely give this a look.
Grokking Algorithms:
amazon.com/Grokking-Algorithms-ill...
Grokking Algorithms teach you not just a difficult topic but how to explain the same stuff to others
I would add Working Effectively with Legacy Code to these recommendations.
I just recently started to tread Code by Charles Petzold and it seems really interesting. It isn't entirely about software but so far it does help me understand how a lot of things work with a computer.
I haven't reread it in a while but I've long held that Software Tools is one of the all-time best books on software engineering.
Awesome, thanks!
I list a few more favorites on my blog.
Javascript books :
1) Professional JavaScript for Web Developers
most comprehensive yet readable JS book.
2) Secrets of the JavaScript Ninja
3) You Don't Know JS: Scope & Closures
If you think you know JS? prepare to be humbled
3) HTML and CSS: Design and Build Websites - by Jon Duckett
because most dev suck at CSS and this book is a great source to learn
4) Javascript Allonge
Taught me new ways to think in Javascript
I second that:You Don't Know JS is awesome and free on github github.com/getify/You-Dont-Know-JS
yeah, the full "You Don't Know JS" is awesome and completely free on GitHub.
I guess this one is a classic: Code Complete.
Recently, I also enjoyed this one: Hello Startup: A Programmer's Guide to Building Products, Technologies, and Teams
Professor Frisby's Mostly Adequate Guide to Functional Programming
This is what made me finally start to understand Functional Programming
Devops 2.X toolkit by Victor Farcic.
leanpub.com/b/thedevopstoolkitseri...
These hit a sweetspot for me. Each of my colleagues that took the advice to check them out came away with nothing but good things to say.
On the topic of more memoire-leaning but still filled with interesting insights, I enjoyed Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web by Tim Berners-Lee
There are a few that I highly recommend that were already mentioned. One that I'm finishing up which has won me over is Algorithms To Live By by Brian Christian and Tom Griffiths. It takes a lot of the complex theory of computer science into super easy to understand overview and application in your real life.
Some example of a few of the topics they speak about:
I've recently enjoyed The Manager's Path and The Tangled Web
I would recommend CODE:The Hidden Language of Computer Hardware and Software. It's not really about programming or software development but more about the elementary building blocks of computers and electronics and he explains them in a really clear and straightforward manner.Here is a great review on the book.
Everyone, who wants to get into coding, should read this first.
this one really opens your eyes as a Gang of Four version for ruby:
Design Patterns in Ruby
I'd suggest that it is not for beginners though.
C++ Coding Standards, Sutter and Alexandrescu. Save yourself the trouble of writing your own standard, just get everybody on the team one of these books.
Working Effectively with Legacy Code, Michael C. Feathers. Despite the title, this is a book about testing, and every programmer should read it.
The Pragmatic Programmer: From Journeyman to Master, Hunt and Thomas. This is, more than the previous two books, a fun read, with a lot of good advice in all areas of the craft.
The Imposters Handbook looks like a great way to revise/learn useful parts of Computer Science. I've not read it yet, but it's On The List.
I really enjoyed JavaScript & jQuery: interactive front-end web development by Jon Duckett
Wow, that does look really well-crafted from the pictures on that page. I don't feel like I need to dive into jQuery but I might pick it up simply for reading-UX inspiration.
Yea, it's definitely geared more towards entry-level front end devs. What I really like are the diagrams and code examples - they make it really easy to understand basic JS concepts. There are also interactive lessons that you can follow online that accompany the book as well, making it that much more useful.
This one million times!!
I actually love "Becoming a Better Programmer" by Pete Goodliffe.
It covers style of code but also how to think as a programmer in a team and how to change your life. It is quite a stretch but I think it works out nicely.
I'm quite late to the party, since dev.to fb page just reposted it hehe
Currently reading and enjoying the new uncle Bob's clean architecture :) I would recommend it even tho I havent finished it yet
Martin Fowler's "Refactoring: Improving the Design of Existing Code" - a bit old at this point, but you'll still pick up tips on how to improve your code, no matter what you're writing
Double down on that! One of a few books i was able to complete without force ;)
Not hardcore programming - which is just as well since it refers a lot to exciting modern techniques like COBOL - but there's no book I can recommend more highly to learn about development management (even including Agile, amazingly) than Fred Brook's Mythical Man Month:
The Mythical Man Month
My favs are already listed, adding to them,
Designing Data Intensive Applications.It should have been named 'Designing Distributed Systems'. From storage to processing, all the topics are clear and crisp. References to papers and posts, at the end of each chapter, is gold. Next comes Site Reliability Engineering. Most of the books talk about making perfect dish but this is all about serving it fast with consistent taste, and presentation.
for me it is: Lea Verou, CSS SECRETS - Better Solutions to everyday Web Design Problems!
shop.oreilly.com/product/063692003...
The book itself is produced using only HTML and CSS! It is available in many languages and a joy to read.
I enjoyed reading this Algorithms to Live By: The Computer Science of Human Decisions
I'm quite enjoying Professor Frisby's Mostly Adequate Guide to Functional Programming.
It's a pretty quick read, but also pretty demystifying of all those complicated sounding functional principles
drboolean.gitbooks.io/mostly-adequ...
For JS developers I recommend JavaScript: The good parts
Douglas Crockford has a very nice point of view about JavaScript and what makes javascript good (and what make it bad)
Think Python - How to Think Like a Computer Scientist is one of my all-time favorites. Also anything by Green Tea Press, which is run by Allen Downey who is a boss. Great to read even if you know nothing of Python or programming in general.
For the more artistic, The Nature of Code by Daniel Shiffman is awesome. Good if you already know some JavaScript. Daniel is an amazing instructor and has tons of youtube videos to go along with everything else.
If Hemingway Wrote JavaScript because it's a fun a read and a unique language book.
Excelent books in leanpub.com in many idioma and languages of programming for example leanpub.com/laravel-y-angularjs
I really enjoyed Eloquent Javascript. Going to take a look at it again actually, since we're probably doing more JS stuff soon.
I really enjoyed Grokking Algorithms manning.com/books/grokking-algorithms
plus, the author also has an amazing blog adit.io
Working effectively with legacy code
Head First C, Head First Java & Head First Python.
Head First Java is best for those who think they suck at Java
Discrete mathematics and its applications
Book by Kenneth H. Rosen
Taught me how to link your Math skills to Computer science. easy read
Head First Design Patterns : A Brain-Friendly Guide (O'Reilly)
... if you haven't already.
I'm slowly working through it, myself.
shop.oreilly.com/product/978059600...
Write code that writes code with Meta Programming in Elixir:
pragprog.com/book/cmelixir/metapro...
I'd like to submit my own ebook I just launched leanpub.com/agileforteams (free to read online) but more for feedback and review if you guys don't mind.
read linuxVoice magazines
Pragmatic Thinking and Learning
pragprog.com/book/ahptl/pragmatic-...
I loved reading Refactoring Ruby Edition
I recommend The DevOps Handbook: how to create world-class agility, reliability, & security in technology organizations. An amazing read for every developer, even if you are not into DevOps.
One book that I found very inspirational as a junior dev was "Coder to developer" by Mike Gunderloy. An easy to absorb read.
12factor.net/
ASP.NET design patterns
Web Application Hackers Handbook