|
What I think is missing from most of these discussions is an acknowledgement that people, in general (including developers), learn differently. In this context : you're either comfortable not knowing, or you're not. What I mean by this : some of us are comfortable not knowing how X system works (temporarily, of course). Some of us can start building things with a web framework and gradually gain understanding from the top down. This is OK. However, others (and I include myself in this camp), are completionists. Abstraction is an annoyance, and not knowing is like an itch that needs to be scratched. For such people, having significant gaps in understanding a system model is a real problem. Super duper high levels of abstraction is a real problem. Different people, different learning styles. For any beginner in any field, it's important to acknowledge how you learn best and then pick a learning strategy that's compatible. |
I found it very true that different people learn in different way from my effort on sharing the details of programming and math with fellow co-worker and interns too.
Try make 30 people grab the same details (programming/details) and you will learn a lot about what you teach about and also on how people learn.
When i understand that, i ultimately understand the reason why there is so much debate and on going discussion about some particular details: much of our confusion were caused by lost of context in communication.
[edit: typo]