Book Review: Shape Up: Stop Running in Circles and Ship Work that Matters

This exceedingly long-winded titled book is another Basecamp book. Basecamp is a company run by D.H.H. The OG creator of the Rails half of Ruby on Rails. As someone who primarily operates in the rails universe, it seemed only right to set several books from Basecamp and DHH into my reading list. However, I found this book to be slightly disappointing. 

With a dozen and half different project management designs, from Waterfall, Kanban, and Scrum, this book describes their version of how to tackle projects that were detailed and clear. Yet the process they use, however effectively just feels like a small cycle waterfall with an emphasis on team ownership. 

The concept of shaping work before you start doing the work is a solid idea. The general idea is that you would make some rough designs and sketch out the functionality you are about to do, to properly shape the work. There are 3 main stages of shaped work: 

  1. The initial design is rough 
  2. The problem has been solved and well thought out, with any questions resolved
  3. It is bounded in scope and that scope is locked. 

Another aspect of Shape that I can get behind is Breadboarding which is a way to sketch out a flow for a solution to a problem, showing all the critical parts of the problem without being affected by the final design. Function over Form. 

The big problem I have with shape-up is the weird relationship when it comes to teams. They layout that there are essentially two different teams, one that decides what to solve and designs a solution, then there is another team that essentially implements whatever is written into the project. The removal of collaboration of the implementors and the planners on a project seems extremely dangerous. 

So, in summary, I wouldn’t recommend the overall process that Singer recommends in Shape Up, but there were still some tidbits of wisdom within. I don’t recommend reading this one.

Book Review: A Guide to the Good Life: The Ancient Art of Stoic Joy

This book is an excellent entry-level into Stoicism. This book aims to give a resolutely practical approach to Stoicism. The author William B. Irvine takes us inside the application of Stoicism against common issues such as grief, anger, the temptation of fame and wealth, and other challenges to inner balance and tranquility.


“Stoicism, understood properly, is a cure for a disease. The disease in question is the anxiety, grief, fear, and various other negative emotions that plague humans and prevent them from experiencing a joyful existence.”

― William B. Irvine, quote from A Guide to the Good Life: The Ancient Art of Stoic Joy

The first section of the book goes into a basic overview of the history of philosophy and highlights various stoic philosophers of note. This section was not nearly as valuable to me since I appreciate application over history.

The next portion of the book is called Stoic Psychological Techniques. This is where the application begins. One of the exercises he engages the reader in is the technique called “Negative visualization”. Irvine asks us that we imagine the loss of the good things in our life, our life, family, friends, and possessions. The goal of this experiment is to ensure that we must not take these things for granted and by experiencing this loss we can truly understand how we are blessed and often take things for granted.


“After expressing his appreciation that his glass is half full rather than being completely empty, he will go on to express his delight in even having a glass: It could, after all, have been broken or stolen.”

― William B. Irvine, quote from A Guide to the Good Life: The Ancient Art of Stoic Joy

A second technique he discusses is what he names “the dichotomy of control”. This is seemingly very simple, assessing all events in life and dividing them into things that you do and do not have control over. Viewing the events in this mentality allows us to reduce the anxiety over things we can not change, and help us isolate things that we can impact.

Irvine then goes on to advise on how to approach grief, anger, and fame. This mostly comes down to using the previous techniques and applying them to the things that cause these emotional reactions. When grieving, imagine you never had what you wept about, revealing how truly blessed you were to have had that time, to begin with. He also quotes Seneca about anger being a brief instance of insanity, and if you have lost so much control over yourself to become that emotionally unstable and angry that we must again consider the cosmic insignificance of the situation.


“The easiest way for us to gain happiness is to learn how to want the things we already have.”

― William B. Irvine, quote from A Guide to the Good Life: The Ancient Art of Stoic Joy

Overall this was a really fun book to dive into. The history section for me was honestly super difficult to get through. However, once we got into the thought experiments and the actual application I found myself fully immersed in this book. The skills and techniques taught in this book can be incredibly useful when applied to your life. Overall I would suggest reading this book, and if you don’t love history just skip the first part.

Book Review: Being Geek

A very interesting blog post turned book written by Michael Lopp more commonly known by his online persona Rands. Rands writes a fairly popular blog called Rands In Repose. His blog covers advice and stories about life, work, and life in technical work.

The content of this book is a series of stories that are easy to read and digest. The content is concise, with a lesson to be had in each chapter. The book covers scenarios across the entire timeline of someone in the technical field. Rands covers things such as finding a job and the interview process managing large teams and architecting projects

Due to the book being a compilation of blog posts it’s very easy to pick up and read a chapter or two, or even skip over ones that don’t fully apply to you. Overall I think this book is super easy to read and has quite a lot of excellent stories with lessons. These lessons can be taken into our professional day to day, to hopefully improve our lives.

Book Review: The Pragmatic Programmer

The Pragmatic Programmer gives true insight into what it means to be a Software Developer with the passion of an artisan. One who strives for improvement in the craft to make things better and more efficient not just for the pursuit of money, but for the sake of doing good work. This book provides an overview of all the different concepts, tools, and approaches to a software solution. I had a friend who said he imagined what I do to be out of the movie Swordfish. In reality, I’m no Hugh Jackman and we don’t spend our time typing at the speed of sound in an abandoned warehouse. Writing code is likely only a small portion of our job. We spend much more time, reading, conceptualizing, and breaking large problems into smaller more achievable ones.

What My friends think I do.

There are a lot of useful concepts in this book, instead of diving into detail I will give you a list, and a strong suggestion to read this book!

  • Always Be Learning and Improving
  • Avoid Over Engineering and Premature Optimization
  • Don’t Repeat Yourself (DRY)
  • Design Code that can be easily changed, Decoupled, Single Responsibility, and Readable
  • Mindset is as important as knowledge.
  • Own your mistakes, Don’t make excuses make solutions.
  • Unit tests are important, but Avoid Over-Testing
  • Version Control Everything!
  • Developers are people, not just a tool/resources.
  • Slice problems down to smaller more achievable chunks
  • Refactor when needed, No broken windows!
  • Think before speaking / hitting enter.

This book provides a great overview and insight on everyday software developer life, while not being overly long-winded. The topics covered in this book can be so valuable not only to new developers who need to learn about these cornerstone subjects but to existing developers to be reminded of the goal in which we strive towards. The book reads like a conversation of a wise developer bestowing all the wisdom tidbits he has gained over the years and finds worthy to pass on to the next generation.

I would say this book is easily a must-read for any developer at least once in your life, the topics are broad, easy to read, and invaluable for your journey towards mastery. Happy Coding Everyone!

Book Review: Patterns of Enterprise Application Architecture

This book by Martin Fowler and assorted others, was published in 2002, but still has content that is still applicable today. It’s a very slow and heavy read, however it is super interesting to see what influenced many of the frameworks that we use today.

This book goes over a collection of Enterprise application patterns that have been vetted in production environments. They are broken into different classifications: Layering, Concurrency, Session Management and Base Patterns. He then goes on to explain the pattern with diagrams, hierarchy and schema examples. Then ends each section with code examples and the pros and cons of each.

If you want more detailed information about the different patterns of enterprise application architecture, feel free to take a look at Martin Fowler’s website. https://www.martinfowler.com/eaaCatalog/

I think this book is a great tome of wisdom, however it needs an upgrade to match up to current design patterns. It was really valuable to see the patterns used at the time when some of our favorite frameworks were built, ie Rails, and .Net. This book is a great foundation for Architects and Engineers who are designing a service or want to learn more about patterns, however not all modern patterns are included at this point.

Book Review: Drive – Daniel H. Pink

Most of what we know about motivation is wrong. Dan Pink dives into what it is that truly motivates us and how motivation has changed over the years. He states that there are two types of motivation: Intrinsic and Extrinsic. Intrinsic motivation is the behavior that drives us internally, such as happiness, personal fulfillment and meaning. Extrinsic motivation is driven by external factors, such as money, recognition, or other materialistic rewards.

Intrinsic Motivation has three parts: Autonomy, Mastery and Purpose. Autonomy is control over your life, your work, and how you accomplish different tasks in your life. Mastery is the ever growing pursuit of knowledge in your craft, the challenge set forth by oneself to constantly improve and be the best. Purpose is the desire to do something that actually matters and might leave a positive impact in the world.

Dan then goes on to explain how the newer age motivation what he called Motivation 2.0 is no longer extrinsically driven after a certain point. People are more likely to take lower positions or less income in order to have more control over their life. Have time flexibility to be with family, to be more in control of their work and to work on projects that actually matter to them.

Overall the book was an interesting read into how the new wave of professionals will be motivated in the workforce and how they will put more value on intrinsic aspects of a job than just a high salary. People want to make a difference, they want to feel like what they do matters, and that they themselves matter. It is a good idea to do some introspection. Does your job make you happy, do you feel like you matter, and do you think you are making a positive impact in your workplace or your world.

This was my first book in my 2022 reading list. If you want to see what else is on my list feel free to check out that blog post: https://blog.p3rishable.com/2021/12/27/10-rule-my-reading-list-for-2022/