The Pragmatic Engineer thumbnail

The Pragmatic Engineer

GitHub did not ship much 2015-2020. Why?

📹 Video Information:

Title: GitHub did not ship much 2015-2020. Why?
Duration: 01:41

Overview

The video discusses the challenges GitHub faced between 2015 and 2020, particularly around innovation, stability, and managing user expectations. It highlights how the platform’s rapid growth, beloved brand status, and internal culture influenced its product development and release strategies.

Main Topics Covered

  • GitHub’s growth and challenges from 2015 to 2020
  • User expectations and emotional attachment to GitHub
  • The impact of high expectations on product shipping and innovation
  • Internal culture and decision-making around feature releases
  • The transition period involving CEO changes and organizational culture shifts
  • Balancing innovation with stability, security, and accessibility

Key Takeaways & Insights

  • GitHub’s brand loyalty created very high expectations, making users sensitive to changes and outages.
  • Fear of negative reactions led to cautious shipping practices, with many features developed internally but not publicly released.
  • A “loud minority” of vocal users can create pressure that affects decision-making, even when the silent majority may be fine with changes.
  • Organizational changes and cultural challenges slowed down public innovation despite ongoing internal development.
  • Significant behind-the-scenes investment in stability, security, and accessibility was crucial to maintaining platform reliability.
  • Over time, GitHub managed to improve its pace of innovation while maintaining fundamental platform qualities.

Actionable Strategies

  • Balance innovation with stability by investing in infrastructure and security behind the scenes.
  • Listen carefully to user feedback but recognize that vocal minorities may not represent the majority’s opinion.
  • Foster an internal culture that encourages shipping features confidently without excessive fear of backlash.
  • Manage user expectations transparently to reduce disappointment when changes happen.
  • Prioritize accessibility and availability as core components of product development.
  • Use internal testing and staged rollouts to refine features before public release.

Specific Details & Examples

  • The video references the period before and after Microsoft’s acquisition of GitHub as a time of organizational and cultural transition.
  • The “Octo” (GitHub’s mascot) is mentioned as a symbol of user affection and brand loyalty.
  • The concept of “staff shipping” or “stock fooding” is introduced, describing features released internally but not publicly.
  • CEO changes during the period contributed to cultural shifts impacting innovation and shipping practices.

Warnings & Common Mistakes

  • Avoid letting fear of negative user reactions paralyze shipping and innovation.
  • Be cautious of over-prioritizing the vocal minority’s complaints at the expense of broader user needs.
  • Don’t underestimate the importance of behind-the-scenes work in security, availability, and accessibility.
  • Avoid internal silos where features never reach public release due to excessive caution.

Resources & Next Steps

  • While no specific tools or resources are mentioned, the video implies that organizations should invest in infrastructure, user research, and cultural change initiatives to improve innovation and stability.
  • Viewers are encouraged to focus on balancing user feedback with internal confidence to ship features.
  • Further learning could include studying GitHub’s post-2020 development practices and Microsoft’s integration strategies.
← Back to The Pragmatic Engineer Blog