bits by luke

  1. The North Water - brutal, in more ways than one. it reminds me strongly of Cormac McCarthy's darkest stories; "Child of God", but at the cold edge of the world.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. Mastering Clojure Macros - a succinct, helpful reference guide to untangle some of the trickier parts of macro-based development.
  13. A Philosophy of Software Design - similar to The Pragmatic Programmer, but more focused (in my opinion) on higher-level systems thinking.
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. A Theory of Fun - practically useful and a fun read, this is probably one of the best books on game design.
  19. 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.
  20. 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.
  21. Dont Make Me Think - a funny and astute look into what makes great user interfaces.
  22. Nodejs the Right Way (1st edition) - javascript and node are very sharp tools, so it's important to know how to use them. This presents strong, well-reasoned opinions on how you should (and should not) try to write a system in node. You might skip this book and just stop trying to write large systems in javascript entirely, though.
  23. 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.
  24. 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.
  25. 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.