📚 Books I've Read in 2017
1) Soft Skills, John Sonmez - 2/5
A book about the different aspects of a programmer’s life.
I liked several ideas about planning, time management, and motivation, but the rest of the book was not so good in my opinion: e.g. sections about “losing weight” and “finding love” seem kind of irrelevant.
2) Confident Ruby: 32 Patterns for Joyful Coding, Avdi Grimm - 5/5
This book is mostly about method construction patterns in ruby, but you can also find information about the architectural pattern there.
I loved the approaches suitable for everyday use, that I hadn’t used before reading.
3) Growing Rails Applications in Practice, Henning Koch, Thomas Eisenbarth - 4/5
A small book, from which we can learn to write monolith rails-apps without making them a mess: it tells about service objects, form objects, thin controllers and such stuff, also there is a chapter on the frontend part.
The book seemed useful for me, but I would suggest reading more on the topic to see the whole picture.
4) The Clean Coder, Robert Martin - 4/5
That’s a famous book, that’s often recommended.
When I had started reading, I felt like the author was lecturing me how to live my life way too much. But I liked the stories about his experience in the rest of the book, also advice on estimating tasks was pretty useful.
5) Deadline. A Novel About Project Management, Tom DeMarco - 5/5
That’s an entertaining fiction book. There are some ideas about the subject, but if you have already read some books on the topic, I doubt you’ll find something unfamiliar in the book.
As for the details: I liked the story about heroine’s “downshifting” (collecting cans) and latter renewing her career.
6) 99 Bottles of OOP: A Practical Guide to Object-Oriented Design, Sandi Metz, Katrina Owen - 5/5
A book teaching us TDD and OOP principles using the “99 bottles (of beer)” song as an example.
My review
7) Rails As She Is Spoke, Giles Bowkett - 5/5
This book reveals the rails’ violations of the OOP principles and explains why the framework is nevertheless successful.
It was written in 2012 but is still worth reading. You can learn a lot about the RoR implementation details and about OOP in general.
8) Refactoring: Ruby Edition - 4/5
Ruby-version of the classic book, it’s a code smells and solutions catalog.
Some of them are pretty basic, so reading was kind of boring. Probably, I should have read this book earlier.
But I liked reading the general ideas about refactoring and sections on more complex patterns.
9) Metaprogramming Ruby, Paolo Perrotta - 5/5
One of the books I’ve liked the most this year.
In the beginning, the author reveals the metaprogramming definition, describing it in the more broad sense, that I was used to while working with ruby.
The large part of the book tells about metaprogramming spells, supplemented by exercises.
I appreciate that examples contain the code of several gems, including the older and the newer versions of rails.
One more useful thing about the “Metaprogramming Ruby” is that it contains a detailed description of the Ruby object model and method search path.
10) Ruby Science, Thoughtbot - 4/5
A book about OOP-principles and removing code-smells.
The topic is similar to the books I’ve read before it (Refactoring, POODR, Growing Rails Applications). But it was nice to skim through another set of examples and revise the topics anyway.
11) Domain Driven Design Quickly, InfoQ - 4/5
A 180-page summary of the “big” Eric Evans’ book.
That’s a great book to get acquainted with the topic on the basic level.
?) Designing Data-Intensive Applications in Practice, Martin Kleppmann.
(reading in progress)
A book about databases’ working principles on different levels, how do they scale, handle additional load and deal with other problems. The author goes through advantages and disadvantages of different approaches.
The provided information can help us to choose the best solution for the specific tasks.