# GitHub’s Engineering Team Has Moved to Codespaces | the GitHub Blog

URL:: https://github.blog/2021-08-11-githubs-engineering-team-moved-codespaces/
Author:: github.blog
## Highlights
> Today, GitHub is making Codespaces available to Team and Enterprise Cloud plans on github.com. Codespaces provides software teams a faster, more collaborative development environment in the cloud. Read more on our Codespaces page. ([View Highlight](https://instapaper.com/read/1436806886/17206710))
> Yet for all our efforts, local development remained brittle. Any number of seemingly innocuous changes could render a local environment useless and, worse still, require hours of valuable development time to recover. Mysterious breakage was so common and catastrophic ([View Highlight](https://instapaper.com/read/1436806886/17206719))
> Local development environments are fragile. And even when functioning perfectly, a single-context, bespoke local development environment felt increasingly out of step with the instant-on, access-from-anywhere world in which we now operate. ([View Highlight](https://instapaper.com/read/1436806886/17206721))
> In the infrastructure world, industry best practices have continued to position servers as a commodity. The idea is that no single server is unique, indispensable, or irreplaceable. Any piece could be taken out and replaced by a comparable piece without fanfare. If a server goes down, that’s ok! Tear it down and replace it with another one.
> Our local development environments, however, are each unique, with their own special quirks. As a consequence, they require near constant vigilance to maintain. ([View Highlight](https://instapaper.com/read/1436806886/17206732))
> With Codespaces, we saw an opportunity to treat our dev environments much like we do infrastructure—a commodity we can churn—but still maintain the ability to curate our workbench. Visual Studio Code extensions, settings sync, and dotfiles repos bring our environment to our compute. In this context, a broken workbench is a minor inconvenience—now we can provision a new codespace at a known good state and get back to work. ([View Highlight](https://instapaper.com/read/1436806886/17206739))
> Contributors came from across the company to help us revisit past decisions, question long-held assumptions, and work at the source-level to decouple GitHub development from macOS. ([View Highlight](https://instapaper.com/read/1436806886/17206750))
> Up first: changing how Codespaces cloned github/github. Instead of performing a full clone when provisioned, Codespaces would now execute a shallow clone and then, after a codespace was created with the most recent commits, unshallow repository history in the background. Doing so reduced clone time from 20 minutes to 90 seconds. ([View Highlight](https://instapaper.com/read/1436806886/17206763))
> Our next opportunity: caching the network of software and services that support GitHub.com, ([View Highlight](https://instapaper.com/read/1436806886/17206766))
> Enter prebuilds: pools of codespaces, fully cloned and bootstrapped, waiting to be connected with a developer who wants to get to work. ([View Highlight](https://instapaper.com/read/1436806886/17206770))
> What if we could clone and bootstrap the repository ahead of time so that by the time an engineer asked for a codespace we’d already done most of the work? ([View Highlight](https://instapaper.com/read/1436806886/17206773))
> New hires can go from zero to a functioning development environment in less time than it takes to install Slack. Engineers can spin off new codespaces for parallel workstreams with no overhead. When an environment falls apart—maybe it’s too far behind, or the test data broke something—our engineers can quickly create a new environment and move on with their day. ([View Highlight](https://instapaper.com/read/1436806886/17206777))
> Before Codespaces, GitHub engineers would need to commit and deploy to a review lab instance (which often required peer review) in order to share their work with colleagues. Friction. Now we ctrl+click, grab a preview URL, and send it on to a colleague. No commit, no push, no review, no deploy — just a live look at port 80 on my codespace. ([View Highlight](https://instapaper.com/read/1436806886/17206789))
---
Title: GitHub’s Engineering Team Has Moved to Codespaces | the GitHub Blog
Author: github.blog
Tags: readwise, articles
date: 2024-01-30
---
# GitHub’s Engineering Team Has Moved to Codespaces | the GitHub Blog

URL:: https://github.blog/2021-08-11-githubs-engineering-team-moved-codespaces/
Author:: github.blog
## AI-Generated Summary
None
## Highlights
> Today, GitHub is making Codespaces available to Team and Enterprise Cloud plans on github.com. Codespaces provides software teams a faster, more collaborative development environment in the cloud. Read more on our Codespaces page. ([View Highlight](https://instapaper.com/read/1436806886/17206710))
> Yet for all our efforts, local development remained brittle. Any number of seemingly innocuous changes could render a local environment useless and, worse still, require hours of valuable development time to recover. Mysterious breakage was so common and catastrophic ([View Highlight](https://instapaper.com/read/1436806886/17206719))
> Local development environments are fragile. And even when functioning perfectly, a single-context, bespoke local development environment felt increasingly out of step with the instant-on, access-from-anywhere world in which we now operate. ([View Highlight](https://instapaper.com/read/1436806886/17206721))
> In the infrastructure world, industry best practices have continued to position servers as a commodity. The idea is that no single server is unique, indispensable, or irreplaceable. Any piece could be taken out and replaced by a comparable piece without fanfare. If a server goes down, that’s ok! Tear it down and replace it with another one.
> Our local development environments, however, are each unique, with their own special quirks. As a consequence, they require near constant vigilance to maintain. ([View Highlight](https://instapaper.com/read/1436806886/17206732))
> With Codespaces, we saw an opportunity to treat our dev environments much like we do infrastructure—a commodity we can churn—but still maintain the ability to curate our workbench. Visual Studio Code extensions, settings sync, and dotfiles repos bring our environment to our compute. In this context, a broken workbench is a minor inconvenience—now we can provision a new codespace at a known good state and get back to work. ([View Highlight](https://instapaper.com/read/1436806886/17206739))
> Contributors came from across the company to help us revisit past decisions, question long-held assumptions, and work at the source-level to decouple GitHub development from macOS. ([View Highlight](https://instapaper.com/read/1436806886/17206750))
> Up first: changing how Codespaces cloned github/github. Instead of performing a full clone when provisioned, Codespaces would now execute a shallow clone and then, after a codespace was created with the most recent commits, unshallow repository history in the background. Doing so reduced clone time from 20 minutes to 90 seconds. ([View Highlight](https://instapaper.com/read/1436806886/17206763))
> Our next opportunity: caching the network of software and services that support GitHub.com, ([View Highlight](https://instapaper.com/read/1436806886/17206766))
> Enter prebuilds: pools of codespaces, fully cloned and bootstrapped, waiting to be connected with a developer who wants to get to work. ([View Highlight](https://instapaper.com/read/1436806886/17206770))
> What if we could clone and bootstrap the repository ahead of time so that by the time an engineer asked for a codespace we’d already done most of the work? ([View Highlight](https://instapaper.com/read/1436806886/17206773))
> New hires can go from zero to a functioning development environment in less time than it takes to install Slack. Engineers can spin off new codespaces for parallel workstreams with no overhead. When an environment falls apart—maybe it’s too far behind, or the test data broke something—our engineers can quickly create a new environment and move on with their day. ([View Highlight](https://instapaper.com/read/1436806886/17206777))
> Before Codespaces, GitHub engineers would need to commit and deploy to a review lab instance (which often required peer review) in order to share their work with colleagues. Friction. Now we ctrl+click, grab a preview URL, and send it on to a colleague. No commit, no push, no review, no deploy — just a live look at port 80 on my codespace. ([View Highlight](https://instapaper.com/read/1436806886/17206789))