Swizec Teller - a geek with a hatswizec.com

    Freelance teaching is great, or why C/Java/etc. are horrible teaching tools

    • Main Building

      Image via Wikipedia

    Seriously why aren't there more teachers in the world? What a bunch of charlatans.

    But I'm getting ahead of myself in this story.

    Last week I was doing a lot of freelancing as a teacher and instructor in the dark arts of programming. There was this kid who desperately wanted to get a passing grade on a test this Wednesday. And there was this guy with a hat who has never in his life done any teaching and has spent all his life adamantly convinced he's got no patience of such things. But he could do with some money in his pockets.

    So the story begins. We had a three hour session almost every day and an even better reward than the easiest lump of money I ever made, was the fact that kid suggested, and seriously meant it, that I should think about becoming a teacher when I "grow up". It was truly quite marvelous.

    And all I did was explain some basic things to him and make him think.

    Which brings us to the next question. Why was it that this poor bastard who has spent almost a year at the hands of professional teachers even needed someone to explain to him how a for loop works? How to distill an algorithm out of a problem description? How to ... stuff?

    I mean, seriously. What the hell!?

    They trouble these young dudes with details like variable types, function prototypes and the fact that this thing called Dev-C needs a System("PAUSE") at the end.

    All the while they don't even understand that a variable will just keep its value and that this (and loops) is the basic principle behind everything a computer does and that you can change the way a computer does something by tweaking values in variables.

    Pretty pathetic if you ask me.

    When I was a little dude in that kid's shoes I hated flowcharts and I hated everything to do with real programming. All I wanted to do was pump out functioning code. But the thing is, far before that there was somebody to instill The Way a Programmer Thinks in my head. I already knew most of the basic stuff.

    But for those who don't understand thinking like a programmer. Who can't empathise with a computer. They need a different learning method and schools and universities (at least around here) are horrible when it comes to that. All they ever do at school is try teaching you languages before you even learn how to talk.

    Ever tried speaking a foreign language right out of the dictionary?

    That's how people try to teach you programming these days.

    It sucks and it's got to change.

    Personally I think pupils should be taught to do nothing but programming for at least a year when they start. Then, maybe, they could start getting into coding.

    Reblog this post [with Zemanta]

    Did you enjoy this article?

    Published on May 3rd, 2010 in Education, food for thought, Language, Learning, life, Teacher, Uncategorized,

    Learned something new?
    Read more Software Engineering Lessons from Production

    I write articles with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.

    Subscribe below 👇

    Software Engineering Lessons from Production

    Join Swizec's Newsletter and get insightful emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.

    "Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"

    ~ Ashish Kumar

    Join 15,883+ engineers learning lessons from my "raw and honest from the heart" emails.

    ⭐️⭐️⭐️⭐️✨
    4.5 stars average rating

    Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.

    Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.

    Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help 👉 swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.

    Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers 👉 ServerlessHandbook.dev

    Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization

    Want to get my best emails on JavaScript, React, Serverless, Fullstack Web, or Indie Hacking? Check out swizec.com/collections

    Want to brush up on modern JavaScript syntax? Check out my interactive cheatsheet: es6cheatsheet.com

    Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog

    Want to brush up on your modern JavaScript syntax? Check out my interactive cheatsheet: es6cheatsheet.com

    By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️

    Created by Swizec with ❤️