Josh Bavari's Thoughts

Thoughts on technology and philosophy

Mindset - Book Review

less than a 1 minute read

I just finished reading Mindset: The psychology of success. I picked it up because it has been high on my list of books to read in the last year. The final driving point to read the book came after reading Switch: How to change things when change is hard.

I really enjoyed reading about the different mindsets we carry and how they affect our lives. The two main mindsets Dr. Dweck points out is the fixed and growth mindsets. What defines the fixed mindset is one of stasis. That stasis defines how the mind locks onto an idea and believes it is fixed in place. The growth mindset, however, is one that believes that growth came come with effort. An example here is intelligence. The fixed mindset believes one is born with a certain intelligence and it cannot change; the growth mindset believes with effort intelligence can blossom.

This book review will differ from my last, in that I’m adopting a new format that I picked up from Michael Lynch’s blog and his book reports section.

What I liked

  • Overall, the stories being shared about the mindsets and how they infiltrate our every actions.
  • The mindset you choose is paramount to your ability to grow and learn. If you think you know everything, you cannot learn anything.
  • Effort is more important than ability. Ability can be gained from effort. No one is born a surgeon.
  • The journey one can take to be more in the growth mindset more. Personally, I find myself in the fixed mindset sometimes. I’ve since labeled this fixed mindset persona, Bob. Now that I’m more aware, I can label Bob, I know when he comes out, and I can invite him to be more patient with me.
  • The many stories of John Wooden, Jack Welch, and other leaders who embodied the growth mindset and help pave a way for better leaders through the growth mindset.
  • Looking at others with compassion and knowing they may be facing their fixed-mindset persona in that moment.

What I didn’t like

  • The book exposing the parts of myself that fall into the fixed mindset. I didn’t like being labeled so clearly. It goes to show how important psychology is in our everyday life.

Key Takeaways

The Mindsets

  • A quote from the book: “it is not some fixed prior ability, but purposeful’s not always the people who start out the smarteset who end up the smartest”.
  • “The hallmark of the growth mindset is the passion for stretching yourself and sticking to it, even (or especially) when it’s not going well”.

Inside the mindsets

  • “Believing that success is about learning, students with the growth mindset seized the chance. But those with the fixed mindset didn’t want to epose their deficiencies. Instead, to feel smart in the short run, they were willing to put their college careers at risk. This is how the fixed mindset makes people into nonlearners.”.
  • There was a popular phrase in the 1960s: ‘becoming is better than being’. I could use more of this reminder in my day to day life.
  • People with the growth mindset know that it takes time for potential to flower.
  • There is nothing wrong with being ‘special’. The problem is when ‘special’ begins to mean ‘better than others’. A more valuable human being. A superior person. An entitled person.
  • Lurking behind the self-esteem of the fixed mindset is a simple question: “if you’re somebody when you’re successful, what are you when you’re unsuccessful?”
  • Even in the growth mindset, failure will still hurt. But it doesn’t define you – it’s a problem to be faced, dealth with, and learned from.
  • Even geniuses still have to work hard for their achievements. No matter what your ability is, effort is what ignites that ability and turns it into accomplishment.
  • “Why is effort terrifying? Two reasons – one is that in the fixed mindset, great geniuses are not supposed to need it. So just needing it casts a shadow on your ability. The second is that, as Nadja suggests, it robs you of all your excuses. Without effort, you can always say, ‘I could have been [fill in the blanks]’”.

The truth about ability and accomplishment

  • In the fixed mindset, things are fixed forever. This is not true. The world is comprised of change at every moment. In the fixed mindset, a loser is forever.
  • A story shared here captures the spirit of this book: “All at once Jimmy – the most hard core turned-off low-effort kid in the group – looked up with tears in his eyes and said, ‘You mean I don’t have to be dumb?’ From that day on, he worked. He started staying up late to do his homework, which he never used to bother with at all.” Just having the mindset of growth can push us to apply effort.
  • From the book: “Is it ability or mindset? Was it Mozart’s musical ability or the fact that he worked till his hands were deformed? Was it Darwin’s scientific ability or the fact that he collected specimens nonstop from an early childhood?”
  • “Just because some people can do something with little or no training, it doesn’t mean that others can’t do it (and sometimes do it even better) with training”
  • “Telling children they are smart, in the end, made them feel dumber and act dumber, but claim they were smarter. We don’t mean to rob others of their zest for challenge and recipe for success. But that’s the danger”
  • Labels can be dangerous. A story is shared that before tests, if students had to mark a checkbox of their label (say, african american) they were then set up with subconscious thoughts that harmed their achievements. Anything that could remind you of a stereotype could potentially rob you of your power. This doesn’t happen to everyone, however, mainly those who are in the fixed mindset. When people are in the growth mindset, the stereotype doesn’t disrupt their performance.
  • Try to find the tremendous effort tht went into others accomplishments – and admire them more for that.

Sports: The Mindset of a champion

  • A champion is someone who could raise their level of play when they needed to. When the match is on the line, they suddenly “get around three times tougher”.
  • Character is the ability to dig down and find the strength even when things are going against you.
  • An excerpt that hit me hard: “All of these people had character. None of them thought they were special people, born with the right to win. They were people who worked hard, who learned how to keep their focus under pressure, and who stretched beyond their ordinary abilities when they had to.”.
  • “How good you are at sports will always improve if you work harder at it.”
  • Mia Hamm tells us, “after every game or practice, if you walk off the field knowing that you gave everything you had, you will always be a winner.”
  • “Those with the growth mindset found setbacks motivating. They’re informative. They’re a wake up call.”
  • Be aware of the somebody-nobody syndrome. “If I win, I’ll be somebody; if I lose, I’ll be nobody”. Worrying about being a nobody is not the mindset that motivates and sustains champions. Somebodies are not determined by whether they won or lost. Somebodies are people who go for it with all they have. If you go for it with all you have, you will already be a somebody.

Business: Mindset and Leadership

  • “The best leaders were ones not constantly trying to prove they’re better than others. They don’t highlight the pecking order with themselves at the top, they don’t claim credit for other people’s contributions, and they don’t undermine others to feel powerful”
  • Comparison leaders were typically concerned with their reputation for personal greatness, such so that they put companies up to fail after their regime ended. Collins put it: “After all, what better testament to your own personal greatness than that the place falls apart after you leave.”
  • The story here about Lee Iacocca, his time at Ford Motor Company, and his reign at the Chrystler corporation, where he rose and fall. His obsession with the fixed mindset and ‘being the person in charge’ drove him to ultimately be pushed out.
  • Dr Dweck highlights an excerpt from the book “Brutal Bosses”, that represents the kind of abuse of power via the bosses’ desire “to enhance their own feelings of power, competence, and value at the subordinate’s expense”. “These types of bosses have the power to make people worse off. And when they do, they feel better about themselves”
  • Fixed mindset bosses are most threatened by competent people, because they are the ones who pose the greatest threat to the boss.
  • “The minute a leader allows himself to become the primary reality people worry about, rather than reality being the primary reality, you have a recipe for mediocracy, or worse”
  • Dr. Dweck outlines a story of Jack Welch, CEO of GE, who would frequent the front-line employees to get a better story of what his employees were facing. By doing this, he was more in touch with the company and garnered more respect from his employees. Dr. Dweck also shares the story of Jack Welch as a young engineer at GE, where he caused a chemical explosion. He immediately drove the hundred miles ot the company headquarters to face the music and explain himself to the boss. When he got there, the treatment he got was understanding and supportive. Jack Welch stated, “Charlies reaction made a huge impression on me.. if we’re managing good people who are clearly eating themselves up over an error, our job is to help them through it.”. This type of leadership is the type of leadership I want to learn more of and act upon.
  • When leading a company, state that the company is about growth, not self-importance.
  • Companies should be in the business of “not crowning a few princes, we need to work as a team. Genius is not enough; we need to get the job done.”
  • Fixed mindset leaders are full of bitterness; growth mindset leaders are full of gratitude.
  • “Managers with a growth mindset think it’s nice to have talent, but that’s just the starting point. These managers are more committed to their employees’ development, and to their own.”
  • Look for managers that embody the growth mindset, and they will grow others as well.

Relationships: Mindsets in love

  • A good french quote: “Tout comprendre c’est tout pardoneer” – “To understand all is to forgive all”.
  • There is no such thing as a ‘no effort relationship’. “It takes great work to communicate accurately and it takes work to expose and resolve conflicting hopes and beliefs. It doesn’t mean there is no ‘they lived happily ever after’, but it’s more like, ‘they worked happily ever after’”.
  • “People with fixed mindsets see faults in their partners, become contemptuous of them and dissatisfied with the whole relationship. People with the growth mindset, on the other hand, can see their partners’ imperfections and still think they have a fine relationship.”
  • Couples that learned to respond to each other not with angry labels, but with helpful actions, were able to weather any storm.
  • Try to avoid thinking your partner is incapable of change. Once you do, nothing can improve the relationship.
  • Avoid people who make you feel bad about yourself.

Parents, teachers, and coaches

  • Try to plant the seed of the growth mindset in others; celebrate their efforts, downplay the ability.
  • Remember that when you compliment someone on their fixed ‘ability’, you may set them up for high expectations and trigger their fixed mindset thought patterns.
  • Stay away from praise that judges others intelligence or talent.
  • Drive home the idea that skills and achievement come through commitment and effort.
  • Help others see grades not as an end in themselves, but as means to continue to grow.
  • Focusing on others fixed traits worries them and makes them complicated; they then focus on maintaining the fixed traits instead of applying effort to grow.
  • “Compassion and consideration are the priorities of the highest order.”
  • Lessons here from the basketball coaches: Wooden – where people become “infected with success”. Pat Riley calls it the “disease of me” – “which is thinking one is the success and chucking the discipline and the work that got you there”. “Success lulls you. It makes the most ambitious of us complacent and sloppy.”
  • Be aware of success – it can knock you into the fixed mindset. The idea of “I won because I have talent. Therefore I will keep winning.”

Changing mindsets

  • CH 8 – Dr. Dweck outlines a system to gaining more of the growth mindset. The first is knowing that everyone has a mix of the fixed and growth mindsets already; we must all acknowledge that fact, welcome to the human race.
  • The second step is becoming aware of what triggers the fixed mindset persona.
  • The third step is to give your fixed mindset persona a name. Maybe it was someone in your earlier life. Maybe it was from a book or a movie.
  • The fourth step is to accept it and invite it along on your journey to grow. Thank it for it’s input, ask it to come along with you, allow it to subside. Accept that others have it and it may be a part of their struggles.
  • Look at others in a new light – maybe the times you think they are incompetent, stubborn, or defiant when they just don’t know how to function in the current conditions. Perhaps they are battling their fixed mindset personas at that time. Offer to help. Learn and help learn.
  • Continue to ask yourself, ‘what do I have to do to maintain and continue the growth?’

Something Happened

less than a 1 minute read

During high school and college I was a morning person. I loved getting up early in the mornings to read, play some video games, or any other topic that kept me in the ‘flow’.

Now I’m a night owl. I focus the best around 8pm. I don’t know why, my brain just decides to turn on. I’ll get about an hour and a half of pure focus, then it’s time to wind down around 9:30 PM.

I prefer to be an early bird. As much as I try to force it, it’s just not the same level of focus as I get at night. As much as I want to change, I must accept that I’m a night owl now.

Although I cannot change or understand the why, all that matters now is that I’m aware of this change. Something happened. Accept it. That’s the important part.

2020 Goals and Systems

less than a 1 minute read

After doing a 2019 in review, I wanted to set up some new routines for some extra discipline in my life for 2020.

Some systems that I want to set up:

  • Reading more.
  • Writing more.
  • Practicing mindfulness to achieve happiness.
  • Practicing clear and present leadership everyday I can (which is everyday).
  • Spending time with friends and loved ones.
  • Traveling more.
  • Working on projects that help me grow my technical acumen and skillset.
  • Giving back to my community (technical, city, or other ways).
  • Speaking up in the community, at start up events, or technical events.
  • Maintaining a healthy life – through daily walks, working out, and getting back to training jiu jitsu 3 times a week.

Now, those are my systems. Based on those systems, I’d like to achieve some goals:

  • Have listened (audible) to 40 books this year.
  • Have read (physical or kindle) 40 books this year.
  • Have finished writing a book draft for my first book.
  • Writing at least 2 blog posts a month.
  • Have been present and aware as much as I could physically and mentally.
  • Practicing leadership with people I mentor or in the community.
  • Camped 10 different sites with friends and family.
  • Traveled to two countries this year.
  • Completed a meaningful project that helps people sell their used goods.
  • Given a talk at Ignite Boulder.
  • Have spoke at one technical conference.
  • Get back to a healthy 185lbs and be healhy enough to train jiu-jitsu 3 times a week consistently.

I realize many of these goals seem binary, and thus, hard to measure. I will measure them by marking a calendar with the days that I achieve the above conditions. By the end of the year, I should see a high percentage of successes in the goals.

Stop, Start, Continue

I just read the QBQ 3-step upgrade post about how to ‘be a better me’. I wanted to try out that exercise here.

I will stop doing

  • Complaining about things unless I’m willing to act on it.
  • Playing the victim card. I am taking full accountability.
  • Accusing other people for things that make me unhappy, I will make that my internal focus.
  • Doing things that do not bring me joy.
  • Masking my anger by using sarcasm.

I will start doing

  • Measuring what matters to me – my reading, my exercise, my habits.
  • Taking accountability for my actions.
  • Doing more self-care activities, like physical therapy, exercise, etc.
  • Doing more, talking less.
  • Living more by a budget.
  • Practicing randicle candor.
  • Reaching out to my parents on a daily/weekly cadence.

I will continue doing

  • Being kind whenever possible, it’s always possible
  • Helping others when I can (the idea: in order to survive you, I must first survive myself)
  • Reaching out to others to give positive reinforcement.
  • Being a supportive son and brother to my family. Being a supportive person to my friends.

Start Finishing - Book Review

less than a 1 minute read

I’m currently diving into a book recommended by Seth Godin – Start Finishing. This book is primarily aimed at supplying people with additional approachs to tackling ‘important problems’.

Part 1 – Clearing the decks for your best work

Chapter 1 “Someday” can be today

Charlie drives right to the point – you know what your best work is, and when you are not doing it. We thrive when we do our best work. Best work is defined as work that is important to you. Your best work also requires dropping the busy work and focusing on the work. The more important to you, the easier it is to get displaced by other things.

Best work projects generally take 3 to 5 years.

No ideas, only projects

Throughout the book, the author Charlie Gilkey describes that there are no ideas that we work on, we work on projects. The important part here being, deciding what we need to do to complete these projects. By figuring out what we say no to, we can say yes to the right things. This book starts by breaking down some systems one can take to figure out what the right things are, they ‘burying’ the rest.

Chapter 2 – Getting to your best work

Charlie talks about the ‘air sandwich’ – which is a gap between your vision, mission, purpose, and big goals being one side of the slice of bread. The other being your day-to-day reality. Between these slices lies the air sandwich.

These are created from:

  • Competing priorities
  • Head trash
  • No realistic plan
  • Too few resources
  • Poor team alignment

Head trash is pretty straight forward, it’s the negative thoughts you tell yourself. Cut that crap out!

You can combat the 5 issues above with:

  • Intention
  • Awareness
  • Boundaries
  • Courage
  • Discipline

A good tip here that Charlie suggests is tryign to align competing priorities. He also suggests taking out the head trash by being aware of it, having the backbone to challenge it, and the discipline to adjust it.

Chapter 3 – pick an idea that matters

Charlie suggests doing some inner soul searching here to find what really matters to you. Some practices – trying out mind mapping, asking some questions to challenge our head trash and doubts as well as thrashing, and avoiding creative constipation.

Creative constipation is defined as having a ton of creative projects that keep piling up, but that we cannot finish. This leads to just like human nature, where it becomes uncomfortable. Charlie points out that there is a known tradition that links creativity and destruction: the same energy that fuels creation also fuels destruction. We must be aware of this and funnel that energy in the right direction.

Charlie also puts failure in a new light – its a learning mechanism.

Displacement is your friend

To make room for your best work projects, you must displace other lower level work. This means, saying no to projects. Saying no to other peoples projects that dont mean much to you or aren’t backed by purpose. Pointing out here, to trade up, you have to let go. By holding on to one thing, you cannot take another.

Charlie gives some great exercises here to find out what means the most to you, some steps that you can take to identify what the best work project really is.

Part 2 – Planning your project

Chapter 4 – Convert your idea into a project

Charlie reminds us of SMART goals – which are simple, meaningful, actionable, realistic, and trackable. He gives some questions here on how to measure each of these. There are also some steps to help make the goals more SMARTy.

Charlie also asks us to mark each project with levels of success, being it small, medium, or large. By identifying it up front, we can avoid beating ourselves up when a goal doesn’t meet our expectations. We are laying out the expectations up front so to not be tricked later.

No date = No finish

Success pack

Gather a group of people who will support you along your best work projects. Turn to them when you need help, guidance. These can be mentors, but not necessarily there with you. They can be like in the book “Think and Grow Rich”, where you could ask yourself what that person would do, even when they are not physically there or available for a call.

Chapter 5 – Make space for your project

Charlie stresses that there is no time unless you make it. If your project is important, you will find a way to block up times in your day to focus on it.

Some steps:

  • Chunking
  • Linking
  • Sequencing

By doing these steps, we can create a plan to make space for the project.

Finding the goal of this chapter is that it’s a marathon, not a sprint. Plan the sprints to be only three focus blocks per week to maintain momentum, efficiency, and focus.

Think of the chunks of work over time as blocks. You can have so many blocks per week.

The project pyramid. Made of Yearly Goal at the top, quarters, months, then weeks.

There are blocks of time to schedule, based on some categories:

  • Focus Blocks
  • Social Blocks
  • Admin Blocks
  • Recovery Blocks

The 5 projects rule

Charlie states that the human mind can at best focus on 5 projects. Any more and we will thrash more, as it takes 16 minutes to refocus on a task from interruption or refocusing on a new task type.

Charlie also reminds us to make time for recovery, as we’re in this for a marathon, not a sprint.

3 focus blocks per week

By only having three focus blocks per week per project, we avoid ‘thrash crash’, which is the price we pay for bouncing between projects and refocusing. Try to be aware of this and plan accordingly.

Chapter 6 – Build your project road map

Finding your true flow – Gates

Focus on your strengths, use them to your advantage. Use this gage to find your strengths:

  • Genius – what seems to be an expression of an inner creative force
  • Affinities – what you’re drawn to
  • Talents – what seems to be your native skills or capabilities
  • Expertise – What you’ve learned through experience and practice
  • Strengths – What seems to come easy for you

Charlie here calls our Jonathan Fields and his Sparketypes that can help guide along your strengths. Charlie also calls for a budget that you can use to support yourself along your best work projects. By spending some money on yourself, within budget, you can buy more time to work on your best work projects. The example he gives here is brilliant – paying for grocery delivery service if it takes time away from your project during your highly creative times.

Shared mental models

Charlie gives some symbological meanings to completing by giving some simple mental models. It’s not really the ideas here that are original, but rather the ideas with their corresponding mental models that make this book shine.

Head Trash

For example, I catch myself sabotoging my own projects, ideas, or thoughts. The mental model i’ve had before has been ‘what I say when I talk to myself’, Charlie calls this ‘head trash’. The symbology there is powerful – trash being something that is stinky and we don’t need to keep around but we keep around in our heads.

Charlie then attacks the more important questions that revolve around momento mori – that you have only so many ‘best work’ ideas left in your life. This number is found by taking 85, subtracting your age, and dividing by 5 and rounding down. This time for projects

Creative constipation

Another great mental model is one of ‘creative constipation’. In that, when we have a fun creative idea, we may not act on it. And all humans have experience with constipation, it’s very uncomfortable. Charlie addresses this again by stating, by finishing one, we can move on to the next. However, if we start, and perhaps do not finish, it will build up to those uncomfortable levels.

Success Pack

This is the idea that with it takes a village to raise a kid. Like the kid, the project too needs champions that can help keep you on the path to success.

Chapter 7 – Keep flying by accounting for drag points

The mental model here is that engineers need to account for drag the more and more velocity they are moving at. The same thing works here for projects, be aware of it. The person most guilty of adding drag to your project is you.

There are some no-win stories you tell yourself.


We tell ourselves myths about success, like it will wreck or prevent a relationship, the success vs virtue myth, and the ‘what if i cant do it again’ myth. These are all false. Many can go on to create success without any bad effects, as long as one plans the blocks appropriately.


We often choose mediocrity in the short term, because we don’t want to succeed due to the no-win myths above. But we also don’t want to fail – mediocrity is the space between success and failure.


OPP = other peoples priorities. This can take you away from your best work. Learn how to get away from them. The longer your best work project goes on, the more OPP you’ll have to contend with it. Plan ahead that you need to respond to them. If you aren’t clear about your priorities, you’ll continually be beset with OPP.

Look for opportunities that you can include OPP into your own work, somehow.

Derailers and Naysayers

There will always exist some that will take you off your project and into doubt. Derailers might now know that they are derailing you. Tell them or get curious to see why they do that.

Naysayers are just that, haters are going to hate. Avoid them. Or instead, turn to your success pack.

Charlie says:

Every ounce of energy you use grappling with a naysayer is much better spent on working on your project and interacting with your success pack

Project post-mortems

Take some time during a project to do a post-mortem. This isn’t to say the project will die, but look for opportunities to improve. Of course, you can also benefit by attempting to think through these things from the start, of course. Attempt to do as much learning as you can.

Part 3 – Working the Plan

Chapter 8 – weave your project into your schedule

Basic rules

The weekly block schedule, the Five projects rule, and your project road map together create a plan that you can follow and space to do the work.

Momentum planning is Charlie’s term for the continual process of making and adjusting plans across all time perspectives. This means, doing weekly reviews, morning planning, and triaging. This also means weaving in the time blocking, project pyramid, and the Five Projects rule.

Make sure your environment is working for you

The environment can define the working conditions. Charlie gives an example of how during his graduate school time, most of his best writing happened in 6 years over about 60 days. This was because he tackled writing at the library.

The environment you work in is very important – providing for your focus, momentum, and creativity.

Stacking and Batching

Charlie makes the good point that it takes 16 minutes to refocus after being pulled from focus. There are some tricks he suggested, calling them stacking and batching.

Stacking = doing multiple things at once, when concentration is not required. The example here, while doing laundry, listen to an audiobook. While it seems like it’s multitasking, it’s not. Due to the less needs of the cognitive side of the brain, this becomes easy to do, riding the muscle memory train. Other examples: doing a meeting over a hike, exercising in the park while with the kids.

The second is batching – the example being that you set up admin blocks (described before) to check email, do your paperwork, etc. Batch them up together to tackle in one go around.

Reducing the dread-to-work ratio

Referencing the famous Mark Twain comment of eating a frog in the morning. Do it as early as possible, so that the rest of the day does not sap your creative and cognitive functions, while also decreasing the dread-to-work ratio of your day.

Dread is a function of time, meaning that if a chunk of work takes 5 minutes, it still takes 5 minutes. However, the ‘dread’ increases substantially with time. The longer it sits there, the more dread you’ve invested into the task. It’s the psychological size that haunts you more than the task at hand.

Charlie states that the time you dread the task itself, the distinction becomes blurred, to the point that the time you spend worrying or thinking about it could have spent doing other things. If possible, batch the frogs together.

However, not all frogs can be done early in the morning, as they may require focus blocks. There will always be frogs, it’s best to address them for what they are and set up some time to get them done.

5 / 10 / 15 split

This little time split reminds you to keep 5 projects at max, with 10 minutes for momentum planning before you start your day, and 15 minutes at the end of your day. This keeps you focused on the daily level.

Try to not plan too far out ahead, the example being you do not plan every gas break, stop light, and every other part of your travel if you are taking a car trip.

Chapter 9 – Build Daily Momentum

Make sure you celebrate small wins. Lean more on your success pack to help you identify wins.

Remember that great is the enemy of done. The more you care about the project, the less ‘done’ it can achieve.

Create a win journal and store small wins there. The more small wins you get, the more momentum it builds. The more small wins, the better the big win will become.

Create routines and habits that make it easier to build and maintain momentum.

Charlie also suggests leaving a ‘bread crumb’ trail, which will help you pick back up on projects when you leave them for a bit.

Charlie also addresses some tips you can use to avoid distractions:

  • Use dumb tech
  • Turn off notifications
  • Delete apps or remove capabilities
  • Lock yourself out – Mac has Cold Turkey blocker, for example
  • Create better defaults during transition periods to replace the distracting defaults you may have

Cascades, tarpits, and logjams

This is a nice mental model he shares – cascades are when one project gets behind, it cascades down. Tarpits are when you leave a project for so long, that when you come back to it, it’s stuck in a tar pit and hard to get out. Log jams are what happen when you have too many projects and they get jammed and stuck all at once. Avoid these by the 5 project rule, leaving bread crumbs, and planning appropriately.

Chapter 10 – Finish Strong

Know that by finsihing one project, you are not done. There is more work to be done. It never ends. However, when you finish one project, make sure you take a victory lap and celebrate the win. Lean into your success pack to help drive this.

CAT work

CAT = clean up, archive, trash

This is the process you take between projects to clean up any artifacts, archive all the things before, and trash what you no longer need. If you don’t do this between projects, you may waste time in the middle of a project doing these. That becomes a distraction.

After action reviews

In agile land, these are basically retrospections. Take time to ask the questions to improve later.

  • What went well?
  • What setbacks, challenges, or missteps did I experience?
  • What did I learn?
  • What habits, practices, or routines do I want to keep doing going forward?
  • Were there any especially important difference makers to the project?

However, one thing is important here. Finishing a best-work project unlocks new realities. Embrace them.

Knowledge Consumption Routine

less than a 1 minute read

I love having conversations with other people about reading. Topics in the realm of what they read, why they read, how much they read, where they read, and the habits of how they read. The amount of choices available to any person at any time are at an all time high and ever rising.

Knowledge itself is an enormous black hole – not in the sense that it’s pulling everything in to it, but that it’s ever growing and potentially endless. The amount of words written is expanding universal levels! OK, I’m getting way off topic of the point of this post. But.. Try and think for a second that everything that has been written by humans in their lifetime, some captured, some lost in time. The sheer amount of numbers is exponential.

That being said, I’ve recently taken the Sparketypes quiz from Jonathan Fields (came across while reading the book Start Finishing). Turns out, I’m a Maven and a Sage. Which for those unaware, a Maven is someone who loves learning for learning sake and a Sage is one who enjoys sharing and teaching others things.

So if all that there is to know is a black hole, I’m an scientist flying through space attempting to observe and learn it all while radioing back home the messages.


I wish I could find some way to calculate the amount of hours I consume reading on the internet, books, kindle, as well as audio based content.

I’m going to try and outline my reading habits in this quick little post in an attempt to shed some new ideas for others looking for a good reading routine.

I read and consume many bits of information:

  • Daily email newsletters
  • Internet blogs and articles
  • Physical books
  • Audible
  • E-books on my Kindle

Additionally, I have some habits in my reading that others have asked me about. I honestly cannot remember where I learned the habit of reading whenever I can. I think it was Bill Gates or someone who said they read when they’re in line, when they’re waiting for someone to meet up with, etc etc. That’s exactly the approach I go for. I try and read during:

  • The morning rise
  • The daily walk(s)
  • Throughout the day
  • Wrapping up the night
  • While I’m driving (audiobooks)
  • When I’m waiting for a friend to arrive, using my Kindle app
  • Sometimes during lunch (I keep my kindle with me at most times)
  • While I’m out for lunch or dinner
  • Literally any chance I can get when my brain is enaged

Now, I’ll try to outline my consumption of these mediums and habits!

The content mediums

Regularly Occurring Email Newsletters

I subscribe to a lot of interesting fellows in the psychology, self help, and other various ‘self-improvement’ email newsletters. I really enjoy some of their articles as brainstorming seeds and kicking off discovery of new ideas. I’ll estimate I spend anywhere from 5-10 minutes on either the post itself or links to other articles on the website.

  • Seth Godin – varies in length, great thoughts about anything in marketing, sales, psychology, and all around thought provoking material.
  • The Daily Stoic – daily writings of the stoicism philosophy, from Ryan Holiday’s interpretations.
  • Ryan Holiday’s newsletter – book recommendations from Ryan Holiday himself.
  • Mark Manson (Mondays) – spitballed content from Mark Manson’s email.
  • Nir Eyal – behavioral design newletter.
  • Daniel Pink – author of Drive, A Whole New Mind, and more – weekly content.
  • QBQ – from the author John G Miller, ideas about accountability.

Internet blogs and articles

I’d say I spend about 5-20 minutes sometimes longer, varying from available article content and the interest of content to me.

  • Hacker News posts – any that tickle my brain (it’s a lot)
  • Related professional topics in my work hours (software related, leadership articles, system design, etc)

Physical books

At anytime, I have a stack of about 2-3 books that I want to read. I get these from many sources, and right now, there is no rhyme or reason to my choosing of a physical book over an e-book.

How I choose the books is still a mystery to me. At the time of writing this, I have a few piled up on my bookshelf ready to be read; my queue consists of: Black Box Thinking, The Black Swan, Getting to Yes, and Aware.

I’ll usually ask for books for any gifts any want to give me as a go-to when someone asks what I’d like.


I walk my dog every morning. This time on the walk is some prime time for mindfulness as well as listening to some quality audiobook content. I’m a huge audible fan.

I love having some positive thoughts shared on my walk. As of late, it’s been focused on leadership, mindfulness, and philosophy. Nothing better than getting a day started with some positive thoughts filling up your subconscious, as our minds tend to absorb whatever is in the community consciousness. At the time of writing this, i’ve been listening to Stillness is the Key and The Art of Power.

E-books on my kindle

I just got a Kindle paperwhite as an upgrade from my very old Kindle 3rd Edition (the one with the keyboard). While at first skeptical, I’m now in love with my paperwhite. Not only does it have a nice back light – but it’s super portable to take in my back pocket to sneak out over lunch or when I get a free moment. I also have the app on my phone, which let’s me read when I’m in a waiting scenario, like at the doctors office, waiting in line, etc etc. I try to sneak as much reading on the go with my kindle, as well as when I’m stationary at home.

My reading routine

The morning rise

First off, I’ve moved my cell phone away from my bed side stand. I’ve replaced it with my old Kindle (3rd edition). This small habit change has me grabbing for my old kindle rather than diving into whatever my smart phone demands of me. This small trick instantly gets me in the mindset to read first.

I wake up and read the Seth Godin post first. I love that these daily emails provide insight into common day sales and marketing strategy and tactics. Additionally, I love that Seth Godin thinks of the human in us and aims to appeal to that side of us.

I then read the Daily Stoic post from Ryan Holiday. I love the constant reminder that we’re human, our time on this earth is temporary, and we will need to be kind to all. That and I’m a sucker for the stoicism philosophy in any form.

Finally, I go to my comfy recliner chair and read either my kindle or a book, whichever I’m into (Currently: “Start Finishing” on Kindle and “Black Box Thinking” in book form).

From here, I at get at least 15-30 minutes of reading time, pending more if I’m super interested in the book.

The daily walk(s)

Once the clock finally hits 8:30 AM or so, my little dog Amaya demands a walk. Great! Now I get some time to listen to my audio book while we go on our daily 1.5 mile walk. Sometimes more, sometimes less. Regardless, this gets me about 10 hours of listening a month. Audible also gives some other fun stats for listening – my minimum listening time was in November of this year, at 5h 52m. My maximum, oddly enough not due to the weather, is December with 20h 48m!

Throughout the day

While the day rolls along, I try to sneak in some reading time anyway I can. I might bust out my kindle over lunch while I’m at work. I might read a few internet articles / blogs / or whatever else I might find interesting throughout the day.

While I’m at work, I try to look up blog posts that are relevant either to leadership, management, programming, communication, or any other issue I am currently working through during my very dynamic days.

Wrapping up the night

Now that I’ve got my kindle next to my bedside stand – I try to grab a few minutes of reading while I’m jumping into bed. This small hack of removing my phone has given me one option – the kindle. I already struggle with insomnia and I’m finding that having the kindle there helps me read a bit and unwind. By this point, I need something to stop the constant sensory overload that the smart phone provides.

I might grab anywhere from 15-30 minutes at my night time reading routine.

Putting it all in perspective

Again, these numbers are mainly hail mary estimates.

Morning: 15m-30m (daily newsletter) + 30m-1h (book reading) + 50m (audible) = 1h 30m – 2h 20m

Day: 15m – 1h

Night: 15m – 30m

Coming to a guessed grand total for a minimum of 2 hours to a maximum of 3 hours and 50 minutes.

For just a small time investment, I can steal quite a good chunk of learning time. Since I’m being sucked into the knowledge black hole, I tend to lose track of times in my small reading habits. That’s OK by me though, since the constant reading habits help enforce knowledge retention since many books seem to cover similiar material, thus being stored to my long term storage!

2019 Retrospective

less than a 1 minute read

2019 has been a wild ride for me. It was a year of many things, filled of some first time experiences, humbling encounters, some character building sessions, some personal growth lessons, and most of all, tons of small improvements.

If I had to wrap up 2019 in one word, it would be: acceptance.

Why that word? First of all, perception and awareness must happen first before alternate actions can be suggested. Second being, once you can become aware of the facts, you must accept them. I have to admit, I struggle with acceptance. I am willing to embrace that the obstacle is the way forward.

Don’t get me wrong though, 2019 was a good year, I am very fortunate to be where I am today.

Let’s do the traditional retrospection of 2019 and then dive into the details a bit more.

Key learnings in 2019

  • Self development is like bathing – you have to do it everyday
  • Take more time for yourself to rest and see the forest from the trees
  • There is no easy to road to anything, you must do the work
  • How you see yourself truly is how others will see you

2019 – What went well

My company was acquired by Amazon

This news alone was huge for me. I had joined Canvas Technology in December of 2015. I had just parted ways working for Ionic. At the time, I really wanted to dive into another domain in the field of Computer Science. Lucky for me, there was an opening for Canvas Technology and I had joined when there was only a wooden cart prototype. Man, I got in early, and I was excited to be a part of the vision to come.

Fast forward 4 years later and we’re being acquired by one of the largest industrial robotic companies in the world. What an honor, one of which I was hopeful that our company could help push autonomous robotics forward with.

This acquisition was huge for me, it empowered me to pay off my dads loans, take my parents to London, pay off my cars, and has enabled a life for me which I had only dreamed of.

I’ve got to meet tons of intellectuals, highly skilled engineers, and all around amazing people at Amazon. The whole experience has been really humbling that a successful company like Amazon Robotics wanted to buy something I helped build.

As awesome as it’s been, I’ve had to accept that this is my new role. I’ve had to accept that I’m now a part of something bigger – something that is not just a little start up. I’ve had to accept to give up my legos. My strong sense of ownership now had to be passed off to new groups taking over my old domains. I’ve had to accept that I’m no longer in charge of my engineering teams. I’m accepting that I’m now stepping back into a single engineer position over managing multiple teams. It’s been hard, but it’s been fulfilling and necessary to force this growth cycle on me. I’m embracing it with my whole being.

I had an amazing trip to London with my parents

In July, my parents and I departed to the UK to visit one of my fathers friends from his youth, his old old soccer buddy, Khosrow. They had not seen each other in 20 or so years. The whole experience was so heart filling, relaxing, and very adventuresome.

I got to watch my father share stories of his home town in Iran. I got to hear his friend and my father discuss old Iranian culture, fun bits of experiences in their time, as well as meeting Khosrow’s very kind and wholesome family.

From this trip – Khosrow opened up to me like one who has embraced all avenues of life – the joys of building his own home in England, his sorrows of losing his dog, his horror of losing his best friend in England, and his scares of cancer. I could see the house he had built was put on pause – his reasoning was that the last year had taken a toll on him and he hadn’t had the will or energy to move on.

What this taught me – I must accept this same fate. We all must. The love of fate. Amor Fati. The acceptance to know that we all must die. Momento mori.

I saw myself in Khosrow – in that one day I will be in his position. I must accept that the time in the now is the only time I truly have. I must take it for all it is worth.

I began leading an amazing team at Amazon

While a year ago, I read the 5 Dysfunctions of a Team. At the time, our team was really struggling to get feature development done while we struggled to support the deployments we currently had. I decided that I could make a bigger impact with my engineering skills, and that getting a manager for the team I had built would help our velocity pick back up.

Post acquisition, the manager on the team wished to get back to product management, where he came from before. I decided from there on – I would do the best job I could at managing and leading the team. I put my management hat back on and forged forward.

What I struggled with the most here was that – while I can manage and lead a team, that is not my passion. While I believe that skills will trump passion, I had to accept that I’m a passion driven person. This is why I’ve always gone the route of start ups – because these kind of companies are truly guided by a passion to disrupt the world.

I incurred an injury

I love training jiu-jitsu. I enjoy the ultimate challenge it brings – in that there is always someone who is training more than you, who is more skilled than you, and the humbling that it forces upon you.

While training in May, I had a fellow training partner get me in an arm bar from the mount position – except this arm bar was different, he took my arm and pushed it towards my head. Immediately a loud snapping sound occurred. Following that, immense pain that seered from my arm to my fingers. I knew something was very wrong.

I did as one did – immediately went to a doctor to get it checked out. The ultra sound showed that my ulnar collateral ligament (UCL) had been torn. The Dr suggested that we could do platelette rich plasma (PRP) injections to speed up the healing. I wasn’t willing to accept that taking time off from training was the best thing for me, I wanted to speed it up. I paid the money and got the PRP injections.

Fast forward to the end of the year – I’m still dealing with some pain in my elbow, I get some odd popping sounds when I do a bicep curl, something is not right.

Again, that acceptance word – I had to accept that I had an injury I needed to nurse. I had to accept that I was not resting appropriately. I had to accept that taking time off, doing physical therapy, and getting back on the track was the best way to continue training until my old age. I also want to accept the mindset that I have an injury, I am not injured. That mindset is important.

Acceptance of fate

Amor Fati. I must appreciate that these experiences above are shaping me for a better version of myself.

I must accept, and embrace, that asking for help is not a sign of weakness. It is a sign of strength – knowing that you can evolve to the next level by learning from others. Isn’t that why we are all here?

The car you are driving, the coffee you are drinking, the heat that you feel in the bed you sleep in – those are all things that others have given their time to provide to you.

Accept the help. Embrace it. It will empower you if you let it.

Now, I’m looking forward to 2020 and the goals I am setting up to become an even better version of myself.

Why I Read

less than a 1 minute read

Let me ask you a quick question: if you know that reading is essential to certain parts of learning and growth, then you already know why you read, but is it deeper than that? Is it something engrained in our subconscious minds through hundreds if not thousands of years of evolution?

In today’s current society, the internet has enabled an entire species to read and listen on a global scale. Reading and listening is the de facto mechanism in which to share human knowledge to many generations past. There are endless amounts of digital content one can get through the medium of the internet. (I try and dive into that here)

NOTE: I’m going to bucket the ‘watch’ category into listen and/or read. People read tons of online junk anyway!

We know it in old caves as wall carvings and paintings. There is the knowledge those cavemen passed along to their tribe. The unfortunate thing about that was that only those who veered onto the wall could read the message. The other issue would be – whose cave was this, anyway?! (and what are these large dinosaurs?!) These messages might be wrong or have a different method of thinking than we currently do now. There’s no way to remediate the differences, since the author may not always be available for discussion.

The internet, in some sense, eased this burden by providing an infinite level of walls that tribes could erect mass cave paintings in the endless amount of caves.

However, the internet has also enabled another mystery to the human mind: the paradox of choice. How does one today pick what to absorb next? in the millions of physical books, digitial e-books (and scanned copies of ancients), audio books, journals, online journals, blogs, and the bucket category of ‘web pages’ out in the world?

“Learning to choose is hard. Learning to choose well is harder. And learning to choose well in a world of unlimited possibilities is harder still, perhaps too hard.” ― Barry Schwartz, The Paradox of Choice: Why More Is Less

Capturing the knowledge itself once found is a near impossible task, I’m not going to even touch on that topic because it’s thoroughly argued over enough on Hacker news. I’m going to attempt to share how I got to my filter to make reading an absolute enjoyable part of my life. Hop on over to my knowledge page, as I try to capture my knowledge sources there.

What isn’t clear to me as of late is ‘why’ I read what I read. I’m attempting to write this post to enlighten myself and others about this filter that occurs when I move on to my next book.

My Caves

The caves I absorb from now come from a variety of sources:

  • Email newsletters
  • Audible content
  • Kindle / E-books
  • Physical Books

Let’s dive into how I select each of these.

My filtering pattern

For the 2019 year, I wanted to aim for reading two books a month aimed at two topics: personal growth and professional acumen growth. Sometimes, the books would be both. Other times, it would be totally random. It just so happens that what I read for joy is also in lined with what I love: psychology – how the human mind works.

I chose these two topics because they are areas that I would like to strengthen a bit more.

When it comes to choosing email newsletters, I may easily follow the newsletters of authors that I’ve enjoyed reading their books. The first that come to mind are Seth Godin, Nir Eyal, Daniel Pink, and Ryan Holiday. Many of these authors share a common stereotype – sales, marketing, psychology, and connection with vulnerability.

I often joke that if I didn’t go the computer science route, I would have gone to neuroscience or psychology. I’m a hobbyist psychologist, with no patients who need my help.

Certainly hitting the ripe age of 35 has triggered me to think more about philosophy, the meaning of the world, the strive to end or defer suffering, and the ability to see the world anew.

I’ve driven into professional development – being a manager for the last year or so has given me a ‘eyes wide open’ view to the world of management. Most of my reading has been more than management though – it’s more on leadership. However, I know and understand that the best managers are the best leaders.

When I go to pick the next book, I apply the following pattern:

  • Look for the latest area of researchers in the domain.
  • Look for the oldest area of researchers in the domain.
  • Look at any book references that came about in the last book I read. (Many times the references are where the author pulled some of her knowledge from, so that’s another great source.)
  • I keep a rolling list of reads that may be interesting – either from emails, books references from TED or Ignite talks, and more.

Some examples of this pattern:

“Well Geez, Josh. I seem to be ultra distracted lately and not being able to finish anything. What does the research say on this?”

I then look up books in the focus domain. I find a few: Indistractable, Get out of your own way, The art of communicating, The art of thinking clearly, The Organized Mind, and Atomic Habits. These all seem like good reads. What knowledge sources did these authors pull from? Are there any TED talks about this? Do these speakers have any references or leads they throw out in the talk? What about friends recommmendations? Who is the most focused person I know? What suggestions do they have on the topic, or leads, or books, etc?

Certainly there is more to the pattern than what I posted above, but that’s my first stab at trying to understand my pattern.

Once I’ve decided what to read, I then decide on the medium.

Audible vs reading

When I choose a book, I think of which medium will be best to absorb it. Mainly I turn to kindle these days, because it can go with me everywhere. If a subject is interesting enough that I want to absorb it throughout the day, then Kindle is the de facto choice.

However, sometimes I will choose audible over reading because I want to absorb it while I’m walking, driving, or have some free time doing chores around the house.

The key here is – can I absorb this content while using my hands – or do I want to absorb it fully? When it comes to physical vs kindle, I mainly go kindle due to the accessibility. However, if someone is asking me for a gift, I ask for physical!

But, why?

Why such the obsession with the human mind? In this world of a growing number of human mind and intelligence, I want to know what drives people. Certainly, there is the book Drive, but I’m not concerned with the drive that people have in the competitive world of business. But rather, why do people do what they do? What is the engine in their minds and hearts and what fuel is driving it?

Recently, I took one of the many online quizes and learning that I’m a Maven type. This seemed to align with my intuition, which makes a ton of sense to my obsessions with learning for learning sake.

But still.. What am I looking to learn? I lean an ear towards psychology, philosophy, science, and technology. Why?

If I had another life to live (which I know is not reality), I would spend that life hopefully learning all the things I didn’t learn the first time around.

If I absolutely had to put a reasoning to my thirst for knowledge, it would be this:

I have a deep joy of learning. It’s the true lesson that I learned from college. (Paul Graham also wrote an essay on this). I have a deep fear about not knowing. I’m not content with the ‘it is what it is’ phrase. In the last year though, I’ve tried to change that phrase to be ‘I accept it for how it is’ – but not until learning why. Once I can learn every 1% of the why, I am more willing to accept the why.

Yet, I’ve still not found the answer to what lies in the heart of man to drive the decisions he makes. Maslow’s hierarchy of needs surely comes close to these ideals, but are those same motiviations still in tact today the same as when Maslow thought up the idea in 1943?

Certainly most parts of this world still seek the bottom layers of Maslow’s needs, but what about the higher levels today in the first world?

Maybe I’ll never learn why I read what I read. Certainly writing this post hasn’t lead me any closer to understand my own drive, so what chance do I have in getting closer to understanding others? I guess I will have to accept that asking one person and their answer must suffice.

The last bit I will sketch out is that in today’s day and age, we know and understand that the subconscious mind drives us – like the rider on the elephant, it goes where it will go no matter the tugging and please from the riders. Even asking someone their drives will still not reveal their elephants desires, because they themselves do not know it.

Closing notes

As per the book, Psycho Cybernetics, it is our own self-image that we seek to align with our actions. Perhaps my self-image is one that I am a seeker of knowledge, no matter the effort or cost. Surely, the Sparketypes quiz I took that states I’m a maven lines up with that self-image. Even if the quiz was a placebo to enhance this self-image, I’m taking it.

I’ll continue to read to absorb as much knowledge as I can, and attempt to write as much as I can to help share this knowledge. All for the sake of knowledge.

Take Action Now

less than a 1 minute read

I feel that there is a lot of things I can say about the world today. First, there is a lot of bullcrap that we churn through in our minds. You know the sort that I’m talking about – the self deception. The thought that I’m going places, without taking the action to take those steps to start that path. Those new years resolutions. Those goals that you write down, but do not get action items defined and set up on the calendar. Those same action items you don’t check in on from time to time. Things that we tell ourselves that we’ll get to tomorrow. We rarely do. We think in terms of intentions – and judging ourselves retroactively based on those intentions rather than the actions.

Our actions become who we are. This much is true by everyone. Most people carry a picture of themselves in their mind that they think they are. In those that really are that person of action, rarely spend time thinking of what they should be doing. They are currently working towards being what they should be, instead of thinking of it. “A good plan, violently executed now, is better than a perfect plan next week.” – George Patton.

They used to call George Patton – old blood and guts. Here’s his thoughts on embracing your part to play, regardless of the role:

“All of the real heroes are not storybook combat fighters, either. Every single man in this Army plays a vital role … . Don’t ever think that your job is unimportant. Every man has a job to do and he must do it. Every man is a vital link in the great chain.”

This same mindset exists in today’s day and age. We all have a crucial role to play in the world of hate. We must lay steadfast in our power in the world. Strive the be the best at what you do. We all pay our part back to mankind. When we embrace what our purpose is – and strive to better in that department – we make the world a better place.

When you find yourself becoming paralyzed by needing a perfect plan, remember: you came here to serve, to take action, to think through a plan, and to execute. Don’t get hung up on the plan phase too long or you won’t get to play your part. Only your actions echo through time.

Here’s a trick to take action sooner – if you’re starting a new project or path, think of a few things that you have done already towards that goal.

For example, when setting a weight loss goal: “I want to get down to 185”. You could tell yourself, “I’m at 205, down from 220. I’m already down 20%”.

Citing some psychology tricks I’ve pulled from the book, “Switch: How to change things when change is hard”. This book tells a story about sales tactics – one store gives customers a ‘buy 8, get one free card’. Another store gives customers ‘buy 10, get one free’, but they give the first 2 items starting off the bat. The second store sees an 80% return in customers. The psychology here is, they’ve gotten started, the momentum is there.

Remember, physics always wins. Momentum exists in our mind, overcome that by using the gravity of starting conditions to help it along.

Keep a calendar to keep momentum going. Put an ‘X’ on the date to remind yourself of the building momentum. Once it starts, it will be harder to stop.

Take action now. Get started. That starting momentum can carry you along.

Continuous Delivery - Book Review

less than a 1 minute read

I’m still diving into the Continuous Delivery book. I wanted to sketch out some (very) sparse notes in an attempt to retain the material.

Chapter 1

Common release Anti-patterns

  • Deploying software manually
  • Deploying to a production-like environment only after Development is complete
  • Manual configuration management of production environments

Stages of a deployment pipeline

  • The commit stage – compile, unit test, analysis, build installers
  • Automated acceptance testing
  • Automated capacity testing
  • Manual testing – showcases, exploratory, testing
  • Release

Deploying to a production-like environment only after Development is complete


  • Ensure teams are working towards production type releases on a regular cadence, not in extended periods of time.
  • Manual configurations cause issues – work towards trying to automate those portions.
  • Scripts to do the deployments are better than manual steps written up. Documentation goes out of date, requires extra effort to keep alignment.
  • Need tighter collaboration between development and deployment teams.
  • Deploying to staging faster (where environments are closer to production) helps uncover issues, bind the dev/ops teams, and drives fixes to deployments faster.
  • The bigger diff between deployment and production environments


  • Rehearse deployments to a staging or production-like environment several times before actually going to production.
  • Make sure everyone who is doing the deployments are working together on the deployments from the start of the project.
  • Make the cornerstone of deployment a means of testing both software and deployments throughout the process.

Manual configuration management of production environments

Signs of this anti-pattern

  • Having deployed successfully to many times to staging, the deployment to production fails.
  • The operations teams take longer to prepare an environment for a release.
  • You cannot step back to a prior configuration of your system.
  • Servers in the operating environments, unintentionally, have different versions of operating systems, third-party infrastructure, libraries, or patch levels.
  • Configuration of the system is carried out by modifying the configuration directly on production systems.


  • All aspects of testing, staging, and production specifically the configuration of any third-party elements of the system should be applied from version control through an automated process.
  • The only way to make changes to production should be done through an automated process.
  • Make it possible to see at a glance what the currently released version of every piece of software is.
  • Make releases boring – to the point where they are cheap, low-risk, frequent, rapid, and predictable.

How to achieve these solutions?

  • Automate – make it repeatable without failure.
  • Frequent – make deltas between releases smaller to reduce risk and get immediate feedback.

Three criteria to make feedback to be useful: * Any change, whatever kind, needs to trigger the feedback process. * The feedback must be delivered as soon as possible. * The delivery team must receive feedback and then act on it.

How to get this feedback?

Working software decomposed into 4 components:

  • Executable code
  • Configuration
  • Host environment
  • Data

You should aim to have the executable code to be reused everywhere it is needed and never rebuilt.

Any change to an applications configuration, in whichever environment, should be tested with a representative range of the example systems.

If the environments are to changed, the whole system should be tested with the changes to the environment.

Finally, if the structure of the data changes, the change must also be tested.

The authors mention a few simple feedback checks:

  • The software should fulfill certain requirements such as test coverage and other technology-specific metrics.
  • The software’s functional acceptance tests must pass. This is a test on the business acceptance criteria.
  • The software’s nonfunctional tests must pass – in regards to capacity, availability, security, and so on to meet it’s users needs.

Another key point the authors bring up that implementing a deployment pipeline is resource-intensive, especially once you have a comprehensive automated test suite. One of the key objectives is to optimize for human resource usage: we want to free the people to do the interesting work and leave repetition to machines.

The authors suggest to aim for 75% or so of the codebase.

Breaking down the steps of the pipeline

If tests fail in the early stages of the pipeline, they should not advance. We should aim to build a high confidence in the software in the first set of tests.

Random notes:

CH1 – author recommends to get cross-functional groups all along the process. Also aim to have retrospections with the entire crew of developers, infra/operations, and testing

Being able to react to feedback also means broadcasting information. Using big, visible dashboards and other notification mechanisms. Also aim to make one is present in each team room.

Feedback is no good unless it is acted on.

Authors make a point here that by giving more of the pull/self-service model, you can increase velocity: * Testers can select older versions of software to test with * Support staff can deploy a released version into an environment to reproduce a defect. * Operations staff can select a known good build to deploy into production as part of disaster recovery * Releases can happen at a push of a button.

Note here applying to work: * In each PR, it should address: * Change in code * Change in configuration (if any) * Change in host environment (if any) * Change in structures of data

Clean Architecture - Book Review

less than a 1 minute read

I’ve recently read and held a nerd book club at work regarding Clean Architecture. Overall, I found this read easy to grok and entertain a few new ideas about software development. Uncle Bob also had a few things on his blog post about this topic.

If I could wrap up one picture that encompases the book:

This image

I’ve also recently read parts of Domain Driven Design that introduce this same concept. I think Uncle Bob does a great job of sharing some great examples of the book of how architecture is an art, one that can morph with the needs of the project at hand, and is subject to trade-offs through the entire lifecycle of software. I love that the book starts off expressing the idea that thinking of delivery early on is a wise decision to incorporate into the architecture design.

Some other great points I found worthy of mention:

  • How to think of the division of software with regards to firmware and hardware abstraction layers.
  • Most things are details – the framework, the database, the GUI, firmware – keep it separated from the internal domain layers of your business logic however possible.
  • SOLID Principles are important – also integrate into architecture design.
  • Architecture design with traditional monolith, service oriented, and micro-service anti-pattern warnings.
  • The idea that there is no silver bullet – A good developer is like a werewolf: afraid of silver bullets

This book club also gave the team some time to reflect and dive into the design of our current projects. Overall, this was a great book for a team to cover and come up with some action items to drive better software going forward.