> You know, at the bottom of your stack someone, somewhere, needs to know a subject well enough to implement things from scratch. If what you are doing hasn't been done before you can't just google or find an open source library.
That really depends on what "from scratch" means. Any particular piece of code can be examined in enough detail that nobody in the whole world would understand all of them. Luckily people who understand specific pieces will produce a part for others to use. Often the only thing that hasn't been done before is one particular mashup of existing parts. Then the skill of coding is like the skill of cooking: using judgement to assemble well known parts into a new whole.
> Do you think when Google decided to create the V8 JavaScript JIT they hired a couple of Django programmers and asked them to google 'how to write a JIT'? Or do you think they specified a certain level of experience in writing JITs on the job advert?
That wasn't the point. I'm not saying that any programmer can do any programming job. But that the selection criterion (language, framework) is in general wrong. If you have a guy who did a JIT for Java, do you disqualify that guy from a JIT for Go job? I don't think so.
That really depends on what "from scratch" means. Any particular piece of code can be examined in enough detail that nobody in the whole world would understand all of them. Luckily people who understand specific pieces will produce a part for others to use. Often the only thing that hasn't been done before is one particular mashup of existing parts. Then the skill of coding is like the skill of cooking: using judgement to assemble well known parts into a new whole.
> Do you think when Google decided to create the V8 JavaScript JIT they hired a couple of Django programmers and asked them to google 'how to write a JIT'? Or do you think they specified a certain level of experience in writing JITs on the job advert?
That wasn't the point. I'm not saying that any programmer can do any programming job. But that the selection criterion (language, framework) is in general wrong. If you have a guy who did a JIT for Java, do you disqualify that guy from a JIT for Go job? I don't think so.