Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

General Discussion

John Curry
John Curry
7,017 Points

Why are programmers so bad at teaching???

I swear I am not stupid, but I can't help but feel like an idiot after reading "answers" to my programming problems when most answers leave me confused. It happens almost every day. i find an answer and have to look for another answer to help me figure out how to apply the original answer because the guy writing the article or StackOverflow response does such a crappy job explaining or he assumes you know how to do what he told you to do. sometimes it gets 3 or 4 levels deep and i get lost. Am I the only one who has this issue?

even Documentation is difficult to comprehend most of the time.

You're definitely not stupid. -- And to be clear about someone below who posted the notion that programmers have become so expert, that they try to explain things as minimally and as effectively as possible, that's not what John is saying, nor does that refute the idea that programmers are bad teachers. It emboldens it though.

The basic problem is: Programmers that teach programming, are not expert learners/teachers. To teach, you have to understand both teaching and learning, and actually, that means you have to understand the human brain, how the brain learns.

You have to be conscious of what's called "the curse of knowledge," a psychological term that describes the idea (that John is eluding to) that when you know something in such an ingrained manner, you assume that everyone else knows it the way you do. That's because it's almost impossible for people to think about what it's like to not know the thing they're talking about. It comes so natural to them at the time. They have millions of neurons and brain pathways (neural pathways) built up, comprising that information.

So yes, programmers on Treehouse, and most other code learning platforms, execute the curse of knowledge, basically do not explain much of what they're doing (especially in these video tutorials), and don't seem to be conscious of that.

Most of these platforms go wrong in this arena, because they're trying to make tutorials succinct and short. It has to be efficient in their minds.. like they're writing a program, when teaching. And that's 100% the problem.

-- also -- note: It's quite ridiculous to just say.. "yea, the things you don't understand, you have to go learn."

Negative. If this is a platform where people with no experience can come and learn programming, everything should be explained. The WORST thing you can do is set up an environment that confuses people, and doesn't fully explain every detail.

I'm the CEO of a national iOS device services company, and as an example, my "todo list," looks like a super complex calculus problem. I detail EVERYTHING, and it's the only way I fully understand everything, and am able to make my company grow. Vagueness kills definition. And definition is how people really learn.

3 Answers

Most of the people teaching are engineers and I would assume many have been writing code for a long time so things that might seem difficult to us are very easy to comprehend for them. I used to be a TEFL teacher and one of the difficulties was explaining the structures of grammar to a kid from Japan or Taiwan. It wasnt in their nature to understand because they came from a non romance language background. Fast forward to a few years ago and Im an Accounting Tutor at a major University. From studying the CPA it was really hard to teach the basics because everything in my head was advanced material. Now making another career change I feel at times the same way you do, however from being on the other side of the isle, the saying goes no question is a stupid question. Try to break things down and keep asking till you understand. I have no problem looking dumb or feeling dumb as long as I get the answer Im looking for. Programming isnt supposed to be easy, if it were everyone would do it and the starting jobs would pay $7.50 an hour as opposed to $75K starting. In other words, just keep asking, and dont get frustrated.

you taught a Japanese student?!! What're they like? I'm planning to study in Japan

funny and light hearted...they dont take learning English very seriously though...at least the ones I taught.

lol just as i expected :)

Jah Chaisang
Jah Chaisang
7,157 Points

Hey, I'm in the exact same boat. I think you probably do what I do, which is to search, search, search, and search some more, get several opinions on the problem you are facing until you get it. Sometimes this is good, because I was forced to understand the underlying issues, instead of just follow step-by-step instruction.

And the documentation! Seriously! I program MATLAB for 8 years. Definitely spoiled by the level of details they put in the documentation. But because you pay heavy price for the license, they gotta deliver. For most open-source, forget it. Programmers like to code, not so much to write, esp. if they do it for free. Perhaps, users, like you and me, if we see that something can be improved, we should contribute (if the documentation is wiki-like). I want to do that more in the future.

Hey John,

I don't think coders/programmers/engineers are bad at teaching, i think the problem is that there's usually several ways to solve a problem. I've noticed that a beginner that knows the answer will show you the long/novice way to understanding the solution while an expert or advance person will teach you the short/advance solution. Like Jah said you just have to search search and search some more and get different opinions to the same problem, so you can see how different each solution might be for the same problem.