the coming generation of programmers

I know that I’m raising a controversial topic here, but I am seriously worried about the upcoming generation of programmers.

I am noticing an increasing number of “I want to make x – where can I find a tutorial?” posts across the programming subs I am subscribed to.

This question is wrong in so many places that one can only be worried.

If you want to make x, just try it. Don’t look for a tutorial, analyze what you need, find and read the documentation and try to build it.

An essential skill of a programmer is creativity. A programmer needs the ability to solve problems by themselves, not by finding tutorials. -/u/aqua_regis

I immediately thought of Phil Daro and his talk, Against “Answer Getting”

American classrooms, even our best teachers, their goal is to teach the kids how to get the answer to today’s problem.

It’s a well known issue with the teaching of mathematics in the United States that students are encouraged to simply learn the steps necessary to get a correct answer, rather than to try to develop a deep understanding of the subject and of the problem solving process. It’s sad that learners would approach programming with the same mindset.

Reading the full comments, it’s clear that there’s a lot of controversy surrounding this sentiment. There’s a lot of defense of tutorials as a way for beginners to both end up with a product they can be proud of, and to learn the basics of programming without becoming frustrated. And I agree with those thoughts completely.

In the work of teaching there can be the same all-or-nothing thinking. Students either need constant, explicit instruction so we can be sure they’re learning correctly, or they need constant, problem-based learning because it’s the only way to develop 21st century skills.

What most fair minded people realize is that when we’re learning something new we need both. We need the guidance of an expert when we enter new territory, otherwise we wouldn’t even know where to start. But at some point the training wheels need to come off, and we need opportunities to take complex problems apart and use what we know or can find to solve them.

I’ve made extensive use of tutorials. But for me, it’s not fun to just follow directions, and I don’t think that’s the real work or mathematics or programming. So my advice to anyone learning programming; you don’t have to throw yourself right off the deep end. If you want to watch over someone else’s shoulder and have a little help at first it’s fine. Just make sure that eventually you doggy paddle your way out over your head.

Advertisements
the coming generation of programmers

One thought on “the coming generation of programmers

  1. Eric,
    I found your site because I was curious to contact you after seeing your request to join the LinkedIn group for the NEK Collaborative – which I manage. I’ve worked doing part-time tech support in local schools for most of the 17+ years I’ve been living in Vermont (moved from Delaware in 1998), and see you’ve worked in schools until recently. I’ve done web work, which seems to be your current primary occupation.
    This post is on programming. I wrote my first computer program in 1965 (now over 50! years ago), using Intercom 500 (a proto-assembly language) on a Bendix G-15 computer (had vacuum tubes and a rotating drum for its main memory). I’ve used many languages that are now ancient and rarely, if every, used. One of the most elegant is/was APL, an extended mathematical notation that made things like matrix operations extremely simple and terse.
    I agree with you wholeheartedly on the value of self-exploration AND of expert guides. I’d also note the value of both of these in ways well beyond programming and other technical skills – e.g., self-development.

    Like

Would love to hear from you:

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s