Introduction

I don't read many books, but when I do it's usually because I feel the book can help me develop my skills. There have been a few books that I have found invaluable as a .NET & Android developer and as a software developer in general , some of which I will go over in this post.

.NET development

C# in Depth

This might not be the best pick for a beginner, but I would say if you are a mid or higher level developer who is interested in how the C# language has developed over the years and want more in depth knowledge of the language then this is the book for you. I am more of a better developer for reading this book and if you are C# .NET developer this is a must read.

Android development

Effective Java

Even though I don't write Android apps with Java anymore this book has taught me many good practices. It not only goes over the best practices, but also explains why. I would say even if your start writing Android apps with Kotlin, this is still an important read.

Reactive Programming with RxJava

In the Android world the observer pattern is used quite alot, LiveData, data binding and most importantly RxJava. So you could say it's quite important to understand for a Android developer. This book goes over how much RxJava can do for you which is alot! The good thing about this book is that RxJava is based on a spec from ReactiveX, which is also implemented in other languages! I can take away the knowledge from this book and use it when using RX.NET.

General

Head First Design Patterns

There are many other design pattern books out there, but this book presents it in a fun way that keeps your interest. A good read for going over design patterns that apply to all aspects of software development.

Clean Code: A Handbook of Agile Software Craftsmanship

This book goes over many ways for improving your code quality. You may learn alot of these practices the longer you go on in software development, or you can get a headstart and learn them from this book. This book contains what I feel are fundamental practices for modern software development. I often find developers echoing the best practices from this book.

Soft Skills: The software developer's life manual

There are not many industries out there that can enable you to make as much money as a software developer that's why it's important to take advantage of the special opportunity that is available to you. This book is an important read for any developer who wants to develop their software development career. It covers all aspects of life that relate to software development, from your personal health to making the most out of your skill.