Google bureaucracy expected from Ken Thompson (!) to pass a C language exam (!!).
https://www.theregister.co.uk/2010/04/21/ken_thompson_take_o...
"So Mr Thompson, you say you have some programming skills"
Google bureaucracy expected from Ken Thompson (!) to pass a C language exam (!!).
https://www.theregister.co.uk/2010/04/21/ken_thompson_take_o...
"So Mr Thompson, you say you have some programming skills"
"Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off" [0]
More details two years later here [1].
[0]: https://twitter.com/mxcl/status/608682016205344768
[1]: https://www.quora.com/Whats-the-logic-behind-Google-rejectin...
From what I understand it is like a "driving license" for each language - if you haven't passed the driving test you can still drive but you need to have an instructor keep an eye on you. If you haven't passed the coding test you need someone to review your code before submitting.
I'd say it's about doing the work for which he came there, from TFA:
"Google hired Thompson to create a new language, Go. But Google also requires all of its recruits to pass a language test. According to Thompson, he hasn't quite got round to it yet - and so can't submit code."
And no, I have no understanding for that utter stupidity, or any attempt to accept it.
Code committed to the internal repo requires a review from someone certified familiar with that language's internal style guide.
He was hired to work on Go, not C, and just didn't get around to writing enough C to bother getting that certification. He can write C whenever he wants to, just like literally every other engineer, he would just get a style guide review at review time.
"Google hired Thompson to create a new language, Go. But Google also requires all of its recruits to pass a language test. According to Thompson, he hasn't quite got round to it yet - and so can't submit code."
It's not and it wasn't about any C++ "certifications." He was involved in the creation of a new language. For the new language there could have not been any existing certification. And as far as I know, the initial implementation language of Go was not C++ but C. In creation of which was Thompson also directly involved. And as far as I know the people worked on the parts of the code before Google and these parts of said C code already existed before Google (Go had some dependencies on code from https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs and https://en.wikipedia.org/wiki/Inferno_(operating_system)).
So it was indeed as absurd as it could have been. He was a part of the team that directly invented both the language and the style guide of the language, but some bureaucratic exam was expected from him to submit the code to the source control system.
I don't know how they managed to get that statement, but it's misleading. Many misconceptions begin with an element of truth. I'm guessing the element of truth here was the "certification" process. (Maybe it was something else, like a mixup having him as an advisor accidentally caused him to not be hired into the engineering group and thus there was a wait before he got engineering credentials to view/edit code. But that kind of thing is just silly paperwork and clearly fixed promptly.)
I just checked. He had literally written some C++ code before that snippet was published.
It was not the absurd statement it's been made out to be. It sounds unbelievable for a reason: It is unbelievable because it didn't happen.
Your failure to even recognize all that (instead mentioning "C++" and "certification" which is not the same) and to address the fact that these circumstances completely differ from your own much more narrow experience with established practices when checking in C++ code for which the bureaucratic rules already existed simply doesn't tell me that you can be believed regarding organization's capability to not react bureaucratically. Which is what Thompson apparently said and I still find, as I explain, very believable.
That is how I searched in the responses for any claim which would directly support your opinion, and still haven't found it.
I have no problem to admit I was wrong, but I'd really like to see some direct proof. Like somebody investigating what actually happened there and getting some first hand account. Not the talk about "C++" and existing rules for that (for which there is up to now a confirmation of strong enforcement, not tolerance).
But ken was at Google a long time before the Go project started. (The Go project was not developed in Google's monorepo and was not subject to Google's readabiliy process, as is the case for many Google projects.) What ken was referring to was indeed the C++ Readability process (which doesn't stop anyone committing code, just requires a review from a person with the 'readability' certification before committing; as mentioned upthread). I know this from talking to him about it, specifically.
I can't offer you any more proof other than the fact that I was a witness. If you don't believe that, then I'm sorry? Not sure what else to tell you.
FWIW your conduct in this thread is extremely obnoxious. I'm sure you'll find a way to debate that, too, but please consider that I have no vested interest in telling you this other than hoping you might better learn how your conduct is perceived by others.
Perfect! So what's the exact story, then, finally?
1) Was the quote from him completely invented?
2) Was he allowed to check in or not? Did he need the test to check in at that moment to which the quote refers? (I don't care about the moment when it was published).
3) And even more specifically: were there ever the times where he was in Google but when he not able to check in the code lacking some Google-prescribed "test"?
Just "yes", "no" or "I don't know" there, please. Also (just for my curiosity):
4) How long that period lasted?
Then you can elaborate where I was wrong by searching thorough what I've written -- I've specifically quoted the article and talked about his C background and involvement in a new language, never claimed anything about his C++ code and a "certification." I have an impression that your perception of what I've written and that, what I actually have written don't match.
If that's what you read out of the post, when I literally said the opposite, I can't reason with you.
The philosophy is that all Google code base should look like it was written by 1 person. It's great actually in practice: code in a big company should be hard to write and easy to read, as it's read by many people.
> The philosophy is that all Google code base should look like it was written by 1 person.
But all google products look like they are written by only one person so the aim is achieved. The worst thing however is that other person started doing the same.
That said, I would not be surprised this would happen at Google as they truly believe their process is vastly superior, as they believe themselves.
Pretty sure they would ask Linus to to a C programming test as well, and score him badly because he can't remember the exact details of some algorithm he has not used since he wrote the first lines of Linux.
He could probably get around this easily if he tried
Still a funny quip though