Follow

@hansw (Sorry this is a bit long!) I'll take a stab at this one. I used to be a TA for various courses, and I believe this lack of adventurous behavior stems from a combination of inexperience, a lack of knowledge, and a dash of learned helplessness.

1. Many first time programmers are unaware of what disastrous effect poorly implemented code may have on their machine, due to a lack of understanding what the compiler does and how most of them try to sandbox your machine from exploding if you inappropriately modify some memory. In nearly all cases, nothing bad will happen, but they are fearful of potentially negative outcomes. Experience helps assuage this fear.

2. I think they believe that learning via experience is less efficient and would rather ask and receive an answer than attempt to experiment themselves. This effect is also compounded by poor or unclear documentation. Thus, the "stack overflow will solve all my problems" mentality.

3. They haven't been in a situation with an esoteric use-case where they had to literally hack together a crap solution themselves, since they couldn't get a response.

I think once most programmers cross these hurdles, particularly the last one, they become much more comfortable with "throwing things at the wall to see what sticks". I tried to encourage my students to fail as fast as possible to reach this point of adventurous experimentation compared to the more tentative, helpless behavior.

Sign in to participate in the conversation
CleverLibre Social

CleverLibre Social is an inclusive social instance for open discussion, learning, and community.
All cultures welcome.
Hate speech and harassment strictly forbidden.