10 ms·
Disclaimer: Work at Facebook Not really sure what you are implying with the 'Big Brother' comment. The remote development servers are only used for writing/deb
by flyingswift 7y ago
Disclaimer: Work at Facebook
Not really sure what you are implying with the 'Big Brother' comment. The remote development servers are only used for writing/debugging code and not for other daily tasks. Even if they are tracking what tools/functions I am using on the server, what does that matter?
Personally, I have found remote development awesome because it enables engineers to start contributing to a huge product in the very first hour. No need to wait for the repository to clone, the dependencies to install, and the code to build before you can become productive.
- mcny 7y ago> Personally, I have found remote development awesome because it enables engineers to start contributing to a huge product in the very first hour. No need to wait for the repository to clone, the dependencies to install, and the code to build before you can become productive. I am nobody but I've had this nagging feeling ever since I started working on websites for big corporations about why can't I work on my code on my local machine with no network connectivity? Why do I need to talk to three different databases and two different services on five different servers? Why can't I just fake all those things during my development? If anything, my not so humble opinion is that remote development further enables bad habits. Of course, remote development is a tool and is not to blame but I recently learned the term "hermetic" build [Google SRE] >The build process is self-contained and must not rely on services that are external to the build environment. Personally, I think we should work towards making it possible to run (or at least stub) the whole stack on a single physical machine - be it local or remote. What do you think? I think this is a trivial problem engineering-wise but I am not very good at selling ideas. [Google SRE] https://landing.google.com/sre/sre-book/chapters/release-engineering/ https://landing.google.com/sre/sre-book/chapters/release-eng...
- arkh 7y ago> Why can't I just fake all those things during my development? Wiremock but it takes some work. I wish public API providers also provided Mock servers for developers.
- IggleSniggle 7y agoAbsolutely agree! If it's any consolation, there are teams that make this possible in a "big corporation" context.
- shaklee3 7y agoOutside of web development, sometimes you need special hardware or workspaces configured to do development. Usually this can be done in a container, but that comes with its own annoyances. Having a central development server for large compiled code bases is really useful.
- lugg 7y agoThose are all valid trade offs, but its ignoring the issue raised in the AP. Like, is an environment like this encouraging bad habbits? But anyway.. Special hardware: such as? Very few systems can't be downscaled. Situations where you need this special hardware we are talking horizontal multi server setups anyway. Special workspaces: be less special, improve tooling, improve build operations. Very few setups actually needs centralised configuration. Large compilations: I'm not sold that a) there is many people with the justifiable need, and b) any real justifiable need is likely going to want on demand autoscaling of the compilation servers, i.e. development won't be local anyway. I'm not trying to debunk everything you've said. It's a trade off and I've used central dev databases in the past for legacy systems and it worked well for those in the office. All I can tell you is that iteration speed, testability of code, manual testing and all around team morale was DRASTICALLY improved by stubbing out that bottleneck in newer systems.
- shaklee3 7y agoI'm speaking for my individual case and others I work with where we have codebases of over a million lines of c++, with many header-only libraries. On an 80-core server make -j can still take 3-4 minutes, and that uses all the resources on the machine. Trust me, I wish I could have something as fast that's not centralized. The closest I can think of is either a VM (slow/wasteful), or a container. The container would be really easy if everyone used vscode with the container development plugin, but not everyone on the team does. For those that don't, it's much more friction to remember to start it up, etc.
- 8ytecoder 7y agoNot true. Worked on a real distributed payment system. Every service came with a mock clone or a single server mode to standup all services in the same box. Every developer had a powerful personal desktop (or two). I loved it. Everyone I knew there loved it.
- chrisweekly 7y agotangent to your points: you are not "nobody"!
- uberman 7y agoPeople don't like being tracked and Facebook has a long history of being deceptive around how and when it tracks people. Facebook also has a long history of selling the data it collects as a result of tracking even when the people being tracked try as they might to opt out. Hence the "big brother" reference. Frankly, I was/am a little leary of how Facebook might be "improving" the MSVSC Remote Development pack since I use it every day.
- tudelo 7y agoAs an employee working on a corporate device everything will be tracked anyways, this is the most tin-foil take ever. Your latter concern is at least a reasonable one, but it should all be open source anyways? Not that any of us have the time to audit everything. I doubt Microsoft is going to allow anything nefarious...
- ahartmetz 7y ago> As an employee working on a corporate device everything will be tracked anyways Note that that isn't true in most (all?) European countries. It is illegal to eavesdrop on employees without a strong and particular reason.
- uberman 7y agoMy employer might track me, but how does that mitigate my concerns that a 3rd party data aggregator like Facebook might track me as well as a result of installing a closed source plugin that they "improved".
- deleted 7y ago[deleted]
- taurath 7y agoI don't honestly expect there to not be access control especially at a big tech company, but for me when its Facebook doing it I can't help but think there's some MBA that might put you in a "bottom 5%" productive employee cohort because your usage patterns just so happen to correlate with less productive employees. They could of course do that almost anywhere as a lot of business IT tracking software is ubiquitous especially in tech, but it feels more likely at FB.
- madhadron 7y ago> when its Facebook doing it I can't help but think there's some MBA that might put you in a "bottom 5%" productive employee cohort because your usage patterns just so happen to correlate with less productive employees. I work at Facebook. I would say it's less likely there than elsewhere that I have worked due to how the review cycle is set up. People have this strange idea that Facebook is some kind of top down panopticon.
- Aqueous 7y agoIf you’re using a React pipeline on the remote server, how quickly does the page refresh occur? I do remote VM development where I work and a major pain point for me is how long it takes to refresh a page that I’m working on.
- flyingswift 7y agoYou navigate to the remote server in your browser to test your changes. You just need to save and refresh the page and the updated code is magically deployed to the page.
- dorkinspace 7y ago> Even if they are tracking what tools/functions I am using on the server, what does that matter? It absolutely matters. I do not want to give facebook any data, especially about my development work. The "what does that matter" attitude is the entire reason people do not trust Facebook.
- Shish2k 7y agoI think you have some wires crossed. YOU, a random developer working at some other company, or on your open source projects, are not sending data to facebook. Facebook employees, using facebook's tools, running on facebook's dev-servers, to build facebook, ARE sending dev-tool telemetry to facebook's dev-tool-development team. "What does it matter?" is referring to the latter.