7 ms·
In my experience, it's close to impossible (or maybe even totally impossible) to get the basics across. I have been trying with many non-programmers for years a
by loxs 7y ago
In my experience, it's close to impossible (or maybe even totally impossible) to get the basics across. I have been trying with many non-programmers for years and I have followed many people who tried to become programmers.
At this point I think it's probably a matter of "you either have it, or you don't". All of the people who succeeded "already knew" how to program, before I even showed them, or they never managed to learn.
And my experience is even with people who actually did manage to secure a programming job. In my opinion they still don't know the basics - they blindly follow "procedures" and mostly do copy/paste programming, without being able to grok the idea and why these things work the way they do..
- vorpalhex 7y agoThe truth is what many of us consider to be basics - big O notation, b-trees, so on are not really needed by the average programmer. They might be useful (I get use from them) but they're not necessary. Likewise, getting into intimate discussions on file encoding or strings in memory just isn't going to be retained by someone whose major interaction with a computer is facebook. Focus on practical tasks, but take time to explain what code is doing in plain english. If you've done rubber duck debugging, you're aiming for that level of simplicity in your explanation. Avoid technical words, use simple metaphors and generally avoid the history lessons. Once you establish a baseline of skill in the developing programmer, swap the roles - have them explain their code to you.
- loxs 7y agoI'm not even talking about big O or algorithms & data structures. I'm talking about the basic concepts of function, iteration, abstraction, indirection etc.
- vorpalhex 7y agoYeah those are definitely things that new programmers need to learn, but they usually need to learn them by doing things the hard way a few times first. "yeah, that's a lot of copy and pasting isn't it? Want a neat trick to save yourself some effort?"