3 ms·
As a non-Googler I'm very curious how much Google lets you check out onto your dev machine. I'm assuming it's less than "oh, yeah, just clone locally that shard
by majormajor 4y ago
As a non-Googler I'm very curious how much Google lets you check out onto your dev machine. I'm assuming it's less than "oh, yeah, just clone locally that shard of the prod gmail DB to debug that weird thing," but I would love to know how much less.
Some of the companies I've worked that let me do the most with my machine were also the strictest about "real" work and data remaining off of personal machines in favor of remote (and non-admin) access to shared resources.
Assuming that developers can never be privacy, confidentiality, or other sorts of information security/compliance risks is silly.
I think a much better question would be "how are information security and privacy controls implemented" so you know if it meshes with how you want to work and what you think is appropriate for the sorts of data involved. Super-draconian policies for trivial data would be frustrating - but super-lax ones for sensitive customer personal information would be its own different red flag.
- throwyawayyyy 4y ago> I think a much better question would be "how are information security and privacy controls implemented" Agreed, that's a great question to ask.
- rwiggins 4y agoWell, for starters there isn't just one dev machine :-) You at least have a laptop and a workstation. Possibly several of each. I believe there is no code at all stored on laptops, barring some exceptions. I am not entirely sure 'check out' is an applicable concept to the tech stack. There's quite a lot of (public) information in this article in the 'Background' section: https://cacm.acm.org/magazines/2016/7/204032-why-google-stores-billions-of-lines-of-code-in-a-single-repository/fulltext https://cacm.acm.org/magazines/2016/7/204032-why-google-stor... In particular, look for the keyword 'CitC' in the article. The tl;dr though is that the tooling presents a view of the monorepo where 'everything' is available (excluding the protected sections) - while keeping the actual files off of workstations. (Although there's probably caching?) Disclosure: I work at Google.
- 4ad 4y agoBut how do you actually edit files in your local text editor? The article mentions FUSE for Linux. Is this also used for macOS?
- rwiggins 4y agoUsually, devs use one of Google's web-based code editors. No local editor at all. The web editors are pretty well integrated with the rest of the dev stack... and they just work. CitC workspaces aren't mounted on laptops, so no MacOS support. I think sshfs is permitted if you want to use something like Emacs or Vim on your laptop rather than on your workstation. I've never tried at Google, but previous experience with sshfs tells me the performance probably wouldn't be great. Maybe some tweaks help. Honestly, these days I'm much less willing to tinker endlessly to get the 'perfect' setup.
- sgtnoodle 4y agoWhen I was there, you could have whatever on your workstation inside the office. No source code was allowed on any mobile device, though. For a while I would use sshfs into my workstation when coding on my laptop. Google's version control system is pretty fancy, though, moreso than simply just storing files on your local filesystem (client in the cloud). At some point it became easy to write code in a browser based text editor, and I did that both on my laptop and on my workstation; it had the best code search integration.
- deleted 4y ago[deleted]
- btgeekboy 4y ago> I think a much better question would be "how are information security and privacy controls implemented" I don't work for Google, but if I was asked that question, I'd be afraid of giving an answer that would violate my NDA. You'd probably get a vague answer like, "Those policies and processes do exist, but I'm not at liberty to go into them right now. Why do you ask - is there something specific I can address?"