Hey Kamil,
I very much enjoyed reading this. Articles like this are unfortunately often mocked and its contents and arguments are distorted.
Indeed I feel like people tend to believe that the way of going about learning things is trying to use certain snippets, examples and prebuilt projects and “squeeze” what they’re searching for out of those. Conceptually it seems that it’s very easy in our daily job to confuse a sandbox-like approach, of trying stuff out with a “copypasta” approach.
But at the same time I’d remark that oftentimes we do learn certain ways of approaching a problem by looking at such examples. It’s — like a lot of issues — not at all black and white, also because everyone has different preferences of learning.
Of course you can learn a lot of things quicker by reading about the underlying concepts and ideas. That’s why books and articles are written and they sometimes even connect their knowledge with examples to hint at the right patterns that we have to look at.
So, often me as a developer, I like to try both when learning new concepts: -
- Read articles about these concepts and the ideas that made them; and
- Look at actual usages
The only way of getting this wrong is jumping into full fledged projects and using the newly learned concepts before we grasped them. But also a full fledged project can at the same time be the perfect sandbox — If you know which part of the project is actually ready and which isn’t.
So I’d actually suggest “Learn slowly, take your time and don’t be afraid to fool around— But know when you’re ready to get going”.
And I think many people will criticise you for this post, not because you’ve got a very polarising opinion, but because you’re very direct about it and condemn certain approaches. So if you want to not receive negative criticism and feedback, maybe the better thing to do is write more positive remarks about the topic ;)
Cheers