Even with the internet around, books are great resources for learning about coding. Here are books I recommend.
I love Clean Code. It has so many small little tidbits that make code easier to read and maintain. Anyone who does any coding NEEDS to at least skim this book! My favorite tip: always leave code cleaner than you found it. It’s hard to deal with a legacy system (even if it’s only a week old!) and refactor everything at once. Instead, be conscious about when you add new code to not add to the sloppy code that came before.
Or you could buy the Clean Code and Clean Coder Collection. I’ve never read The Clean Coder, but it’s fairly cheap to get both books together, so it might be worth it if you don’t have either. It’s less technical but has some valuable software engineering paradigms to understand.
While the Gang of Four started it all, this is the book you should get to understand Design Patterns. Design Patterns are tools to help you write extensible code that is easy to maintain. It’s a fascinating thing to learn about for anyone who likes writing code. Of all the books on design patterns, this is the easiest to understand.
This excellent book describes how people use software and how we can craft outstanding user experiences. Anyone who creates User Interfaces should read this. I’ve written a series of posts summarizing my reading of the book.
Refactoring is a necessary skill for anyone who codes. Whether it’s a legacy system or one you created a week ago, you’ll always need to refactor to make the code more flexible and maintainable.
This book helped me have the power to get an offer at Amazon successfully. I remember reading problems on the plane ride to Seattle and absorbed it so easily. Notice the patterns between different problems (hashing, for example, is in at least 1/3 of the questions, so you better understand it). I highly recommend getting it and doing at least one problem a day, mixing it up from different sections of the book.
The Art of Game Design: A Book of Lenses
This is a non-technical book on game design that explains the elements that make a game fun. This explores topics from theme, player types, mechanics, and more! I love this book and encourage any game designer to read it.