Notes on growth mindset rich vs poor mindset Traits of Successful Software Developers books problem solve techniques