Hacker News new | ask | show | jobs
by petercooper 3050 days ago
Programmers have to remember a vast amount of domain knowledge.

It's even more elementary than that, I think. I've encountered lots of intelligent people who lack any sort of diagnostics skills - absolutely essential for being a programmer.

Things like.. the landline is broken. Well, then, get another phone, plug it in and see if it works. If it does, then it's the phone we need to look at, if it doesn't, we need to move further up the line.

It frequently boggles my mind how many people struggle with simple elimination, experimentation, and narrowing down to resolve problems, and I'm not sure such people could become developers without this ability.

2 comments

That's learnable. For example, military forces teach enlisted people with varying levels of skills how diagnose systems, and it works.
I disagree. It may be possible to teach a monkey to perform X. But can you teach a monkey to teach another monkey to perform X? EDIT: no implied insult there.
You can disagree but you would be wrong. I have personally taught people to diagnose and repair systems. Many others have as well.

There are are also formalized methods of teaching how diagnostics. And training on how to teach it. So yes, you can teach a monkey how to teach another monkey to do X.

Not if X is problem solving, which is what I was getting at really. For example, you could teach a monkey to teach X to another monkey, but what if the other monkey did not consume the learned material. Then the teacher monkey would not be able to adapt to still achieve the goal of teaching the student monkey. What you say works, assuming what is being taught is simple, and there is no feedback from the monkey that is being taught to teacher monkey.

That feedback loop from student to teacher, is similar to a problem that you tried to fix, and it still doesn't work. You then need to adapt, just as the teacher monkey would need to when the student monkey did not understand what was being taught. How you adapt to the input from that feedback can not be taught, because the particular feedback that one will receive in the future cannot be predicated (for complex troubleshooting etc).

Sorry for bad monkey examples. :)

This is so true. In my job, it's the problem solving ability that is valued. Not the innate knowledge of tools etc that we use to solve the problems, however that is, off course, required also.