Book by James Clear.

1. Core ideas

You need to know who you want to become, what system you want to build for yourself, not what goals you want to achieve.

2. Four laws to create a good habit:

  1. Make it Obvious
  2. Make it Attractive
  3. Make it Easy
  4. Make it Satisfying

3. Four laws to break a bad habit:

Do the opposite of the laws to create a good habit

  1. Make it Invisible
  2. Make it Unattractive
  3. Make it Difficult
  4. Make it Unsatisfying

4. Self-control

Self-control is a short-term strategy, not a long-term one.

You may be able to resist temptation once or twice, but it’s unlikely you can muster the willpower to override your desires every time. Instead of summoning a new dose of willpower whenever you want to do the right thing, your energy would be better spent optimizing your environment.

5. My thoughts

I think building atomic habits is just like writing unit tests and running them. Once you get your habits locked in you essentially run them everywhere and anywhere.

Just like these unit tests determining the correctness of your software, it is these habits that determine the correctness of your own system. The more good "tests" you have the easier it is to maintain yourself and add in new thoughts to yourself. Occasionally you would delete or update some tests because your system requirements have changed, but that's ok.

You would never build a bug-free software even with all the tests your write, just like you yourself would never become a perfect human being even with all the good atomic habits you possess. But we can always have a good-enough software that works fine and continue improving it by adding more functionalities and more tests. We call this process Continuous Integration and Continuous Delivery.

If we borrow and apply this concept to our life, it's actually the same thing. While maintaining our current functionalities, we can continuously improve ourselves by making small changes. Although maybe invisible at first sight, if the process is long enough (I'd say 6 months to a year), we will suddenly realise we've created a better version of ourselves by simply making small changes over time and didn't make any drastic changes that would take a great amount of effort to achieve and could potentially send a confusing or even alarming signal to the world around us (like a major refactor in software development).