This. Becoming a software developer takes an enormous amount of tenacity and patience, and willingness to dive into things you'd rather not dive into.
Someone following a pre-baked tutorial is probably not confronted with arcane showstoppers which require elaborate workarounds or debugging lower levels of logic. I have seen quite some people start a programming tutorial and wishing to become a 'coder', but then hit some brick wall the moment they had to leave the path that was set out for them. Not knowing how to proceed, they eventually shrug and give up, possibly sooner than later. This tendency to give up early is less likely if you arrive to programming from the bottom-up, for example, via electronics engineering. I suspect this has something to do with the expectation that hardware should behave deterministic.