Coming from the engineer background, I always hated reading textbooks. Most of the textbooks were dry and presented topics in not interesting way. But over the course my career I have found very interesting books which make you think in completely new direction.
As you now are getting up to date with world technology news its very important to read books. Books distill the best practices of craft and gives very depth the understanding of the topics.
The books presented are here like starting points to the interesting and fun programming books. After reading few of these, I hope you get interested in read more books which again will help you to read more.
Try to avoid the books which teaches you just syntax and semantics. Though syntax and semantics are important for the programming they may not be helpful in the longer run. So I have avoided those kind of book and have given set of books that goes deeper into the programming.
You can get hard copy and e-books of these from amazon. If you try hard you should be able to get downloadable pdf too.
In every department of engineering, people learn about great people contributed to the field. In music, every one will learn about Beethoven, Tyagaraj. Sadly in our field, we hardly know about the those people. So let's start our reading list by knowing the great people in our field and understanding their contribution the computer science.
Coder's at Work is a collection of interviews with Great programmers from various sections of computer science. Going through these interviews make you familiar with how people learn programming and how they contributed overtime. It's gives you inspiration to become just more than a programmer.
Everyone starts learning programming with C programming language. This book not only teaches you the C programming language but it's also teaches you the art of programming. Even if you have read any other C programming books, I recommend you to go through this book and do the exercises . C will be never same again.
Learning about the operating system is cool. But what about learning the operating system from it's creator? Unix programming environment is written by creators of the UNIX operating system.
To read this book correctly, grab a Linux machine and practice it each and every example. You will learn more about operating system in one month than your six month operating system course.
This book teaches you operating system concepts with real source code. If you ever wanted to learn how to build your own operating system, this book is must read.
Ever wondered how different softwares are written from scratch? . This is the book you should read to get answer. The book is 40 years old but still relevant today. Book gives in depth view of what it takes to build different kind of programs from scratch. Book includes the entire examples source code in C. So if you know C you should be able to pickup the book and learn the best software techniques.
The following are additional reads. If you are familiar with specific technologies pickup those books and run with it.
This should be the book you should read if you want to be fluent in Java. It not only goes in depth into the Java programming language instead it also teaches how to do Object Oriented programming right.
JavaScript is one of the most famous programming language in the world. It's also most misunderstood language in the world. If you want to learn the language right, this book is highly recommended.
People think JavaScript is just a scripting language. But there is more to it. Ever wondered how the libraries like jQuery work? If you have, then this book is must read. This book teaches how different aspect of the language gel to create powerful libraries. It's little bit advanced book. So have patience.
The books which I am going to list now are the ones which doesn't teach how to code. But they teach you one of the most important factor of software development - design. These books talk about how to build great designed products and also how to build long lasting companies.
Read these books to get inspired. These books show how people achieve greatness in their field.
How people like Bill Gates, Steve Jobs achieve great things in life? Is there any commonalities in successful people across different field. This book explore these ideas in depth which makes it a very interesting read.
How great companies built? This book takes a research oriented approach to understand how great companies built overtime. Great read if you are into entrepreneurship.
Opposite to the previous book, this book explores how great companies fail. This book is fascinating read as it gives in depth look into the companies repeating failures.
Reading books is very important to improve the skills and horizons of thinking. So make a habit of reading books.