IMHO, before all that, programming is admitting before yourself that you are very often wrong (either when coming up with a usable mental model or when applying that mental model or when observing the unforeseen effects).
It's the first leap and as you make it you can manage the emotions and the growth will happen.
It's the first leap and as you make it you can manage the emotions and the growth will happen.