I agree with you completely. I am self taught. I started as a child from books like this and also the help files in qbasic.
Ever since those days any time I'm learning a new framework or language I turn auto complete off. If I find good code snippets, I retype them and usually refactor them completely.
Although it takes me a bit longer to ramp up, i feel this has lead to me being a very good engineer and has given me a deeper understanding of many techniques and has helped me commit many things to memory. At this point adapting to new languages and being productive in them only takes me a few months.
Yup, I feel the same way with unpacking a tar file. Rather than just copy/paste the answer I see on SO, I explicitly retype it to that I learn the syntax.
Ever since those days any time I'm learning a new framework or language I turn auto complete off. If I find good code snippets, I retype them and usually refactor them completely.
Although it takes me a bit longer to ramp up, i feel this has lead to me being a very good engineer and has given me a deeper understanding of many techniques and has helped me commit many things to memory. At this point adapting to new languages and being productive in them only takes me a few months.