Top recommended books for improving your programming skills
Although reading technical books is now gradually getting replaced by tutorialspoint,medium and stackoverflow, there was a time when I read lots of them for improving my coding skills.Reading books had their own sense of wonder and feeling.Here are top books I would recommend to all those who still like old school book reading way for improving your programming skills:
Clean code(Robert C Martin)
Robert Martin(colloquially known as Uncle Bob) is an American Software engineer and author who has written books on Agile software development.Every programmer must have this book and read it.It is a really famous book which will change your style of programming completely
Pragmatic programmer(Andrew Hunt & David Thomas):
This is essentially a self-help guide for programmers.It explores good software development practices and gives you excellent advice,tips and tricks to program more efficiently
Algorithms(Robert Sedgewick):
Robert Sedgewick is a computer science professor at Princeton University who has a very popular online course on algorithms at Coursera. If you’re looking for an exhaustive, upto-date reference/textbook for fundamental, searching and sorting algorithms, then this is one of the very best available.
Data structures and algorithms made easy(Narsimha Karumanchi):
Having a firm grasp on data structures and basic algorithms is a must for every developer.This book provides simple implementation of data structures along with excellent examples followed by related interview questions.
Algorithm design manual(Steven S Skiena):
This book talks about the algorithms from their application point of view.There are many real world examples which, along with the catalog of problems and solutions, give the book an engineer’s perspective.
Head first design patterns:
Nice book to learn design patterns for any developer provided you know OOP concepts well.Unlike all other books, it follows a very exciting comic like writing style. The book is full of humor and it takes the reader step by step towards a solid understanding of what software design patterns are.
The passionate programmer(Fowler Chad):
Chad Fowler is a respected authority in the Ruby programming community.This book is recommended for professional developers trying to put their programming knowledge in a particular field of software. Success in today’s IT environment requires you to view your career as a business endeavor. In this book, you’ll learn how to become an entrepreneur, driving your career in the direction of your choosing.
Design Patterns: Elements of Reusable Object-Oriented Software(Erich Gamma):
Erich Gamma is the man behind jUnit, Eclipse, IBM Jazz project, Visual Studio, Azure and Office 365.This book is a must have primer for any developer working with object oriented code.
Think Like a Programmer(Anton Spraul):
This book takes the reader down a number of paths to help explain some of the challenging aspects of programming and do so with generally basic coding structures. The entire book’s examples are in C++, so there is a unity to the problems being presented.
Refactoring(Martin Fowler):
Refactoring is the process of rewriting software, without changing the way it functions, in order to improve its readability, testability or maintainability.If you are interested in improving and maintaining the quality of your code this book should be on your reading list.
Programming Pearls(John Bentley):
Unlike most other books on programming, this one focuses on fundamental and generic problems.It discusses various algorithms and techniques that can increase performance or reduce memory requirements.
And that concludes my recommended reading list.If you have any more suggestions kindly mention them in the comments.
Connect Deeper
Follow our facebook page to be notified about similar articles in the future here: Technoetics or simply follow me back on medium.
You can find my other articles on programming here