The subtle art of not giving a f*ck book review

I resented reading this book due to its notoriety and agressive marketing across both online and offline. This wasn't worth it.

It's very surprising that's not one of Tim Ferriss' books, looks like the author has a background similar to Tim's and was inspired by him as well. However, this book gives answers and most Tim's books left me with more questions than before I started to read them. I wish I read this book in my early 20s, but having learned most of its content the hard way makes me appreciate this book even more as it resonates a lot with my life experience.

If I condense the whole book in a bullet list, that'd be

  1. Life is futile, give up trying to be exceptional
  2. If you need to get the shit done, instead of trying to motivate yourself JFDI!
  3. Suffering is inevitable, embrace it
  4. Have realistic goals and values
  5. You can be wrong, keep questioning yourself
  6. Embrace rejection: it's OK to say no and receive the same is return

My score is 5/5.

Author's profile picture Michael Koltsov on books

The art of leadership book review

I'll split this book into 2 main parts: the importance of 1:1s & how to conduct them and depiction of really impressive author's experience after working in multiple high-tech companies where he had to deal with a lot of stress and challenges that're the main attributes of every growing company.

The book is very well-written, if I were in the business of allusions to dishes this particular book would be a molecular caviar. Standing on shoulders of giants of the past, with a pinch of bleeding edge terminology and references to the companies that are hot.

If I condense the whole book in a bullet list, that'd be

  1. Conduct 1:1s, no matter what
  2. Embrace the change, it's inevitable
  3. Trust to delegate or you'd crumble under load
  4. Find time to innovate
  5. Be enthusiastic about what you do and either lead or leave
  6. Be kind to people

My score is 5/5.

Author's profile picture Michael Koltsov on books

The inevitable book review

This book was recommended on one of Motley Fool's shows as a visionary book that perfectly describes what the future holds for us in terms of technological progress.

Well, after reading it I'm pretty sure that the person that recommended it is not an engineer. That's not a book from any well-known futurist, rather from a tech reporter that keeps his hand on pulse of latest and greatest tech. He doesn't peek in the distant future, instead he's trying to find what trends will prevail in the following decades. AR/AI/VR, yada yada yada. Pretty boring if you ask me. I liked one point though: the word "protopia" that's a shorter way to say that the only constant is change.

My score is 2/5. Better read a bunch of twitter posts by Elon Musk

Author's profile picture Michael Koltsov on books

97 Things Every Java Programmer Should Know book review

I don't remember the exact thing that made me start reading this book, but most probably this was due to its marketing campaign or I saw a paid blog post sponsored by the publisher. Why do I think so? Mostly because how heavy this book's authors wanted it to be hip and trendy. It badly wants to be a better version of Effective Java, however completely missing the main point of Josh Bloch's book.

I won't say that it wasn't worth it, as to be honest I actually learned a few new tricks of the trade. But I can't think of all that time spent on reading obvious thrusts that should be a no-brainer to anyone who still writes code in Java in 2022. Catched exceptions are bad? C'mon, every IDE will scream and shout at you if you're creating a new class with catched exceptions. Not mentioning every Java for Dummies book. When Josh Bloch wrote his book the internet was not as widespread as it's today and sources of good knowledge were scarce back then. However, that's not the case anymore. The writing is on the wall.

My score is 2/5. Better spend that money to pay for your home internet.

Author's profile picture Michael Koltsov on books

Kubernetes up & running book review

This is a review for the second edition of K8S U&R, even though early access for the third edition is already available on some of the platforms.

Reading this book feels like walking in a park. Almost no code snippets to follow, no excruciating technical details. Read yamls and a very few imperative CLI commands. If all books for system administrators are like that, I'm curious, why the OPS guys are paid on the same level with developers.

Speaking of the book itself, I can't say that I've learned much from it. It definitely covers all the basics and gives a few tips.

Definitely better than the manual, better skip it if you already know the basics.

My score is 3/5

Author's profile picture Michael Koltsov on books

Crucial conversations book review

I wish I read this book a long before I actually did it.

I don't know any person who shouldn't at least glance through this book. We all had such conversation when you have to confront your opponent and in the end you both end up angry at each other without any real progress done as you both feel right and no one wants to listen other person's arguments and no one want to back up.

This book promotes the power of dialogue and its main idea is that in any circumstances you can transform a heated discussion to a pleasant conversation that ends up as a win-win situation. How does it want to do that? That's actually the most interesting part. As it's based on lots of analysis it applies scientific method to human interactions. Honestly, that's the first time when I read a non-technical book that's written in a way that only a pure techie would do. Lots of data, lots of examples and analysis, tables, diagrams you name it and it has it.

One of the best non-technical books I've read so far. Added +5 to my conversation skills.

My score is 5/5

Author's profile picture Michael Koltsov on books

Refactoring book review

This year was supposed to be full of reading and learning new things, but the reality has shown that it had different plans for my time. That's why it took me much longer that usual to finish this book and therefore I may forget some of the things that I found interesting in it.

I must admit that as a writer Martin Fowler has his unique style that you start to grasp after finishing just a few pages of any of his books. He's one of the father figures of the "make code for humans not for the machines" movement that some may also call "clean code & architecture". It's always interesting when in his books his starts to mention his buddies who'd contributed a lot to make developer's life easier. In this book for example I found out that "smelly code" saying was invented because Kent Beck had to fight two things simultaneously: someone's bad code as well as smelly diapers. A quick glance to other people's lives is something that you can't often find in technical books.

Speaking of the book itself I don't think that there was much to be surprised about since the first edition. More controversial refactoring methods have been added, it always frightens me when one example contradicts with the one that you read a few pages ago. But that's the art of writing elegant code that can pass code reviews. You never know what type of refactoring will be useful until you try all of them. And some of them can be opposite to one another, but that what makes good developers artists not just craftsmen.

I enjoyed the choice of switching to Javascript to illustrate the refactorings. It made the book much more concise and at the same time if JS is not your primary language it makes you think how this or that example would work in your language. That's the right way to go in my opinion.

My score is 4/5

Author's profile picture Michael Koltsov on books

Working effectively with legacy code book review

The world of software moves with such a pace that this book written in 2004 looks like a relict from the distant past. However, it's still capable enough to teach the old dog new tricks.

These days most of the software is written with a great help from IDEs that have become much more than just text editors. Every IDE gives you hints on how to optimize your code, most have static analysis tools built-in and most code can be verified even before it gets compiled/interpreted.

Although, most IDE have capabilities to help you refactor your code, they usually run away in tears when they see hundreds of lines of smelly code in one class not covered by any tests.

And that's the situation where this book actually shines. It still can teach you a few trick how to keep yourself sane when you're thrown to the snake pit of filthy legacy code. And no matter how dated this book is, I'd still recommend it to anyone who finds himself in a situation where he has do maintain what he doesn't even want to touch.

My score is 3+/5 Every developer should read this book, but it desperately needs an update

Author's profile picture Michael Koltsov on books

Building a career in software book review

Frankly, I'd never stumble upon this book if it wasn't recommended to me by my boss and he's learned about it as its author is his former colleague.

I really like the simplicity of this book as it aims to teach new engineers the very basics of what it takes to become successful. Though I need to argue that some of the approaches that the author talks about are controversial. Nevertheless, as the author is an accomplished individual I don't mind that he forces the reader to look at the software world from his perspective.

I wish I had this book when I was a fresh grad, it'd have made my career advance much faster and with much less bumps. Although I don't mind learning from own experience. However, I won't mind to be taught on someone else's mistakes.

This was supposed to be a soft-skills book, but surprisingly I learned a few technical tricks from it as well.

My score is 5/5 Every developer should read this book.

Author's profile picture Michael Koltsov on books

Designing data-intensive applications book review

This book is truly a masterpiece, though with its own flaws

It aims to cover every data-related principle and technology and I'm not joking. It literally starts with its view on how to write the code then covers every bit and piece of how to build your persistance layer and then goes on with what to do with that data.

As you can imagine this book is huge and as it goes into great detail sometimes I started to doubt my intelligence as some of the concepts were too complicated for me to digest after reading about a completely different topic a chapter ago

I struggled to finish this book, not because of that all of its concepts were completely new to me or it was written poorly. There's too much of information in this book. I can see it being used as a dictionary or a wiki for CS concepts.

Personally, I'd split this one book into multiple smaller ones. The topics are covered really great, but the number of concepts is mind-boggling. Readers will definitely appreciate that and the overall experience will not look like a torture.

My score is 4/5 Every developer should read this book.

Author's profile picture Michael Koltsov on books

Books I've read during my last vacations

As I had plenty of time during my last vacations and thanks to the COVID-19 pandemia I've spend most of it on reading various non-technical books that were relatively easy to read and I could finish each of them easily in one or two days.

Simple Habits for Complex Times

Honestly, I have no idea what this book is about. After completing it I barely remember anything.

Thinking fast and slow

Frankly, I really liked how easy was to read this book. Did I learn anything valuable from it? Not really.

The essential art of war

This was a re-read of the book I first opened more than a decade ago. Even though this particular issue had annotations with contemporary examples I could find it any helpful. The Chinese warlord from BC times didn't touch my feelings this time, even though I still have my first paper version which means that it was more touchy for me in the past.

The Stress Code: From Surviving to Thriving

Nothing new, but a great overall guide if you struggle with overcoming stress at your work or life.

Too Smart

Great read if you want to become paranoid and understand that we're living in an antiutopia now. Technocraties everywhere, your data is sold and bought at every corner. Shouldn't be read by anyone who's relatively tech savvy, you'll find it funny as hell. Good for protesters and rioters.

The intelligent investor

Neverdying classics, which once again proves and the core principals of investing have not changed for centuries.

The Courage Map

In overall, a grat book! Very motivational and with practical examples.

Mind Hacking

This book is an example of what happens when a technical person tries to write a non-technical book. During the first half of it I was forcing myself to continue reading and only in the middle of it I could find any value. Lots of cool technical buzzwords, not recommended to anyone really technical.

My Morning Routine

The opposite of what I expected, just a compilation of morning routines of various people whom I never heard of before reading this book.

Eat That Frog

Again, this was a re-read. The message of this book is stil valid after all these years.

Cracking the leadership code

Good book. I really liked the part on empathy and how important it is to listen to other people. Very practical.

Author's profile picture Michael Koltsov on books

Distributed Systems Observability book review

The best illustration for this book would be one of the Captain Obvious memes. Thanks to the book I was able to find a few tools I've never heard before, but that's it. Nothing new, nothing interesting in particular. It'd be better if this book was simply compressed into a series of blog posts. In reality, the author retells most of the books core concepts in a Medium post.

My score 1/5

Author's profile picture Michael Koltsov on books

Java Performance 2nd edition book review

This was one of the hardest book I've read and bear in mind that I've read the first edition many years ago. It took me a few months to read it cover to cover, mostly because I wanted to play with concepts presented and explained in the book. Sorry for whining, but I really enjoyed the proccess of reading, hence this sacrifice of reading one chapter and even less every week was absolutley worth it.

At first I expected it to simply copy concepts from the previous book and add features of more recent JVMs as Joshua Bloch does with "Effective Java". I was utterly wrong.

This book is a complete redesign having not much in common with the first edition. Most basics like explaining how the classloaders work in Java (that are mostly unneccessary for experienced devs but may be needed for the newcomers) are gone now. The book is really condensed and purified now. I was often finding things I had no idea before while reading it. And I'm doing Java for more than a decade now, though I had breaks to work on other languages to learn to see things from another's perspective. It allows me to be multifaceted to a degree where I can choose whether to use Scala, Ruby, Golang, JS or Java to implement a certain feature. Offtopic aside this helps me a lot to understand how the JVM works and I can compare its implementation of certain features with other languages and compilers.

This book is a real pleasure to read though it requires a lot of thoughtwork from the reader if you want to get bang for your buck.

I'd put it on one shelf with "Effective Java", "Java concurrency in Practice". This book is a must have for anyone who wants to advance in his career connected to the JVM.

My score 5/5

Author's profile picture Michael Koltsov on books

LXQT impressions

Ok, I have to confess. I'm a fan of GTK+ X-s for more than a decade. It started with XUbuntu, then I've switched from XFCE to LXDE and that was a love made in heaven.

As recently LXDE has migrated from GTK to QT it changed its name to LXQT and if you want to have a modern build of it you need to get used to its new face and APIs.

And let me tell you how painful that it is. Well, not as painful as if you switch from something as overbloated as KDE or Gnome. But nevertheless, everything looks and feels different after the switch.

The results of my migration to Debian-based SparkyLinux+LXQT are astonishing, XWindows + OS consume less than 256 MB of RAM.

Bravo! That's definitely a win.

Author's profile picture Michael Koltsov on life

Building microservices book review

I had this book lying on my shelf for multiple years and couldn't read it for such a long time as reading it didn't look like a fun activity. Although it can be called procrastination, I was right postponing opening this book for years.

Although it's been issued just 5 years ago it's completely outdated now. Not so much if you weren't following the latest trends in tech.

This book looks like a shy attempt to cover what was new and groundbreaking back then but neither did the author knew what he was trying to teach the audience nor did he have a practical experience in most of the concepts described.

After all these years this book looks like a repetition of what was covered in "Release it" and "DevOps Handbook". That's the price you have to pay when you focus on what was new while the author was writing the book and became obsolete now. I would love to have this book if it was much smaller in size and focused more on the concepts and patterns rather than on technologies and what was on the bleeding edge back then and couldn't stand the test of time

My score 2/5

Author's profile picture Michael Koltsov on books