news.volyx.in

A History of IDEs at Google (laurent.le-brun.eu)

473 points by laurentlb · 113 days ago · 316 comments on HN

Article summary

The article discusses the history of Integrated Development Environments (IDEs) at Google, from a fragmented ecosystem where engineers used different IDEs, to the development of a cloud-based IDE called Cider, and eventually Cider V, which uses the VSCode frontend. Cider V became the dominant IDE in the company, with 80% of development happening in it by 2023. The article highlights the benefits of having a uniform IDE, including better integrations with company tools and the ability to collect telemetry data. The author notes that this approach has been impactful, but also acknowledges that it may not be suitable for all companies due to its high cost.

Main themes

  • IDE history at Google
  • Cloud-based development
  • Uniform IDE
  • Telemetry and data collection
  • Company culture and tooling
  • Remote work and virtual machines

What commenters say

  • The use of a uniform IDE can provide benefits such as better integrations with company tools and improved telemetry data, but may also create perverse incentives and limit engineer autonomy.
  • The decision to turn on AI features by default in Cider V, and revert changes made by engineers to turn them off, is seen as problematic by some, who value the ability to customize their workflow.
  • The use of Chromebooks as thin clients for remote development is a common practice at Google, and is seen as sufficient for most development tasks, but some engineers prefer more powerful local machines.
  • The collection of telemetry data from a uniform IDE can provide valuable insights into engineer behavior and workflow, but may also be seen as an invasion of privacy or a way to control engineer behavior.
  • The development of Cider V has enabled the creation of a large number of internal extensions, which has improved workflows and productivity for many engineers, but may also create dependencies on a single platform.
  • The use of a monorepo like Google3 can simplify development and reduce dependencies, but may also create challenges for release management and scalability.