Books I've Read

The following are a bunch of books I've read or partially read over some number of years  with various comments/reviews. The books are selected and listed in some random order.  The comments are from around the time I read the book/first made this list.  I often don't go back and adjust.

Financial/Investment/Money Books

The Millionaire Next Door
By Thomas J. Stanley, William D. Danko

This is one of the books I've cited the most amongst friends. In a sea of wealth management, financial management, how to be wealthy, etc. books, this is the best out of all of them. Rather than give you random advice, the authors (both Professors) decide to do something simple. They surveyed a bunch of rich people, looked at the results, and found common patterns. No B.S., fluff, or nonsense, just conclusions based on stats with a mixture of great stories in between.

Rich Dad, Poor Dad
By Robert T. Kiyosaki, Sharon L. Lechter

Unlike most people, I'm not going to outright bash this book. The book offers several points that are half decent, such as people needing to have a "financial education." The problem with the book is that it doesn't offer much concrete advice. People shouldn't take the book seriously.

The Wall Street Journal Guide to Understanding Money and Investing
By Kenneth M. Morris, Virginia B. Morris

A short little book that gives you an introduction to the financial markets, not half bad.

How to Read a Financial Report : Wringing Vital Signs Out of the Numbers (How to Read a Financial Report)
By John A. Tracy

Likewise, a simple book to learn about basic accounting. I read this to get an idea how to read income statements, balance sheets, and things like that. I still don't understand all of it, but now I have a clue.

The Warren Buffett Way
By Robert G. Hagstrom

It's an interesting read on the investment magic of Warren Buffet.

One Up On Wall Street
By Peter Lynch, John Rothchild

An interesting read on Peter Lynch's investment magic while managing the Magellan fund. It's a decent read and doesn't make investment analysis seem boring.

Secrets of the Millionaire Mind: Mastering the Inner Game of Wealth
By T. Harv Eker

If I recall correctly, I had a layover, got bored, and bought this. I wouldn't recommend it, it's got a lot of typical high-level motivational advice.

Business/Management Books

Fish!
By Stephen Lundin, Kenneth H. Blanchard, John Christensen

Fish! Tales
By Stephen C. Lundin, Harry Paul, John Christensen, Philip Strand

Fish! Sticks
By Stephen C. Lundin

These books are from the Fish! line of management books.  I got the first book from a friend in college when I was going through a "what am I going to do with my life/career" phase. I think many find the story/management style in the book somewhat insulting. I think that comes from taking the book/series too seriously. The main ideas are worthwhile and should be applied uniquely for each situation. For me, it did give me a way to look at things differently.

Novations: Strategies for Career Management
By Gene W. Dalton and Paul H. Thompson

This book was recommended to me by a CS recruiter I worked with. This is a great book for any young career professional to read. You get some insights into office politics and how it affects your career.

Good to Great: Why Some Companies Make the Leap... and Others Don't
By Jim Collins

There's some good ideas, case studies, and interesting insights into (as the title says) why some companies succeed while others fail. My main criticism is that they go heavy on the case studies. It really slows down the pace of the book.

Delivering Happiness: A Path to Profits, Passion, and Purpose
By Tony Hsieh

Many management concepts in this book aren't new, however the stories and examples in this book are far more entertaining than other books (e.g. Good to Great). Much of the book reads like a blog post rather than a management book.

Who Moved My Cheese? An Amazing Way to Deal with Change in Your Work and in Your Life
By Spencer Johnson

I talk about this in a blog post.  Summary, not my cup of tea.

The Innovator's Dilemma
By Clayton M. Christensen

A classic book about disruptive technologies.  I like a number of the case studies presented, but I think it droned on just a bit long with the examples.

Sports Books

Moneyball
By Michael Lewis

This is my absolute favorite book of all time. Moneyball mixes everything I've ever found interesting into one book: baseball, statistics, economics (placing value on certain commodities), analysis (finding information others can't), management (change in an organization). It's brilliant.

3 Nights in August
By Buzz Bissinger

A good follow up book to Moneyball, as it also discusses the human/emotional side of baseball that can't necessarily always be described by statistics. I talk about it more in this post.

Baseball Between the Numbers
Edited by Jonah Keri

After reading Moneyball, if you really want to start learning about sabrmetrics in more details, this is the book. It also gives some interesting contrasting viewpoints to what is said in Moneyball.

One Last Strike
By Tony La Russa

An overview of La Russa's last season.  Not as good as 3 Nights in August, as there was less about the day to day strategy involved.  Some discussion of player management was still there, but overall not as balanced.

Blind Side: Evolution of a Game
By Michael Lewis

I've never seen the movie based on this book. I saw the trailer for the movie and said to myself, "I'm not going to see the Hallmark-like retelling of this book, this book is a football book!" The best part of this book is its discussion on how football strategy changed over the years. They then discuss how it affected the football ecosystem (economics, recruiting, etc.) and how Michael Oher fit into the changing ecosystem.

The Extra 2%
By Jonah Keri

Overall a decent book about how the Tampa Bay Rays turned their organization around. It's more a case-study on how to turn around an organization than a baseball book, which disappointed me a bit. But there are some good management stories for me to keep in mind and some insights into the business of pro sports. Some of the Rays social media efforts were particularly interesting, such as their letter to Baseball Musings. Only late in the book do they begin to look at some of the stats or trades that turned around the team.

Social Science Books (how do I classify these?)

Freakonomics
By Steven Levitt, Stephen Dubner

SuperFreakonomics
By Steven Levitt, Stephen Dubner

I love the Freakonomics books. Applying statistics and economics to a range of random subjects and entertaining topics. I love referencing the stories in these books in conversations.

Everybody Lies: Big Data, New Data, and What the Internet Can Tell Us About Who We Really Are
By Seth Stephens-Davidowitz

Sort of like a follow up to Freakonomics (written ~10 years later) but with more and better data.  Loved it.

Never Eat Alone
By Keith Ferrazzi, Tahl Raz

I can't remember how I came upon this book. I think I just saw it in a Barnes & Noble. It's a pretty decent read on people networking and its value. It definitely gave me the motivation to keep in touch with people better.  One story they tell in the book is how Bill Clinton used to keep index cards in a shoebox about the people he met.  I figure if Bill Clinton can use index cards and a shoebox, I can surely do better with a computer ;-)

Battle Hymn of the Tiger Mother
By Amy Chua

An entertaining read, as Amy Chua recounts stories of her upbringing of her children. I talk a bit about this here and here too.

Fooled by Randomness
By Nassim Taleb

The principle of this book is good, and there are some decent stories/examples. However, Taleb's writing style isn't to my liking and things drone on. I struggled to get through the book and eventually gave up in the middle.

Outliers
By Malcolm Gladwell

I love this book, I've cited it so many times in conversations. Personally, I always believed some if the ideas in this book, but just didn't have proof. Now I do! The title of the book is terrible though. It should be more like, "How random things mean so much more than you think."

The Tipping Point: How Little Things Can Make a Big Difference
By Malcolm Gladwell

Another Malcolm Gladwell book with interesting insights and stories.

Blink: The Power of Thinking Without Thinking
By Malcolm Gladwell

The weakest of the Gladwell books, Gladwell doesn't really do a good job of telling stories in this one. He seems to drone on about the same topics over and over again.

Talent is Overrated
By Geoff Colvin

Colvin goes over the latest research that more or less says that "natural gifts" or "born with this talent" is a bunch of B.S. His argument is that hard work and practice is what gets you to become excellent. The book is an interesting read, with a lot of interesting stories about great performers/achievers and how they got to where they are. The book got a little boring towards the end, as the examples wane and theory of how to succeed comes in, but overall its a good read. There are certainly good examples of how to manage/mentor/train that I'll try to keep in the back of my mind. 

How to Be an Antiracist
By Ibram X Kendi

A very eye opening book exploring a lot of depths of racism.  Learned that racism in society runs far deeper than even I realized.  Perhaps the most important point I realized is that "race neutral" is perhaps the most dangerous racist attitude that can persist that people don't realize (i.e. race neutral = keep the status quo).

The New Jim Crow: Mass Incarceration in the Age of Colorblindness
By Michelle Alexander

While a number of the topics in the book were known to me, enlightening as it covers the topic in more depth and highlighting the travesties going in the justice system.

Math Books (?)

How Not to Be Wrong: The Power of Mathematical Thinking
By Jordan Ellenberg

Hard to describe the book.  Sort of an interesting collection of mathematical tales, how statistics can trick you, etc.  Not entirely sure if the author really got across the point of "The Power of Mathematical Thinking".  But interesting book none the less.

Programming/Technology Books

Expert C Programming
By Peter van der Linden

Finally picked up this classic. It's easily the most entertaining programming book / technical book I've ever read. Most technical books you need to take regular breaks from b/c it just gets too overwhelming to read non-stop. However, this was a really easy read with fun information and stories.

Learning Python: Powerful Object-Oriented Programming
By Mark Lutz

I was convinced by a friend who worked at Yahoo! to learn Python. After reading this book (which BTW is a relatively light read despite it's thickness), there's a lot of amazing stuff in Python.

Effective C++: 50 Specific Ways to Improve Your Programs and Design
By Scott Meyers

I picked up this book on a recommendation like 8 years ago and never read it. I finally sat down and did, and it's pretty good. I picked up a few tricks I didn't know and reinforced a few ideas I totally forgot about. There are humorous tidbits in the text that keep the reading fresh/light. Like all programming books, it can drone on at times and you start skimming rather than reading.

Design Patterns: Elements of Reusable Object-Oriented Software
By Erich Gamma, Richad Helm, Ralph Johnson, John Vlissides

Another classic that I picked up. Like a lot of technical books, it can be rough if you try to read it word for word non-stop. I recommend reading the high-level overview of the patterns and understand the benefits of them. Then just log those ideas to memory and use the book as a reference for the future. That said, there's a reason the book is a classic. What you'll get out of it highly depends on your experience level, but there were definitely several "Oh, that's really neat" feelings when I realized how a particular programming pattern would be useful.

Hadoop: The Definitive Guide (2nd Edition)
By Tom White

(I'm almost afraid to post this review, as I'm sure it'll lead to head-hunters e-mailing me. Oh well, I'll try my luck.) I picked up this book pretty much on a recommendation from a friend, telling me that Hadoop and MapReduce was becoming all the rage. It's definitely an interesting piece of software. Ironically, my company has started to pick it up, so maybe I'll be hacking on Hadoop for work now too. The book itself is pretty good but it's definitely an overview book on the broad general topic of "Hadoop". To really learn things in detail, you're going to have to pick up many of the specific subtopic books on the subject (Hbase, Hive, MapReduce algorithms, etc.).

Hbase: The Definitive Guide
By Lars George

Another good overview book.

Cassandra: The Definitive Guide
By Eben Hewitt

Compared to most technical books I've read, this one is pretty disorganized.  At one point, as an introduction to the Cassandra API, there is about a 10-12 pages of nothing but code.  Not really much of a description afterwards about what the specific API calls and such do.  I was able to get through several sections of the book more easily b/c I had already read the Hbase book and had general understandings of BigTable.  I think I'd be pretty lost if this was the first book I read on the topic.  I should mention I read this after it was clearly out of date.

Learning Apache Cassandra - Manage Fault Tolerant and Scalable Real-Time Data
By Mat Brown

I wouldn't really call this a Cassandra book, it's more a CQL book.  Topics such as application APIs, setup, configuration, and such (which were discussed in the Hadoop & Hbase books above) were non-existent.  However, as a general overview of CQL, you get an idea of how Cassandra is different than Hbase.  Much better than the awful "Cassandra: The Definitive Guide" above.

Refactoring
By Martin Fowler

This is another classic that I picked up eons ago then finally read.  Only read the first few chapters and skipped reading each refactoring pattern.  Perhaps the most important thing I got out of this book was to motivate me to do the refactoring in some code I'd been putting off for a long time.

Machine Learning in Action
By Peter Harrington

I think this is a pretty good beginner book, although the content is not organized too well.  There was definitely confusion on the content at times.  After watching Andrew Ng's Coursera Machine Learning course, the content made a lot more sense.

Data Science from Scratch
By Joel Grus

This is an interesting book.  It's sort of a hodge podge collection of random topics about Machine Learning and Data Science.  It ranges from basic programming in Python, to introductory machine learning algorithms, to Python APIs.  I think the audience for this are some strange cross section of people who want an introduction to data science people who want a introduction to data science but want some code to go along with it.  I think it's better than Machine Learning in Action, but Angrew Ng's Coursera course is still better.

Software Engineering Books (tech books but clearly not programming)

The Mythical Man-Month
by Fred Brooks

I think the last few chapters with updated comments is sort of a bore.  The real great essays are the ones from the 1970s.  What I love is that while the essays may not have direct relevance in modern day technology companies, the principles still do.  For example, all the topics about project planning and communication, while done slightly different, still apply.  No one will bother with a "phone log" anymore, as Jira or E-mail will suffice.  Engineers still poorly estimate hours needed to complete something.  Memory is perhaps not the ultimate constraint on programming anymore, but the principle of "resource limitation" still applies to any number of computing resources (e.g. network bandwidth).

The Pragmatic Programmer: From Journeyman to Master
By Andrew Hunt, David Thomas

I think this book would have been much better if I read it in the beginning of my career instead of far later.  Still, there are some decent points in the book to log away.  It was a bit outdated by the time I read it, as Git isn't even mentioned but I think they still brought up CVS.

The Cathedral & the Bazaar: Musing on Linux and Open Source by an Accidental Revolutionary
by Eric S. Raymond

Finally read this after many years.  I think it's interesting reading this book 15-20 years after it was written and comparing it to the current world we live in. I write a few comments about this in my post.

The Clean Coder: A Code of Conduct for Professional Programmers
by Robert C. Martin


I think this could have been a good book when I was earlier in my career, but so many of the topics covered in this book were "eh" to me.  Similar to Rich Dad Poor Dad, one also has to take all the topics covered with a grain of salt.

You Look Like a Thing and I Love You: How Artificial Intelligence Works and Why It's Making the World a Weirder Place
by Janelle Shane

A very lightweight artificial intelligence book.  Might be a fun intro book for AI, but not much substance for someone with a bit more knowledge.  (Didn't finish book, shelter-in-place ended book club reading of it.)


Misc Books Somewhat Related to Engineering/Tech

The Cuckoo's Egg
by Cliff Stoll

A tech classic.  I finally read this on the order of 25 years after it was first written.  Beyond the fact it's a great story, I think it's amazing to read it so many years after it was written to see how computers and security have changed so much.  Basics such as "don't pick dictionary words for passwords" are now so obvious.  More subtle topics such as "how do you tell others of security issues" were not evident as CERT hadn't even been established.  I thought it funny that "what is the internet" had to be described in the book because at the time it was written it wasn't really known.

The Soul of A New Machine
by Tracy Kidder

I actually found it confusing how this book won a pulitzer prize.  It appeared to be a hodge podge of random engineering tales.  However, one might have to put the book in context.  In 1981 tales of engineering all nighters, difficult tech problems, and how computers even worked, was likely fascinating.  But today it's just passe.

Dealers of Lightning: Xerox parc and the Dawn of the Computer Age
by Michael A. Hiltzik

Unlike the Soul of the New Machine, I enjoyed the tales of Xerox Parc's rise and fall, and learning more about this legendary institution's innovations.  Although following all of the names involved in the tale got confusing.
 
Disrupted: My Misadventure in the Start-Up Bubble
by Dan Lyons

The hilarious tale of a fifty something joining a tech startup of twenty somethings.  I think the book is hilarious as Lyons goes through his journey working at a hipster company.  But he also delves into some of the real problems of Silicon Valley and the picture that many venture capitalists paint about Silicon Valley isn't really what it seems.

Ghost in the Wires
by Kevin Mitnick

Other than "he's a legendary hacker", I didn't really know much about Kevin Mitnick and what he did.  I finally got to read about the details of what went on in his life.  Some of the hacking and social engineering tales are amazing, as well as his life on the run and eventual capture.  Some parts of the book drone on (how many "cool hacking tales" can one stick in a book), but it's not bad enough to make you give up reading.

Algorithms to Live By: The Computer Science of Human Decisions
by Brian Christian, Tom Griffiths

This book is an interesting attempt to bridge computer science algorithms to average everyday life.  At times it works, but at other times it doesn't.  The best parts of the book were simply the little mini-history tales told on subject matter, such as the history of the traveling salesman problem.

Brotopia: Breaking up the Boys' Club of Silicon Valley
By Emily Chang

Beyond looking at sexual harassment and sexism in Silicon Valley, Chang actually goes into interesting history as to how it came to be.  As bad as I thought it was for Silicon Valley, it was far more worse than I imagined.

American Kingpin: The Epic Hunt for the Criminal Mastermind Behind the Silk Road
By Nick Bilton 

More of a Hollywood like tale of the hunt for Ross Ulbricht, I wish it could have gone into some technical detail and not wandered off into some of the weeds of the side characters.

Bad Blood: Secrets and Lies in a Silicon Valley Startup
By John Carreyrou

This is the "Theranos Book", from the journalist that originally broke the story about fraud within the company.  The first 2/3rds of the book were interesting third person account of all the things that were "not quite right" from people that worked inside the company.  It includes outright lies about revenue / profit projections (to be clear, there is a line between exaggeration / optimism and fraud, and it was outright crossed) and multiple employees being uncomfortable with how poorly the Theranos devices worked.  The last third of the book is sort of scary, detailing the strong armed tactics Theranos used to try and keep their fraud alive.

Hello World: Being Human in the Age of Algorithms
by Hannah Fry

An interesting book covering the cross section of algorithms and their use in society, and rather their pitfalls when used in society.

Blood, Sweat, and Pixels: The Triumphant, Turbulent Stories Behind How Video Games Are Made
By Jason Schreier

An interesting set of tales from the video game industry, ranging from funding, deadline disasters, and one man created games.  It's interesting to see the perspective of video game development and see how it's so different than the typical "systems" development I do.  Most interesting difference?  If I complete something to 90% of the goal, it's not perfect, but I bet the software is useful and better than nothing.  But for game developers, finishing 90% of the goal can mean the difference between a A and F review grade.

Soonish: Ten Emerging Technologies That'll Improve And/or Ruin Everything
by Kelly Weinersmith and Zach Weinersmith

Although I expected a bit more humor in the book, not a bad read and overview of a few technology topics you may have not read too much about.