As someone with 30+ years of programming, engineering and systems engineering experience, this is a prett good list.
I would emphasis that #1 applies in #4, 5, and 6, and some are recursive. Whether you are trying to install an electrical socket, fix your dishwasher or write a software application, break the problem down. Some tasks maybe you can't do yourself. Breaking the challenge down into parts will help you identify them. Do the easy parts first. Try to copy working code for the parts you can't yet master alone, or subcontract them.
Finally I would add #8 Don't be afraid to MAKE mistakes, just don't repeat them. We're human. We err. But a professional documents her/his work, and doesn't make the same mistake over and over.