One of my favourite hobbies is reading. Even as a father of two small children, I try to find some time every day to read either before the others wake up or after they went to sleep or sometimes at lunchtime on the bank of a nearby creek.

When I was a young kid, I loved books. Maps even more. As a teenager sometimes I read a lot of books, sometimes not even one in a year, apart from the mandatory ones at school. Later, in the second year of university during the exams, I wanted to switch a bit off and I read the three books of The Count of Monte Cristo in less than a week.

Since then, I’ve never really stopped. I started to spend quite some money on books and soon bookshelves. Five years ago when I moved to France, I realized this is not sustainable. So I started to use my kindle and the library services of my company. What hasn’t changed is that I read a lot, I try to read every day, morning and evening and I don’t just read programming books, though I haven’t read a lot of novels lately. Something I should definitely change.

After all, I have a list of books I read and an even longer and faster-growing list of books that I’d like to read one day.

Christmas is approaching and books are cool gifts either for yourself or for your loved ones. Here is a list of 12 + 1 books that I particularly liked this year.

## Clean Architecture: A Craftsman’s Guide to Software Structure and Design by Uncle Bob

Uncle Bob’s books are maybe sometimes a bit too simplistic, but they help provide a better understanding of crafting higher quality code. This book is very readable, he tries to convey his messages through real or imaginary stories instead of dry rules. In other words, if you just start to educate yourself about software design and architecture, this might be a nice read. For more experienced developers, it might be a good reminder, but maybe they’ll need something deeper.

Maybe the most important message of the book, at least for huge corporations is:

“First of all, a software architect is a programmer; and continues to be a programmer.”

## Patterns of Enterprise Application Architecture by Martin Folwer

Here is the book about architecture for the more experienced ones. I know, in 2018 “Enterprise Application Architecture” might seem scary and outdated, but the concepts of layering, domain logic, database mapping and concurrency - among others - are not dead.

From this book, don’t expect a lot of fun, even if Martin Fowler likes puns. This is not a cover-to-cover read, even the author warns you. On the other hand, the first half is definitely worth to read and then the book can serve you as a reference for architectural questions.

## Man and His Symbols by Carl Gustav Jung

It’s not about the symbols is the vtable, and no it’s not about the symbol table in the compiler. This huge book is about our subconscious mind. If you’ve ever thought that dreams are important, or you are just interested in how religions from all over the world and beliefs are related to each other and our subconscious images, take your time and read this book.

I warn you, it’s not an easy read, but you won’t find many easier to grasp book from Jung - and his associates. It is meant for the general public. Well. It depends what we mean by general…

Once Jung gave an interview for the British television and a leader of a book publishing company was amazed by what he saw. In fact, he was convinced that Jung should write a book about how he sees the human mind, about his most important ideas in a way that is understandable and interesting for the non-specialist public.

The only obstacle was Jung and his determination not to write that book for many reasons. He resisted for some time, but then he had a dream. He dreamt that he was addressing a big audience and they are listening to him with care. This dream meant to him that he should write the book. So after laying down his conditions, he decided to dedicate his last years to write the book together with his well-picked team. He finished his own chapter about ten days before his final illness came and by that time he already approved the drafts of the other chapters.

## Ego is The Enemy by Ryan Holiday

This book is about your life. It’s about how you approach the everyday and how most of us fuck it up. We are not humble enough and our ego steps in just way too frequently. One of the best known contemporary philosophers, Ryan Holiday reveals the whole process of ruining your life with the lack of humility to you through a lot stories about historical and also about more celebrity-like persons.”

He doesn’t bat you telling you’re an egoistic bastard like some psychologists would do, but he rather makes you come up with that idea on your own.

I think his bottom line is that if you are aware of this piece of human nature and you try to act against it by being more humble, and if you practice humility you will achieve higher goals.

I would say this is a very important book not just for (aspiring) managers, but for anyone who ever has to interact with anyone else. So it’s really for all of us and besides, it’s an enjoyable read! Not true for each book that balances on the border between philosophy and psychology.

## The Complete Software Developer’s Career Guide by John Sonmez

The Complete Software Developer’s Career Guide of John Sonmez is an admirable result of self-discipline. The product of an author/programmer who doesn’t just preach about doing things, but he shows us the way by example. Maybe the form of his book is unconventional, but he wrote it in a way that would fit his ways of doing things.

You might have read my post about how I organize my activities and I mentioned a kind of a kanban board I use, that I took from Sonmez. His Career Guide is organized into 60 chapters on almost 800 pages so that he could easily break his tasks down into daily pomodori fitting his kanban board.

So the book seems like a huge collection of blog posts - and in fact, it is -, but that’s an advantage of it. Luckily the chapters are quite well organized and the book offers you a nice reading experience both by reading cover to cover or by just picking a few chapters.

If you’d like to know more about the different types of employment, if you want to have another - relevant - opinion on how to advance your career, how to search for a job, how to negotiate, read this book or read a few articles at Simple Programmer.

What I like the most about this book is that the author doesn’t just bullshit around. Sonmez writes about sensitive topics and he shares his own opinions even when they are out of the mainstream. Kudos!

## How to Win Friends and Influence People by Dale Carnegie

A real perennial seller. It was first published in 1936 and it still flourishes. There is a good chance that it will continue shining just like Shakespeare’s books. In fact, I had so many recommendations to read it, that this book became inevitable to read…

I’m not good at connecting people. I’m too introverted and maybe still a bit shy. I was like that as a child and I’m still a bit. Even though the years I spent at working in and next to politics helped me a lot to overcome this weakness.

The book is organized around four parts:

• Fundamental techniques in handling people
• Six ways to make people like you
• How to win people to your way of thinking
• Be a leader: How to change people without giving offence or arousing resentment

In these parts, he gives practical pieces of advice on how to accomplish each goal. As this is a book, not just a small article organised of a few lists, he goes into details and gives examples of how to use his instructions.

This book has so important messages that I will probably read it again next year.

## The 4 Hour Body by Tim Ferriss

The 4 Hour Body is a long list of body hacks. How to achieve certain goals (weight loss, muscle gain, speed increase) with the least possible efforts or better to say with the least possible time spent on training. Other serious efforts, such as research, spending a lot on diet, etc might be needed.

Even if you don’t want to go to the extreme and try the techniques he described and play with your body, it’s a really interesting read to learn about what your body would be capable of.

On my side, I experienced a bit with polyphasic sleep and less than 6 hours daily sleep time worked quite well, but it didn’t really match my daily routine, so I don’t practice polyphasic sleep anymore.

## So Good They Can’t Ignore You by Cal Newport

In this book Cal Newport challenges the popular view that says you should find your inner passion and everything will be just fine. According to Newport, (almost) nobody has that inherent, born-with passion. Instead, you have to work hard and you’ll start loving your work. You will find passion on your way to mastery.

He defines 4 rules in his book how to reach the point of being so good that you cannot be ignored.

2. Do your job instead, a learn a lot. Be so good that they can’t ignore you! Build your “career capital”.
3. Sometimes, you’ll have to turn down promotions so that you can seek more freedom in your career. You’ll need that freedom so that you can define what you learn, what you do, what projects you want to work on. You gained “career capital” to get in control of your time instead of letting others gaining more authority over you. Just keep in mind financial viability.
4. If you already have a lot of career capital it’s time to refine your mission based on your project. It’s complex and difficult. But by this point, you should already be cutting edge. Only from there you can see what is possible, what might be the next discoveries.

If you really want to know how you can shine in your career without falling in the “passion” trap, I’d really recommend you to read So Good They Can’t Ignore You.

## Deep Work by Cal Newport

Given that I really enjoyed Cal Newport’s ideas in So Good They Can’t Ignore You and also the way he writes, I decided to read his other best-seller book, Deep Work, right after. The idea of deep work was far from new to me, but I was interested in the book and the interpretation of it by Newport. Focusing deeply on something for a long time is getting more and rarer as our attention spans shorten. This strong focus combined with work is deep work and as it was always valuable, it’s worth is increasing.

Newport says that even if you have a short attention spam, deep work is possible, but you have to train yourself, just like you train to run or to lift weights. Maybe, in the beginning, you can do only a little per day, but you can train yourself up to 4-5 hours. More is not really possible.

He provides some techniques for (open) office workers as well to find the time for deep work without eventually getting fired.

## Optimized C++ by Kurt Guntheroth

After I attended a training on the subject of optimizing C++, I felt I’d be interested in going a bit deeper. At least to read a bit more about this topic. So I asked the trainer for some books he’d recommend about optimization. One was Kurt Guntheroth’s Optimized C++. As soon as I finished reading Essential Skills for the Agile Developer, I started to read this one.

I liked the book, but to be completely honest, by the end I felt a bit lost. This just means that the book starts with simple ideas and heads toward the complex ones. Apparently, I didn’t dedicate enough time to understand well the last two chapters which are about concurrency and memory management. I’m not working in an environment where I would need the benefits offered by the techniques described there, that’s my excuse. Is it a good excuse? I’m not sure.

On the other hand, in the rest of the book, I found many pieces of advice that can be useful for me right now, or in the near future. Guntheroth explains why optimization matters, when you should start optimizing and how you should do it. He goes into details about the costs of different sorting and search algorithms, dynamic variable allocation, data structures to name a few. He goes from the most common towards the rarer solutions.

It makes complete sense. Most of the time you don’t need anything fancy, just to review your algorithm. I remember at the very beginning of my programming career when I did something in O(n*4) instead of O(lognn). I was called out for it when the app turned out to be extremely slow and memory consuming. I did some measurements and turned out that we spent less than 1% of the time in that ugly part - just as I expected - and more than 95% in a third party library which was not so well documented. We realized after weeks that we didn’t clean up properly after it - in fact, called the cleaned up too frequently.

And here is a very important point. Don’t optimize in vain and when you do optimize, measure the effects. One thing I liked a lot about the book is that the author tells us about his assumptions and failures. He explains that he expected one data structure to be better than the other by orders of magnitudes but it ended up being just a bit faster. Or in other cases, his “optimizations” proved to be even slower than the original code. This gives him credibility and emphasizes the importance of experiments.

I think I’ll keep Optimized C++ on my (virtual) bookshelf and whenever I’ll encounter hot code chunks that need to be more performant, given the clear structure of the book, I’ll know where to open it for some good pieces of advice.

## The Black Swan by Nassim Taleb

Nassim Taleb is a controversial figure. He doesn’t fit at all to the ultra-sensitive PC movement. He doesn’t think twice if he should write something down or not. He doesn’t care about “snowflakes”. He is also very opinionated on other thinkers’ and economists’ work and he is clearly not part of the mainstream. These are enough reasons to have a big enough group of people not liking him.

But if you are a thinking being, you have to be open to other’s ideas. You don’t have to agree with them, but at least you should try to be aware of them and try to understand their message. Don’t you?

Enough about the author, let’s get back to the book.

Black Swans, what are they? They are events that nobody expected, but in hindsight, it’s easy to explain to them and they seem to be events that should have been expected. Like 9/11 according to Taleb. Or like the killing of the Thanksgiving turkey - from the point of view of the turkey itself.

While this kind of events is rare, they are highly responsible for our environment, they are too frequently ignored or not handled appropriately. Can we actually know what Black Swans will appear? No, we can’t, obviously. But we can mitigate their risks. Taleb shares some techniques of mitigation and anticipation of those events. It’s a really interesting book, involving some statistics, probabilities and the Gaussian distribution.

## The Compound Effect by Darren Hardy

In an era when so many people want to have the next big shot when everyone wants to come out with the next big thing and suddenly find themselves at the top, this book has a very important message. Success comes from small actions, small but consistent and repeated actions.

People who emphasize the importance of early savings talk a lot about compound interests. Let’s take an example. I don’t remember where I read it, so I made the calculations myself. Anyway, this is quite useful to make sure that what you think is like that.

Let’s take an average yearly return on investment of 6 per cent. I remember that originally 8 per cent was taken. Anyway, the average return of the stock market in the long run (we talk about decades) is somewhere between 7 and 11% (nominal). Let’s be more pessimistic and take 6 %.

Alice will start putting 5k$a year early on. Not that much early, but at the age of 30. Only 5k$ a year. She will do this for 15 years, then she just doesn’t touch that money anymore until she turns 60. At that point, she’ll have almost 290kY on her account.

Bob, on the other hand, will not put money away until the age 45. But at that point, he will start investing 10k a year. He will start investing when Alice stopped doing that. When he turns 60 he will have around 270k\$.

That’s the power of the compound effect. Even though Bob invested with the same ROI and for the same amount of time, twice as much money, yet he ends up with less, because he started later.

The sooner you start building your capital the more you’ll end up with. And it’s very difficult to close-up on advantages made from early investments. We are not talking only about financial capital. It’s also true for the - more important - intellectual capital.

The main idea of Darren Hardy is that you should make very small steps towards your desired destination, steps that you measure ensuring that you actually do make steps in that direction. According to the law of compound interests, your small investments in yourself will have an enormous effect on your life.

Just think about an aeroplane that misses its route only by two degrees. Fast enough, you’ll be off the course by tens of kilometres from the desired destination. In 1979, 257 people died because of that. This also shows the importance of small checks and corrections.

Apply small changes in your life and you’ll reach a point you would have never expected.

## A Little History of Philosophy by Nigel Warburton

If you are interested in the history of thinking, in the history of philosophy then this book can be your entry point. Warburton is a bestselling author of many popular introductions to philosophy and he is also co-hosting a podcast call Philosophy Bites.

In this book, Warburton starts the journey about 2400 years ago looking into what caused the death of Socrates, what questions he asked himself and his students. Then in 39 other “brief chapters, he guides us on a chronological tour of the major ideas of the history of philosophy”.

In a very readable book, you can get familiar with the principal ideas of important thinkers such as Spinoza, Kant, Schopenhauer, Nietzche or Sartre, just to name a few. All big names who often wrote books that are hard to digest and not many people have the courage or time to chew them enough. After reading this book maybe you will still not have the courage, but you will actually not find yourself clueless and excluded when you hear about these people. Besides these people are very important parts of our history. Better if you place them in your mental house than leaving it for others.