Book Reviews

Book Review: The Martian

May 8, 2015 Book Reviews No comments

Along with reading technical books and books on investing I’ve decided for myself to read couple of Science Fiction books this year, actually 4 of them.

My list so far looks like this:

1. Martian
2. Ender’s Game
3. Dune
4. Hyperion Cartons

So far I’ve only read first of those, called “The Martian”, and I’m completely fascinated by the book. It is great! Houston, did you get that?

First of all book has nothing to do with “little green man” or unrealistic magic or anything sort of you usually see in crappy movies. This book is hard science survival novel talking about a man who was left alone on Mars after his team decided he is dead and had to rush to leave the planet.

I’ve been always interested in astronomy and the outer space. I even have small telescope at parents house and just recently used it to see Jupiter while having night barbecue there. Also when I was a kid I read few soviet era books on planets, including Mars.

So when I was reading the book it felt very well in line with scientific facts and hypothetical future Mars missions. And this is the best thing about this book. Other good thing, as per me, is that the book doesn’t have any side stories. So, no love stories or too long description of anything. Plus it has its humour and is written in a nice and easy to read way.

I would for sure recommend to read this book if you are any interested in similar stuff. At least it should be interesting for software developers and other technical people. My wife would probably not like it.

Hollywood is already filming a movie. See short teaser: https://www.youtube.com/watch?v=xRRgwYw4zds

Almost forgot to say, the book was available for free for a long time and it is how I found it by accident and downloaded for free. Not sure if I can still share it just like that.

From here: http://www.andyweirauthor.com/books/the-martian-hc/the-martian-el

Q) How did you feel when your original, self-published version of THE MARTIAN became a phenomenon online? Were you expecting the overwhelmingly positive reception the book received?
A) I had no idea it was going to do so well. The story had been available for free on my website for months and I assumed anyone who wanted to read it had already read it. A few readers had requested I post a Kindle version because it’s easier to download that way. So I went ahead and did it, setting the price to the minimum Amazon would allow. As it sold more and more copies I just watched in awe.


See the book on Amazon or buy it using my my referral link below.


No comments


13 books on investing I’m going to read

January 24, 2015 Book Reviews No comments

Last year I started to invest my money into equities. Before that I was always interested in investing money, but I didn’t have enough knowledge, tools and money, so my investments were limited to timely deposits in Ukraine and later to mutual funds in Austria.

I started to buy equities thanks to the interview for the developer role I had in local financial startup. So in order to better understand their business I opened an account with a broker bank. (Btw, I even had gambling accounts when I worked for a betting company.) My current equities portfolio is up 7% since September 2014 when I started to invest into equities. Of course I’m in a good position since it is still bull market we are in. Nevertheless there is a lot of danger in this overheated environment and way too many pitfalls. So knowledge, discipline and patience are key.

As for the knowledge there are plenty of books written on investing. A lot of them are just mutually contradicting and more often than not useless. But there are books that were tested by time and deserve their mention in “best” lists. No wonder top of most of those lists is “The intelligent Investor”. I’m reading it at the moment and I can tell that it is by far the most far reaching book of all other ones I’ve read on investing. But to be honest, I’ve only read very few and I didn’t pay to much attention to selection of books, so I was reading some nonsense about doomsday and gold rush. Therefore I decided to come up with some good list for this year, since I anyway planned to read at least 13 books on investing.

I compiled this list in very simple way by searching the web for lists of recommended books and then selecting only those that appear most frequently in those lists. I scanned maybe 20 lists. The list below is like unsorted merge of other lists. I’m planning to have reviews for each of these books and then in the end of the year to have a list with overview and maybe my rating. So if I come up with rating list, it will also include other books I’ve already read on investing that didn’t make it into this list.

The List

  1. “The intelligent Investor” by Benjamin Graham
  2. “A Random Walk Down Wall Street” by Burton G. Malkiel
  3. “Fooled by Randomness” by Nassim Nicholas Taleb
  4. “One Way Up On Wall Street” by Peter Lynch
  5. “Common Stocks and Uncommon Profits” by Philip A. Fisher
  6. “Winning on Wall Street” by Martin Zweig
  7. “The Richest man in babylon” by George S. Clason
  8. “Manias, Panics and Crashes” by Charles P. Kindleberger
  9. “The Four Pillars of Investing” by William J. Bernstein
  10. “Irrational Exuberance” by Prof Robert J. Shiller
  11. “Flash Boys” by Michael Lewis
  12. “The Warren Buffet Way” by Robert G. Hagstrom
  13. “Security Analysis” by Benjamin Graham

Other books

Some other books I consider to read or I might read instead of one or few above

  • “Beating the Street” by Peter Lynch
  • “The tragedy of the EU” by George Soros
  • “Stress test” by Timothy Geithner
  • “The Clash of the Cultures” by John C. Bogle
  • “The Millionaire Next Door” by Thomas J. Stanley
  • “The Wealthy Barber” by David Chilton
  • “A Short History of Financial Euphoria” by John Kenneth Galbraith
  • “Against the Gods” by Peter L. Bernstein
  • “The Essays of Warren Buffet” by Warren E. Buffett
  • “Common Sense on Mutual Funds” by John C. Bogle

If you are total beginner I think it is wise to start with smaller books like “The Little Book of Common Sense Investing” or “The Richest man in Babylon”.

I think it is very important to have the knowledge in a field you want to operate in, being it software development or investing or whatever. So good luck both to you and myself.


No comments


Book Review: “Give and Take: A revolutionary approach to Success”

November 21, 2013 Book Reviews, Success 2 comments

Give_and_take_cover_3DCan you be a big boss if you are not greedy? Can you move to higher positions if you spend you time giving to others? Isn’t it better to take as much as possible? And to grab every opportunity you have to get promoted? Why would you help others if you don’t get back more or at least equal?

This book argues with conventional view on how people succeed.

The book splits people into three categories: Takers, Matchers, and Givers. It could be that most of people are Matchers. We always try to pay it back. Entire world is build on that – you pay people. There are people who would smash you into the crap if you stand on their way. It is commonly accepted that these people get what they want. There is type of people who help others without second thoughts.

Adam Grant, the author, says that takers get to high positions quickly, but only givers stay there for long. Though it could happen that givers got trapped and become doormats or pushovers, the book brings some tips on this.

One of the reasons I liked the book is that it provides a lot of research information. Book is not written out of thin air it bombards with facts to support ideas. Studies and research results provided in the book are thought-provoking. Just reading them is very interesting and sometimes even exciting.

For example if you were to ask wife and husband to give a percentage of their contribution to their marriage life. Ideally it should sum up to 100% and be 50%/50%, but turns out everyone thinks that they contribute more so you get something close to 130%.

Or did you know that your name could easily affect your choices in life? People with name Dennis are more likely to be Dentist. At least this is something author brings as the fact. On the other hand I just googled why this might be not truth.

There are many more of similar studies and facts about successful people in the book. I enjoyed reading them.

Some are questioning if book is truly bringing new approach to success or it is just useless junk. I found this interesting question posted by Iryna:

Hi Adam,
While reading a book, I decided to conduct a research. I interviewed my friends and co-workers and asked them to pick four values and arrange them from most to less important. I used values from the list presented in Schwartz study.
I found out that all the men picked values from taker list. Wealth, power, pleasure and winning. The majority of women picked helpfulness, responsibility, social justice and compassion. So, according to my research, women tend to be more giving then men. (Was not surprised of course by this result). However, as you know the majority of executive positions are still occupied by men. The question is, does “take and give” approach work when it comes to gender? Or man who is a taker will always be a step ahead of a giving woman?
Thanks,
Iryna

It is very legitimate question. I also think that book brings some controversy thoughts. Splitting people just by givers and takers didn’t seem good enough to picture successful person, since many givers were and are not successful. Frequently because they were doormats/pushovers, burned out or just went unnoticed. I’m wondering if we could maybe come up with idea of successful person that also shares similar properties of giver, but also has what’s best from taker.

Let me try: I think the way to succeed is to give people something that they need and value more than it actually costs for you. Even though I used word “give” and it probably sounded like takers motto. But why would that taker be bad? He is just smart, and besides he is helping others by giving them what they want. Isn’t he? I think that supporting other people is very wise, since they will watch your back. Building solid social network is important and you indeed can only build it by sincerely helping. Giving credit and prising people is also very important and a must.

Important is to know what others need and what it is you can give them back.

I honestly love to give and help, but what I love even more is to get. When I was reading the book I though that I mostly fall into matchers/takers group and was a bit ashamed (since they are bad, right?). But I just took assessment on the website of the book: http://www.giveandtake.com/Home/ChooseAssessment

Here are my results:

image

Doesn’t look that bad, does it? What are your results?

Pay it forward is exactly what this book advocates for. This is what my former scrum master did when she gave me this book and one more book. I’m really thankful her for this. I should be paying forward as well.

Dear readers this blog post is my payment to you. I don’t know you – I just share thoughts with you, but sometimes this might help me. It did in the past, since blogging pays off.

Do I recommend to read this book? YES! Definitely. It worth reading even if in the end you will find yourself not agreeing with some conclusions.


See the book on Amazon or buy it using my my referral link below.


2 comments


Book Review: “So Good They Can’t Ignore You: Why Skills Trump Passion in the Quest for Work You Love”

June 23, 2013 Book Reviews, Career, Success No comments

SoGoodTheyCantIgnoreYou Recently one of my colleagues got so inspired by two books she read, so that she decided to simply start giving them away. She was guided by the “Pay it forward” concept, which “is asking the beneficiary of a good deed to repay it to others instead of to the original benefactor” as per wiki. Basically, if I like books she bought for me (hard copies) and if I like the concept I can continue buying books for other people, so they can spread the ideas and books even more.
So far I read only one of two. The short one, called “So Good They Can’t Ignore You: Why Skills Trump Passion in the Quest for Work You Love” by Cal Newport. It doesn’t talk that much about giving things away, so you probably should wait until I write another review, but continue reading for something more closer to our working lives – to our careers.
Be so good they can’t ignore you” is a quote from comedian Steve Martin that captures what is needed to build a working life you love.
Cal, the author, takes us though dozen of different examples of people who achieved success and who have failed. He starts his book with groundbreaking statement that following your passion could be an epic mistake. He says that since decades books on success tell to find something that is the most appealing to you and simply follow it, they tell you cannot achieve greatness without doing what you love. But many examples Cal brings to the table prove this being wrong. My vision and what Cal also says is that people simply don’t know what they want. They have to try things, but trying all the things around could just easily be waste of time. Lot of things require efforts and work until you really start taking adult steps in it and can do something meaningful, and even more – understand if you really like it or if it was just a play.
As opposite to passion mindset which focuses on what world can offer you, Cal says that you can armor craftsman mindset, which focuses on what you can offer the world, because “regardless of how you feel about your job right now, adopting the craftsman mindset will be the foundation on which you’ll build a compelling career”.
“ The career capital theory of great work […] provides the foundation for all of the ideas that follow it in this book. It claims that the key to work you love is not to follow your passion, but instead to get good at something rare and valuable, and then cash in the “career capital” this generates to acquire the traits that define great jobs. This requires that you approach work with a craftsman mindset and not a passion mindset. ”
Do you know about 10,000-Hour Rule? It says that excellence at performing a complex task requires a critical minimum level of practice. I think it is understandable that sometimes it also requires talent in addition and [EDIT] not every way of spending those hours adds up. Regardless here is my question: how many 10K hours do you have in your life? On normal pace it is close to 10 years. So doesn’t sound like we have capacity to try lots of things in the world and simultaneously be good at them.
At some point in time Cal convinces us that if you have enough career capital and some rare and valuable skills you can push it towards great achievements and this is much better choice than looking for mysterious passion. In the book he also shows how he made decisions and followed “rules” described. I wish him good luck.
As my personal note I would say that book indeed inspires to put more efforts into improving skills I have at the moment. I consider myself quite good in what I do now, but it would be a self-robbery not to continue developing skills and not trying to push them forward. Jumping to something completely else might destroy all I have, instead I’m advised to take little bets.
The book doesn’t take much time to read, thus for some additional inspiration I would definitely recommend it, unless you are now reading some stuff to be so good at what you do, so that they cannot ignore you!


No comments


Book review: “Seven Languages in Seven Weeks”

December 16, 2012 Book Reviews No comments

This is a review of a book called “Seven Languages In Seven Weeks”, which I have started reading quite long time ago. Maybe I could have finished it in seven weeks, if I only was reading it chapter by chapter and not in between of other books.

I have found couple of very interesting feedbacks on this book, some of them even criticizing. Bad critics mostly were about languages selection, concentration on very simple stuff in Days 1 and 2 and jumping to cool stuff only in Day 3, also many complained about some important features missed.

I guess such kind of opinions come from people who either have tons of experience or either are complainers by their nature. Either way, though I agree that the book is not giving solid picture about each of the languages, I don’t think it was its purpose! As per me intension of the book was to introduce readers to interesting programming concepts represented in those 7 languages and encourage to actually code something in each of them. Author says “If you simply read this book, you’ll experience the flavor of the syntax and no more.” and it is complete truth. I know it because, for instance, I skipped coding in Erlang thinking that I will do it in the end, but it didn’t work that smooth.

I tried to have blog posts on each of the languages, but I didn’t strictly follow home works, as some guys did. For example, Ben Nadel has posts for each of “days”.

Here are my posts on each of the languages from the book:

Some of posts are not part of the book’s reading process. BTW, list sorted by how much each of languages appeal to me.

Do I recommend this book?

I have answer up-front, copied from my comment to similar question. Here you go: “… it always depends on your needs. If you are interested to quickly go through couple of interesting languages I would recommend this book. Though book is not always easy to follow. Also when you read always do home work. If you want deep insight into one-two languages or comprehensive explanations or step-by-step samples this book is not your choice.” I still keep the same attitude about recommending it, but if someone expects a short answer, than it is going to be – YES.



No comments


Book Review: “The Art of Unit Testing: With Examples in .Net”

November 22, 2012 Book Reviews, UnitTesting No comments

I always wanted to read some comprehensive book on unit testing, therefore book “The Art of Unit Testing: With Examples in .Net” appeared in my list of books to read. It has been more than 1 year since I planned to read it, finally it took me only 2 days to read it – yesterday and the day before yesterday. Sometimes comprehensive things are not that comprehensive as you imagine them or… maybe with time topic is no longer that vast for you.

Nevertheless, I remember my first months of my first job as Software Developer. During one of my first team meetings question of failed Unit Tests was raised. Our clients were really concerned about quantity of tests and reasons behind tests failing during nightly builds. I clearly remember that passionate discussion and someone saying “… or are there guys who don’t know what Unit Test is?” and loud laugh after that. I made smile on my face. I maybe heard once or twice about such combination of words, resulting in abbreviation UT, but it didn’t ring a bell. I wasn’t brave enough to ask. Now I think I wasn’t one in that room who didn’t know, otherwise why would we had problems in the first place?

Because of coincidences and my eagerness, when I was about to leave many considered me as internal expert in Unit Testing. No surprises, I have many posts on UnitTesting.

Reading this book forced me to think twice about some of the testing techniques I use. Probably I changed my mind about some code I write, both in test and outside. I took some notes for myself.

Now bit of critics

Good indicator if book is for beginners is if it has something like “right click on…” – Yes, this book has few mouse clicks.

Roy introduces many definitions. Some of them are bit contradictional. For example, it might look like there are fakes, stubs and mocks while reading the book, but at some point of time you read this “A fake is a generic term that can be used to describe either a stub or a mock object (handwritten or otherwise), because they both look like the real object.” At least Martin Fowler thinks that fake is different from stub and mock. It is something I also don’t like about definitions in UnitTesting, they are blurred. Every faking mocking framework has its own interpretation and word “mock” is too much overloaded.

As per me, there are some things, which might look not completely professional for the book writer. I mean phrases like this one: “When all else fails and your code is hard to test, you have three choices: use a “super” framework like Typemock Isolator, change the design, or quit your job.” I hope you know why Typemock is highlighted as well. :)

Sometimes stuff is over explained. For example, “One test calling another breaks isolation and introduces a dependency” and then goes explanation why this is bad idea with lots of bullet points. Well, I wouldn’t even think about mentioning stupidity of doing such things.

Book “Working Effectively with Legacy Code” is referenced really often. It worth reading it. I even have hardcopy of it, but only read few pages.

Book is really easy to read. It is straight, well structured and formatted. I enjoyed reading it.

My personal list of things I can improve about my unit testing

Caution: this list is my personal, for you it might look completely different.

– I tend to write extremely testable code, which often results in overengineered design with low percentage of “private” code. Roy recommends to not test methods, which are better left private to code under test.

– Stop overspecifying unit tests.

– One mock per test. I would like to violate this rule less frequently.

– Ideally one assert per test.

– Think more about applying some global testing techniques, like separation of integration tests from unit tests, or fast from slow, etc.

– Utilize more syntaxes and capabilities of testing/mocking frameworks.

Do I recommend the book?

In short, YES. If you are just starting with Unit Tests this book is excellent for your learning and I highly recommend it. If you have developers in your team who need to learn Unit Testing give them this book. Finally, read it yourself, at least scroll parts 1 and 2, read part 3 and slowly scroll part 4.



No comments


Book Review: “Being Geek: The Software Developer’s Career Handbook”

November 21, 2012 Book Reviews, Career 3 comments

Never heard of such book? Don’t panic, I’m here to help you understand if it worth your time or not.

So, last week I read “Being Geek” in hope that it will energize me and give some additional inspiration, which I’m lacking it in my new job, but this is topic for separate post.

I’m not completely sure if I’m any kind of geek, but the book describes people who share many similar habits to those I have and very likely many other developers have as well.

Michael takes you though one reincarnation of your gig from the beginning, when you are just passing an interview until the end, when you are considering to leave. He provides you with lot of hints and tips for any stage of your career, whenever it is negotiating of your salary, creating quality code or leading others.

I’m lucky that I’ve never heard about author’s blog “Rands in Repose” before, because otherwise I would not reap anything new accordingly to reviews on Amazon. I read this book in quick pace, as I usually like short essays talking about our developer’s job. I think that book has increased by baggage of understanding how developers see their profession, how real management should look like, and what are interactions between different types of people in software organization.

Author definitely has much more management experience than average developer has therefore his story is shifted towards company’s core – employees and their interaction. He helps to understand how organizations operate on higher level. I think that this is exactly what I’ve grasped from the book, and what you can also take for yourself.

Do I recommend the book? – Well, if you don’t read Lopp’s blog and if you like career and software craftsmanship books and if you don’t have any other higher priority books in mind, then yes. :)


3 comments


Book Review: “The Pragmatic Programmer”

October 22, 2012 Book Reviews 3 comments

It took me less than one week to reread “The Pragmatic Programmer”.

I like beginning of the book the most, because it introduces pragmatic programmer and I like to think about myself as about such type of programmer.

So who are pragmatic programmers?

Pragmatic programmers are guys with willing to outperform, to stand out of the crowd, always trying to see bigger picture in order to produce higher quality code and to bring more value to customers. They learn a lot, they read technical blogs. You are also pragmatic, as very likely you share similar opinions about doing our job.

We don’t stop on achieved, we continue improving. We don’t just do our tasks, we make sure we do the right thing. We have a vision on our career and on what we want from our professional lives. We don’t complain, we solve problems. Cats don’t eat our source code, and we don’t live with broken window. We keep an eye on what is happening so no one can silently boil us as stupid frogs.

As per book pragmatic programmer is early adopter, inquisitive, critical thinker, realistic and jack of all trades.

This book is critically outdated when it comes to technologies or tools, because it was written IT centuries ago, in 1999. But it is astonishing how up to date it is about all other things.

I strongly recommend reading this book.

I find ideas expressed in book close to my understanding of software craftsmanship and I have my things to remember to become successful developer. In book you will find 70 tips, not just 8 as I have in my post!

I think this book is great because it inspires, and thus I would like to read it once again.


3 comments


Book Review: Programming WCF Services

July 22, 2012 Book Reviews, WCF 2 comments

To be honest, for me this was the most exhausted reading since years. I started reading this book probably year or even more ago. Always coming back to it in hope that at some point of time it will grasp me into normal pace of reading, so I will be able to finish it. But it was not the case.

Though I finished the “Programming WCF Services”, I’m bit disappointed. I thought that the book will serve me with deep insight into advanced topics in easy to consume manner. Instead it jumped from extreme basics to intermediate and to advanced, but always with chunks of code, which were either boring or repeating or difficult to understand by simple reading. When I was about to try something out articles from internet were more helpful for me then code from book.

The book is good in what it does, but now I think about it more like about cookbook and not like about book you read from beginning to the end. It was my mistake to read it like that.

I feel myself comfortable with WCF. Reading this book was to strengthen my knowledge in WCF and to open tough things I didn’t know. I’m afraid that I did not met what I expected. Of course no one can remember all innumerous extension points or tricky security configuration or other wide range of stuff possible with WCF. Probably author of the book knows everything he wrote by heart. I wish I have super memory, but I often forget a lot of things I read about. Pity! If you know basics and understand core principles it should not be a problem to figure out what you need with couple of MSDN pages and some googling. I hope I will manage my further assignments even without knowing all possible combinations of configurations of WCF, even I look stupid not being able to shot people with immediate WCF solutions/answers/ideas.

One more lesson learned: It is better to play more with things you what to learn about than to obdurately read comprehensive book about those things.


2 comments


Book Review: “The Mythical Man-Month: Essays on Software Engineering”

May 7, 2012 Book Reviews 2 comments

imageFor good reasons many people recommend book “The Mythical Man-Month: Essays on Software Engineering” when it comes to management of software projects. Reason is that it is one of the classical books on this matter. Recently I was also recommended this book. After reading it I realized that I grasped no new ideas or things that I did not know before. It is not because book is not good enough, but rather because it is very old and many other publications, I’ve read, have provided me with lots of up-to-date information. Not to mention, that many of these publications have been influenced by exactly this book.

Same was true for other person flying in same plane with Brooks, author of book:

The plane droned through the night toward LaGuardia. Clouds and darkness veiled all interesting sights. The document I was studying was pedestrian. I was not, however, bored. The stranger sitting next to me was reading The Mythical Man-Month, and I was waiting to see if by word or sign he would react. Finally as we taxied toward the gate, I could wait no longer:
“How is that book? Do you recommend it?”
“Hmph! Nothing in it I didn’t know already.” I decided not to introduce myself.

On the other hand, I got some insights into how software development looked like back in 70th.

Yes, I spelled it right. Book survived many years, mainly “because building things, including software, has always been as much about people as it has been about materials or technology – and people don’t change much in only 25 [35] years.

I think that the strongest generalization from the book is this one:

Assigning more programmers to a project running behind schedule, may make it even more late.

To the topic, but not that much related. In book there is mentioning of Conway’s Law, which could sound like this:

“Organizations which design systems are constrained to produce systems which are copies of the communication structures of these organizations.”

The other day I came across nice article called “Seeing the team in the code”. As per me lack of opened and frequent technical communication between developers, like code reviews, could make source code not really what team wants it to be. On the other hand, it could help make code less coupled, if everything is made by contract. Conway’s law sounds like fun, but each joke is based on truth behind. There is even Microsoft research paper on this: http://research.microsoft.com/pubs/70535/tr-2008-11.pdf. (Not easy to read or to follow.)

I would recommend this book in two cases: you have little or no clue of how development and management of big software projects is done OR if you want to just make sure you are familiar with this work to have more coherent view on the topic. In case you are average developer, who frequently reads recent books or posts on management/leadership/etc in software it is very likely that you will not enjoy this book. I also did not enjoy it very much, I probably fall into case number 2.

Thanks for reading…



2 comments