Dark Matter
- Blake Crouch has become one of my new favorite sci-fi authors. Dark Matter
doesn't hit quite as hard as Recursion, but it's still a wild ride through
an unpredictable blending of physics, neuroscience, and human connection.
The
North Water
- brutal, in more ways than one. It reminds me strongly of Cormac McCarthy's
darkest story; "Child of God", but at the cold edge of the world.
Recursion
- this remarkable sci-fi manages to balance a break-neck pace with complex
storylines and deep exploration of fundamental human truths. One of my
all-time favorite reads.
The
Creative Act
- an intriguing blend of pantheism and mysticism as they apply to art and
creativity. A wonderful read that behaves almost like an anthology. Each
story obscures the people and instead focuses on the process of finding
inspiration. I am excited to reread this.
Start Small, Stay Small: A Developer's
Guide to Launching a Startup
- well worth the quick read if you are interested in small-scale software
businesses. Rob packs a lot of straightforward, meaty material into this
how-to alternative to leveraged growth and infinite scalability. While
perhaps a bit dated (copyright 2010), about two-thirds of the text is still
highly relevant as it relates to choosing, launching, and marketing a new
business. It's great to see the subject material continually improving over
at MicroConf, too.
Build
- this is so incredibly full of insightful ideas in team management, product
development, and career-shaping that I keep it on my desk– not my
bookshelf, and reference it regularly.
Developer Hegemony: The Future of Labor
- an inspiring piece of work that explores a potentially new phase of the
labor versus capital struggle. Read a detailed review here.
An Elegant Puzzle: Systems of
Engineering Management
- a great collection of reasonable management advice, mixed with some fluff.
I applaud Larson for taking the risk that is writing down exact numbers for
concepts meant to remain abstract. He doesn't shy away from hard-to-quantify
ideas like the appropriate size for an engineering team, or the acceptable
duration and frequency of meetings.
Deep
Work
- Cal provides thoughtful and convincing strategies for rebuilding broken
work habits in the age of instant gratification and constant distraction. I
think a lot of the ideas are re-discoveries of what was once known by the
historically great thinkers, but it's nice to have a compiled reference
guide.
Software
Design for Flexibility
- to be honest, I was wholly disappointed with this text. Unlike its
renowned predecessor "SICP", I felt like there just wasn't a lot of meat on
the bone. The examples provided were often trivially simple, or wholly
incomplete, or generally inapplicable. I work in systems that span years of
development, and are touched by tens or even hundreds of hands. This book is
not the silver bullet I was hoping for.
Elixir in Action
- a fairly comprehensive introduction to the fundamental constructs in
elixir, and how they relate to erlang. I appreciated the low level coverage
of the BEAM, OTP, and genservers. You might struggle to build an application
in elixir if this is your only reference material, but your understanding of the
fundamentals will be sound.
Never Eat Alone
- I appreciate the focus on genuine, non-transactional network building
strategies. A great guide on developing professional friendships that stand
the test of time.
Mastering
Clojure Macros
- a succinct, helpful reference guide to untangle some of the trickier parts
of macro-based development.
A Philosophy of
Software Design
- similar to The Pragmatic Programmer, but more focused (in my opinion) on
higher-level systems thinking.
Designing Data-Intensive Applications
- a great primer on "modern" solutions to domains where the sheer volume of
data is inherently problematic. I do wish there were larger, more applicable
implementation examples of the various strategies and thoughts about the
tradeoffs of these systems.
The Art of Game Design
- an absolute must-read for anyone trying to break into game development,
physical or software-based. The concepts are clearly presented with examples
and, importantly, counter-examples. Using this book as a foundation, I was
able to publish my own small iOS game to the App Store many years ago.
The Design of Everyday Things
- a classic text on human interaction with everyday objects. It covers
everything from the philosophy of expectations, to practical design
affordances. This book might permanently change your opinion on usability
design and lead to a slightly more frustrated existence; you have been
warned.
The Lean Startup
- as the title implies, this is a useful how-to for getting a business off
the ground without burning piles of cash. I enjoyed the relentless focus on
finding traction as quickly and cheaply as possible. Frustratingly, the
chapters covering metrics and result measurement seemed like pseudo-science
nonsense. It's certainly important to measure outcomes, and to pick the
correct outcomes to measure, but I suspect a lot of revisionist history in
these pages.
A Theory of Fun
- practically useful and a fun read, this is probably one of the best
books on game design.
The Mythical Man Month
- a true classic in the software engineering space. The more experience I
earn, the more the case studies makes sense. I was most excited and
intrigued by the chapters covering large-scale, new builds– particularly
around the investment in infrastructure and developer tooling. Engineering
teams just don't do this anymore, at least not in the vast majority of
contexts, and I think it's costing us more than we know.
Cracking the Coding
Interview
- I'm not a fan of this style of interviewing. I don't think it works
particularly well to filter potential hires. That said, if you want to work
at a place that encourages this type of leet-code hoop-jumping, you will
invariably benefit from studying these exercises.
Dont Make Me Think
- a funny and astute look into what makes great user interfaces.
Badass:
Making Users Awesome
- a (perhaps) novel approach to user experience design. Everyone agrees that
we should build awesome things that make people's lives better. This book
goes further by relieving us, the builders, of our grand delusions; no user
wants to become a master of your tool. They just want to get stuff done
while feeling powerful and capable.
The
Pragmatic Programmer
- if you subscribe to the idea that programming is more art than science, this is an an absolute masterclass in "tasteful" programming.
Secrets
of the Javascript Ninja
- truly wonderful. If you have to work in javascript in any professional
capacity, which is probably true for every single software engineer, you
should read this book. I do wonder about the usefulness of some of the more
deep/superuser features available in javascript, but Resig covers it all in
great detail, regardless.