1. Introduction to Algorithms (The MIT Press)
Introduction to Algorithms (The MIT Press) is not just an “Introduction”. This is a beefy book covering the most commonly used Algorithm and Data structures today. It provides full A&DS implementations, Q/A’s and extra resources. It is a very comprehensive book, and can even be used as a reference guide when programming. Many software companies, such as Google and Microsoft, screen their candidates on their knowledge of Algorithm and Data structures. It is certainly one of the most valuable skills to have as a Software programmer.
2. Artificial Intelligence: A Modern Approach
Artificial Intelligence: A Modern Approach
Artificial Intelligence is at the cutting-edge of Software development in 2019. Artificial Intelligence: A Modern Approach provides a detailed overview over Artificial Intelligence, and a look into how to build intelligent A.I agents. This is the best book in A.I at the present time and surely worth the purchase. It is a comprehensive book which covers designing graph algorithms and the A* Search, navigating areas of uncertainty and other A.I related topics. This is an excellent book with many solid examples to draw from, helping you to understand A.I more clearly.
3. The Pragmatic Programmer: From Journeyman to Master
The Pragmatic Programmer: From Journeyman to Master
The Pragmatic Programmer is an old book, but still highly relevant in the industry of software development. It is a fast read and the information is easy to digest. There is some real gems inside this book, which aren’t covered in many other Software development books. There is actionable advice on how to navigate being a Software developer in a business setting, you will learn how to:
- Combat software rot;
- Avoid the trap of duplicating knowledge;
- Write highly flexible, dynamic, and adaptable code;
- Avoid programming by chance;
- Bullet-proof your code with contracts, assertions, and exceptions;
- Capture real requirements;
- Test ruthlessly and effectively;
- Delight your users;
- Build teams of pragmatic programmers; and
- Make your developments more precise with automation
4. Operating System Concepts
Operating System Concepts
If you want to learn how a computer really works… Operating Systems Concepts. This book is the definition of deep knowledge, covering the fundamentals of operating systems. You will learn context-switching, paging, and thrashing, along with many other OS related topics. It’s a comprehensive book, covering what goes into the ‘engine’ of a computer. You will learn about the kernel, userland and programming in the lower-levels of the computer. It’s a great book and will strike your curiosity and understanding of computing in general.
5. Principles of Information Security
Principles of Information Security is a fantastic book for learning the ropes of security. Computer security is an everchanging, highly fluid industry, and this book shows how to keep up with the rapid change. Learn how to deal with computer vulnerabilities and viruses. It also is cutting-edge and provides security insights into the latest in computing eg. Internet of Things, Cloud Computing, and DevOps.
Hungry for more books? Here is a full list of awesome programming books.
Thanks for reading!