My favorite science fiction book this year was Across a Billion Years by Robert Silverberg. I enjoyed this book so much that it led me to seek out other works by the same author. Notably, the first three books from the Lord Valentine Cycle.
The technical book which had the biggest impact on me this year was Software Craftsmanship by Pete McBreen. It presents a whole new way of thinking about the software development industry. I’m making it my mission to put these ideas into practice to the best of my ability.
Permutation City by Greg Egan
Explores the technology, economics, and social implications of life after death using virtual reality, and the surreal consequences of living in a computational universe.
Across a Billion Years by Robert Silverberg
Set in the near distant future, this story follows the journey of a group of archaeologists, who are on a mission to find artifacts from a long lost interplanetary civilization.
Nightwings by Robert Silverberg
Journey to save the planet from an alien invasion in a damaged world littered with remnants of ancient technology from a long lost era.
Lord Valentine’s Castle by Robert Silverberg
Quest to reclaim the thrown from a usurper on the planet Majipoor, an immense world populated by a myriad of alien species, powered by ancient machinery, and united under a singular monarch. Classic hero’s journey.
Majipoor Chronicles by Robert Silverberg
Collection of short stories which take place in Majipoor from Lord Valentine’s Castle. These are each standalone stories which expand on the background and history of the world.
Valentine Pontifex by Robert Silverberg
Sequel to Lord Valentine’s Castle. Valentine struggles to maintain power and overcome a worldwide conflict. Mostly a repeat of the first book with none of the adventure or charm.
The Island by Peter Watts
Short story about engineers constructing a faster than light travel network, when things go awry, no thanks to the onboard AI.
Breakfast of Champions by Kurt Vonnegut
The unlikely encounter between an unsuccessful science fiction writer and a car dealership business owner. The story itself is less interesting than the style in which it’s told.
Productivity & Self-Help
Show Your Work! by Austin Kleon
This is a book about self-promotion for people who hate self-promotion. As an introvert, the advice in this book resonated with me. The biggest takeaways, for me, come from the first 3 chapters:
- You don’t have to be a genius
- Think process, not product
- Share something small everyday
Brain Over Binge by Kathryn Hansen
The author claims that binge eating originates from our “animal brain” as a response to caloric deficits. Every time we succumb to binge eating, it reinforces this bad habit, even after we’re no longer in a caloric deficit.
To stop binge eating, the author suggests changing how you react to urges by separating yourself from your urges, eating healthy, and avoiding restrictive dieting.
The Phoenix Project by Gene Kim, George Spafford, and Kevin Behr
Fictional story about a company on the verge of collapse because of a dysfunctional IT department. The protagonist saves the company by implementing DevOps principles and adopting Agile.
Agile Project Management with Kanban by Eric Brechner
Great resource for learning all about Kanban, with tons of examples from real world projects, and practical advice on how to justify and implement the transition to Kanban in your organization.
Timeless Laws of Software Development by Jerry Fitzpatrick
Contains tons of useful non-technical advice about how to build quality software on teams. The advice in this book rings true from my experience.
Software Craftsmanship by Pete McBreen
This book challenges the software engineering status quo and provides a refreshing view on hiring, training, team structure, and day to day work.
The main idea is that software development should operate like any other trade, with apprentices, journeymen, and masters. Most software should be developed by small teams of masters. Teams form cohesion by working together for long spans of time, like 5 to 10 years. Masters should be involved in designing, building, and maintaining software. Masters care about taking a pragmatic approach to build high quality software which is easy to maintain and modify for many years.
Crafting Interpreters by Robert Nystrom
This book walks through the process of creating a new programming language from scratch in Java and C. It uses literate programming to demonstrate how to parse text, build syntax trees, compile bytecode, and manage memory using garbage collection.
It’s also available online for free! http://craftinginterpreters.com/
War is a Racket by Smedley Butler
Butler recounts his decades of experience in the United States Marine Corps and how he came to the realization that the purpose of war is to make foreign countries safe for American big business. He explains how war is used to generate profits for corporate interests at the expense of the American people.