He doesn't know in full detail why he has to talk to these other things the way he does; he just memorizes a great deal of API details which are neither arbitrary not clearly self-evident, and trusts that the hardware designers knew what they were doing.
I don't think knowing the API is sufficient to being a good programmer. The productivity difference between what Google sees in a 10x programmer from a normal programmer is not about the 10x programmer having memorized more API calls.
Simply teaching someone about API calls and about the specifics about the cutoff between different lock implementations isn't going to make someone a 10x programmer.
Part of being a good programmer is knowing when to check in your code and when it makes sense to write additional tests to check your code. One way to check that some people at the local LW dojo use is to ask themselves: "Would I be surprised if my changes crash the program?" If there system I wouldn't be suprised they go and spent additional time writing tests or cleaning up the code.
That heuristic is knowledge that's able to be verbalized but that moves farther away from justified veracity. You can go a step further and talk about how to pass down the system I sense of surprise from one programmer to another.
If you go and study computer science you won't find classes on developing an appropriate level of getting surprised. It's not the kind of knowledge that professors of computer science work to create.
I don't understand your point. The western tradition is perfectly capable of talking about the knowledge that following this checklist results in a measurable 25% improvement. So you must mean something else but I don't know what.
How many checklists have you used the last week? How many thing you do follow strict checklists? How many serious philosophers deal with the issues surrounding checklists?
I think that there societal resistance towards adopting more checklists.
In Google's case they have hard data to justify their checklist but a lot of checklists that are in usage don't have hard data that backs them up but are still useful.
To move meta, of course the ideas that I try to express on LW can be expressed in the English language. Trying to express ideas that can't be expressed in English doesn't make any sense.
I don't think knowing the API is sufficient to being a good programmer.
Of course it isn't (but it is necessary). I didn't mean to imply that it was. But I do think this example generalizes to almost all the other things that a very good programmer needs to do.
That heuristic is knowledge that's able to be verbalized but that moves farther away from justified veracity. You can go a step further and talk about how to pass down the system I sense of surprise from one programmer to another.
That heuristic is knowledge that's able to be verbalized but tha...
Another month, another rationality quotes thread. The rules are: