For those who don't regularly follow rachelbythebay.com, this post is a Google allegory. I disagree with a couple points.<p>First, Google really doesn't care as much about education as people think they do. They do love experience. I never graduated high school, and was hired into an SRE position (= programmer writing large-scale sysadmin tools) based on previous work experience. Grades are only useful if you've got nothing else to show off.<p>Second, if you want employees to be loyal to a company with unusually good perks, taking them fresh out of school is a terrible approach. Many people working here indeed have no real idea what working at non-tech companies is like, and that means they assume every other company is like Google. I have heard stories of employees getting frustrated on some project, leaving to work at (e.g.) a bank or webdev shop, and not realizing until their first day that there's no free food, or gym, or weekly heckling of the CEO. I used to work at a defense contractor, I know what it's like being a programmer employed at a non-tech company, and I don't want to ever go back.<p>(In other words, Google might get better retention by implementing Rumspringa)<p>Third, the proprietary parts aren't as pervasive as the article portrays. Our Linux kernel has weird Google-specific interfaces, but they're always in some stage of upstreaming and will eventually be in Linus's trunk. Our RPC system uses the same protobuf rpc-stubs that are generated by the open-source protobuf compiler. Desktops and Laptops run stock {Ubuntu,Windows,MacOS} with a few extra binaries. MapReduce and BigTable were published and inspired dozens of open-source implementations. Many of our Python-based tools have web frontends written with Django. Many systems persist data in MySQL.<p>When Google engineers avoid particular in-fashion systems such as Rails or MongoDB or node.js, it's not because we're ignorant of them, it's because we think they're not good enough.