Software Development books like a Hollywood blockbusters
I know, how much you love reading. Your taste is so good, that you closed the last page of your favorite book a long time before it became a well known masterpiece and Hollywood blockbuster. Your picker is highly sensitive and you do a small coffee ceremony before any true reading happens. Especially, for classic books with old fashioned cover and the smell of cinnamon. Books with great stories are always hidden from our eyes on the top of the wooden shelf, between small toys and broken dreams. If you feel the magic I’m talking about, relax, this post about other books…
…I want to share my indie review on four great Software Development ebooks, that I’d read in on my bus ride to work. Technical books are not like non-technical books, because they serve to achieve other goals. This is why we have quite a different approach to review technical literature. Is it boring? Usually! To be honest, I’ve never had fun reviewing technical books. So, I am curious: if you read a crazy review on technical books, can it increase your interest to that book? Let’s turn on imagination up to 100% and if you like my book review, please, let me know.
Designing Data-Intensive Applications
by Martin Kleppmann
Release Date: March 2017
This is a fantasy saga of honor, courage, and good software design. The King of Relational Empire is dead. Midlands of Imperative and Declarative rivers fall into dark times of NoSQL invaders. Storms in the ocean of Distributed systems have destroyed billions Gigabytes of user data. In the center of this story you meet three brave travelers Sir Reliability, Dr. Scalability and Mr. Maintainability. They start a dangerous adventure to find CAP theorem’s treasures. From the first chapter you realize the importance of their friendship and this basic principle gives us a strong understanding of whole book’s idea. Nice to say, I gave this book attention the same day, when I got online subscription. It was after release date, so the book was just cooked and still warm. I highly recommend this book to Senior Engineers and Architects of data-driven solutions. The author covered a lot of cool topics from data models and fundamental structures till the consistency in distributed systems and stream processing. This is top level content — a must read
Functional Programming in C#
by Enrico Buonanno
Release Date: August 2017
This book is about wonderful love story of two absolutely different hearts. She was born in conservative family of side effects and public access to global context. He is just a pure functional boy with a lot of restrictions and isolated I/O effects. All his friends are immutable types only. Suddenly he and she meet each other at wonderlands of C# code and fall in love. Her father owns a heavyweight legacy codebase and follow the law of imperative constructions. He rejects their relationships and wants to ruin their future. This is why they decide to run away from this hell of null reference exceptions and expensive try/catch blocks. Together they’re going to build a better place with beautiful optimized code and significant performance win. They promise to be together through whatever happens, either outcome would be left or right. From my point of view, for csharp developers this is a book, that for sure will change your codebase in better way. You will reorganize your flexible mind to think in functional way. You will get knowledge and inspiration and start to implement functional patterns everywhere. I believe (same as author), you will start to write code better, to do code refactoring better and to do code review better. A must read.
Grokking Algorithms: An illustrated guide for programmers and other curious people
by Aditya Y. Bhargava (twitter)
Release Date: May 2016
This book is great example of perfect detective story. While Sherlock Holmes was master of deductive reasoning, main hero of this story prefer to use Big O approach. Weaponized with recursion and performance measurements, you will meet many strangers before you can answer all the tricky questions. Who is a victim of divide-and-conquer approach? Ask help from elegant Mr. Quicksort or fast Mr. Binary Search? Why Miss. Breadth-First Search prefer short paths? Why is this application full of greedy algorithms? Maybe, K-nearest neighbors can help us with correct prediction? Only after you collected all that pieces together, you will understand motivation and abilities of these guys. I promise, this book will explain to you everything in a really fun way. This book attracted my interest not only with incredible and great-illustrated storytelling, but also it has its own sharm and idea. That is a perfect example of the importance of the creative learning process. For me the impact of this book was very big and it’s not only about algorithms. Curious and creative people must open this book and give it a read.
Concurrency in C# Cookbook
by Stephen Cleary (blog)
Release Date: June 2014
This story happened a long time ago in multithreaded galaxy far, far away. Two space pirates and who are actually best friends Async and Await have completely dangerous delivery mission at the edge of the universe. Their spaceship PLINQ moves through the constellations of enemy context. They can’t wait for a single millisecond. Just one wrong synchronous call can lead to deadlock of whole universe. So, they decide to use Reactive Extensions to subscribe to an event sequence from the nearest parallel galaxy. And this is just a beginning of first chapter. Wow… I don’t really want to spoil whole plot for you, so you better read the book by yourself. Because after basics of asynchronous operations you will find very interesting and non-trivial examples. The book contains different examples of concurrency code. You can find solutions to many difficult problems, that you can face in your application. The book will become a friend, guide, and first aid for your code. So, I hope after careful reading, you will stop looking for Stephen’s answers at StackOverflow. Instead, you will start to use his code recipes directly from your head. Every csharp developer must read this book.
Thanks for reading. I decide to start with this pretty simple post. I hope you will enjoy all these books and find them just as cool as I do. New fun topics about web development will come very soon. Clap, clap, clap and follow me.