Books

As a software engineer, you probably have read many books. They can prove a very useful resource, as many contain valuable information on various technology topics, be it specific technologies or more general approaches on a specific area.

In order to build a specialization in a specific area one must conduct heavy and continuous research, by reading articles, blog posts, wikis, documentation, listening to podcasts or videos and of course by reading books.

This is a list of my favorite books, if you have any book to recommend please share your thoughts below, I will definitely give it a read and post it here! Purpose of this list is not to showcase how many books I have read, or not, but to spread word on good books, what problems they’ve helped me solve and why I found them valuable.

My suggestions

Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin)

One of my favorite books, Uncle Bob’s Clean Code is a masterpiece, a great book that debates on why we, as developers, should write clean code.

Buy in Amazon 


The Clean Coder: A Code of Conduct for Professional Programmers (Robert C. Martin)

Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of creating software. They treat it as a craft. They are professionals.

Buy in Amazon 


Agile Principles, Patterns, and Practices in C (Robert C. Martin)

Whether you are a C# programmer or a Visual Basic or Java programmer learning C#, a software development manager, or a business analyst, Agile Principles, Patterns, and Practices in C# is the first book you should read to understand agile software and how it applies to programming in the .NET Framework.

Buy in Amazon 


Soft Skills: The software developer’s life manual

The software developer’s life manual is a unique guide, offering techniques and practices for a more satisfying life as a professional software developer. In it, developer and life coach John Sonmez addresses a wide range of important “soft” topics, from career and productivity to personal finance and investing, and even fitness and relationships, all from a developer-centric viewpoint.

This is also published as an audio book, which I highly recommend also.
Buy in Amazon 


Design patterns : elements of reusable object-oriented software

Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems.

Buy in Amazon 


Data Structures and Algorithms in Java

Data Structures and Algorithms in Java, Second Edition is designed to be easy to read and understand although the topic itself is complicated.

Buy in Amazon 


Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching: Fundamentals, Data Structures, Sorting, Searching (3rd Edition)

This particular book, Parts 1-4, represents the essential first half of Sedgewick’s complete work. It provides extensive coverage of fundamental data structures and algorithms for sorting, searching, and related applications. The algorithms and data structures are expressed in concise implementations in C, so that you can both appreciate their fundamental properties and test them on real applications.

Buy in Amazon 


Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

Want to know how the best software engineers and architects structure their applications to make them scalable, reliable, and maintainable in the long term? This book examines the key principles, algorithms, and trade-offs of data systems, using the internals of various popular software packages and frameworks as examples.

Buy in Amazon 


Program Development in Java: Abstraction, Specification, and Object-Oriented Design

Written by a world-renowned expert on programming methodology, and the winner of the 2008 Turing Award, this book shows how to build production-quality programs–programs that are reliable, easy to maintain, and quick to modify. Its emphasis is on modular program construction: how to get the modules right and how to organize a program as a collection of modules.

Buy in Amazon 


Real-World Functional Programming: With Examples in F and C#

Real-World Functional Programming is a unique tutorial that explores the functional programming model through the F# and C# languages. The clearly presented ideas and examples teach readers how functional programming differs from other approaches. It explains how ideas look in F#-a functional language-as well as how they can be successfully used to solve programming problems in C#. Readers build on what they know about .NET and learn where a functional approach makes the most sense and how to apply it effectively in those cases.

Buy in Amazon 


Pro ASP.NET Web API: HTTP Web Services in ASP.NET

Pro ASP.NET Web API shows you how to build flexible, extensible web services that run seamlessly on a range of operating systems and devices, from desktops to tablets to smart phones-even the ones we don’t know today.

Buy in Amazon 


JavaScript: The Good Parts

With JavaScript: The Good Parts, you’ll discover a beautiful, elegant, lightweight and highly expressive language that lets you create effective code, whether you’re managing object libraries or just trying to get Ajax to run fast. If you develop sites or applications for the Web, this book is an absolute must.

Buy in Amazon 


The Art of Unit Testing: with examples in C#

The Art of Unit Testing, Second Edition guides you step by step from writing your first simple tests to developing robust test sets that are maintainable, readable, and trustworthy. You’ll master the foundational ideas and quickly move to high-value subjects like mocks, stubs, and isolation, including frameworks such as Moq, FakeItEasy, and Typemock Isolator. You’ll explore test patterns and organization, working with legacy code, and even “untestable” code. Along the way, you’ll learn about integration testing and techniques and tools for testing databases and other technologies.

Buy in Amazon 


Introduction to Information Retrieval

Class-tested and coherent, this textbook teaches classical and web information retrieval, including web search and the related areas of text classification and text clustering from basic concepts. It gives an up-to-date treatment of all aspects of the design and implementation of systems for gathering, indexing, and searching documents; methods for evaluating systems; and an introduction to the use of machine learning methods on text collections.

Buy in Amazon 


Data Mining: Introductory and Advanced Topics

Thorough in its coverage from basic to advanced topics, this text presents the algorithms and techniques used in data mining. It introduces readers to various data mining concepts and algorithms.

Buy in Amazon 


UML Distilled: A Brief Guide to the Standard Object Modeling Language

This eagerly-anticipated third edition allows you to get acquainted with some of the best thinking about efficient object-oriented software design using the latest version of the industry-standard for modeling software: UML 2.0. The author has retained the book’s convenient format that has made it an essential resource for anyone who designs software for a living. The book describes all the major UML 2.0 diagram types, what they are intended to do, and the basic notation involved in creating and deciphering them. A true treasure for the software engineering community.

Buy in Amazon 


Getting Started with OAuth 2.0

This concise introduction shows you how OAuth provides a single authorization technology across numerous APIs on the Web, so you can securely access users’ data—such as user profiles, photos, videos, and contact lists—to improve their experience of your application.

Buy in Amazon 


Greek Ways: How the Greeks Created Western Civilization

Nearly seventy years ago, Edith Hamilton published ‘The Greek Way’, a book that educated two generations of readers about the debt we owe the handful of city-states that developed ‘the spirit of the West’ some 2500 years ago. ‘Greek Ways’ is for our time what Hamilton’s book was for a prior era – a classic inquiry that holds up a mirror to Greek culture where we can see ourselves.

Buy in Amazon 


The Leadership Genius of Julius Caesar: Modern Lessons from the Man Who Built an Empire

Leaders are always trying to get better, which is why there is an enormous and growing collection of literature offering the latest leadership paradigm or process. But sometimes the best way to move forward is to look back.

Buy in Amazon