Unpopular opinion here probably but:
Tinkering is also a great habit to be disappointed and unhappy.
I love software and programming, but the apologetic requirements that can come from users mean adding a lot of complexity to software, that leads to many bugs and very slow programs. Everything has a cost attached.