Yegge is a nobody. At least according to him -
Let’s get real for a sec, folks. I’m nobody at Google.
OK…so I’m completely under-quoting him here. Its my post, and I’ll under-quote if I want to (apologies to Lesley Gore).
While Yegge waxes poetic about being privileged to work at Google, he mentions why he made the choices that he made. I won’t mention them here. He does a much better job.
What I’m most interested in is the Google Sandbox of Languages - C++, Java, Python, and JavaScript. I find it fascinating that a company the size of Google (who puts a lot of emphasis on your academic background) has hamstrung their developers with only 4 language choices. I mean, this is back end code right? No one will see it but Google. But it makes sense. Complete and total sense when you stop and think about it. If you have an “alpha” on your team that pushes and pushes for a new language and gets it, what happens when he leaves? Learning the syntax of a language is easy. I knew the basics of Erlang after only about 2 hours of reading a night for about a week. But I couldn’t program in it. I couldn’t pick up ejabberd and be a productive member of the team. Not only do I have to learn how to use the language, I also have to learn their code base. It makes for a steep learning curve. Google has squashed that problem by saying “You can do what you want as long as it is in 1 of these 4 languages.” When moving to a new team (which Yegge says is very easy), all you have to learn is their code not the language it is written in.
It’s funny. In BA, every job I’ve worked settled on one language. I always wanted to experiment, but it wasn’t really allowed. When I got to Amazon, I noticed that there are 3 languages (Java, C++, and Perl) that are “blessed”. But there has been a slow groundswell of new languages making an entrance into the playground. They aren’t blessed, but they are pushing for it. And it is causing ripples in the water. A lot of the “alphas” want to work on those projects, but what happens when they get bored or move onto other challenges? How much time do they spend getting infrastructure for the new language up and running vs. solving the business problem?
It is an interesting set of problems for managers. You want your developers to be happy and experimenting with new languages is something that makes them happy, but you also want to launch features. I’m glad I’m not in management
Of course, to be hypocritical, I’ve been playing with Groovy and Scala more than I should. I haven’t tried pushing them at work for projects. I’ve just been showing that they are more capable of fitting into the current development boundaries then some of the other languages.
Ah…the duality of being pragmatic and curious - I want to use new languages, but I understand from a business perspective that it isn’t the right thing to do very often.
One last bit of controversy - Yegge thinks Google is great. This guy doesn’t and gives quite a few reasons why. It is a Q&A session with an ex-Google employee now working at Microsoft (again). Makes for an interesting read.




0 responses so far ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment