I know it's not your argument as such, but I still don't really buy it.
I would wager that every engineer gets started by following recipes. I started by copying code from books and magazines into QBasic with no idea what I was doing. I started web development by gluing together magic bits of Javascript that did god-knows-what. I don't recall being encourages to understand how these tools worked under the hood.
But that's just the start; once someone is familiar with the parts (and importantly, can make something do an interesting thing quickly) then they can start making changes to that recipe, and in time writing their own.
I would wager that every engineer gets started by following recipes. I started by copying code from books and magazines into QBasic with no idea what I was doing. I started web development by gluing together magic bits of Javascript that did god-knows-what. I don't recall being encourages to understand how these tools worked under the hood.
But that's just the start; once someone is familiar with the parts (and importantly, can make something do an interesting thing quickly) then they can start making changes to that recipe, and in time writing their own.