3 ms·
(googler, opinions are my own). Google allows for normal desktop IDEs, plus having a web based one. The funny thing is, many people move to the web based one
by kyrra 5y ago
(googler, opinions are my own).
Google allows for normal desktop IDEs, plus having a web based one. The funny thing is, many people move to the web based one because it is so good.
But Google is also unique in how piper/citc[0] (our source control) works. It's effectively designed for web/cloud based style development, so the workflow for web based dev and desktop dev are effectively the same.
So web dev can work, but I don't think the existing tech that most of the software industry has is built well to support it.
[0] 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...
- closeparen 5y agoWe also "allow" both but the size of the repo and build process are quickly getting out of hand for something to run on a laptop. In the past we had tools to manage the size of what an IDE had to index, etc. but these were abandoned in favor of the cloud effort, so to develop locally with any sanity you have to use years-old IDE versions and pretty much debug it yourself. The cloud environment builds and runs faster but the autocomplete, go-to-definition, etc. are pathetic.
- kchr 5y agoInteresting, can you elaborate a bit on "cloud-based" development vs for example a traditional workflow of git and a central repo?
- kchr 5y agoShould've read the entire post first. o\
- Me1000 5y agoGoogle has a monorepo in which nearly all of the company's code is stored. The monorepo uses a custom implementation of Perforce. No personal computer could download a whole copy of the repo. So for that reason people need to check out a virtual/cloud copy of the repo in order to do work. This has the added benefit (for google) of not allowing individuals to have code on their device which is bad if the employee loses their device or has it stolen. There are some exceptions for some teams (like Chrome). And when I was there exceptions for people who did mobile (iOS/Android) development, though Google was moving pretty aggressively towards a world where even iOS code wasn't allowed on the employee's device.
- secondcoming 5y agoIt's been a while since I've used Perforce, but wouldn't each team have their own 'path' in the depot and set their clientspec to only download that? Why would anyone, other than a build machine, need the whole repo?
- closeparen 5y agoNot a Googler but we do have a monorepo... you can start with a team specific path, but you feed that to the build system and ask it to identify all the other paths where your (transitive) dependencies are.
- azth 5y agoIs the IDE based on Eclipse/IntelliJ/something else?
- cameronbrown 5y ago(Opinions are my own.) It used to be entirely custom, but is currently being re-based on VSCode. Overall very similar feel to Codespaces, just tailed for how Google works.