3 ms·
Not sure how familiar you are with Google code, but ensuring a consistent, readable, uncreative coding style is kind of a big deal at Google. Ask a Googler wha
by dub 8y ago
Not sure how familiar you are with Google code, but ensuring a consistent, readable, uncreative coding style is kind of a big deal at Google.
Ask a Googler what it was like to get "readability", which is a process where you get certified as knowing how to produce code for a particular language up to company standards. You can also see how the value of consistent style influenced the design of the Go language, which is more resistant to metaprogramming than most similarly-popular languages.
- KirinDave 8y ago> Not sure how familiar you are with Google code, but ensuring a consistent, readable, uncreative coding style is kind of a big deal at Google. Yeah, I work there. And I'm aware of the lore. I'm also acutely aware of the fact that there are numerous configuration systems that are exquisitely crafted custom snowflakes. > You can also see how the value of consistent style influenced the design of the Go language, which is more resistant to metaprogramming than most similarly-popular languages. Yes I know, it is terrible and designed around the worst impulses of Google. I do not believe it solves a real problem, I believe it enables abusive hiring practices.
- dub 8y agoI agree that Google has many unique internal systems for job management, workflow management, authorization, CI/CD, etc., that have unique configuration and unique behavior that new employees will need to learn. As an SRE you probably spend a lot of time in that world. Seems like the linked article was more on the topic of programming languages, though, not configuration management. I don't think a non-Googler would have any trouble reading and understanding Google internal code in a programming language they're familiar with. Exceptions might be pre-TypeScript JS codebases using the closure compiler annotations, old ndb Python code if there's any of that left, or Java engineers who haven't used dependency injection before.