The Curious Engineer

All blogs / Software / engineering practice

The latest from GitHub's engineering team

githubengineering.com

The Blog of the GitHub Engineering Team

Software / engineering practiceDevOps / SRE / infrastructureAI / MLPerformance / optimizationEngineering blogs

Posts
179 from 22 Feb 2013 to 21 Oct 2026
Posting
monthly (23 in the last year)
Kind
company blog
Feed
https://github.blog/engineering.atom

2026 23

  1. The bridge to agent-scale Git infrastructure
  2. Staying Evergreen: How we automated secure access and repo hygiene in a shared org
  3. From 2,500 requests to 24: Rebuilding star history without the stargazers
  4. Building Git infrastructure for agent-scale development
  5. Improving site performance by shipping more CSS
  6. Rendering huge pull requests in the GitHub Copilot app
  7. How we make AI coding more cost efficient without sacrificing task quality
  8. Your alt text passes automated checks. That doesn’t mean it’s any good.
  9. Using the GitHub Copilot SDK for Java
  10. Turn one giant AI-generated pull request to a reviewable stack
  11. Don’t stop early: Case-folding source code at memory speed
  12. Tame Dependabot: Group your updates, slow the cadence, keep security fast
  13. The cost of saying yes has changed
  14. Better tools made Copilot code review worse. Here’s how we actually improved it.
  15. Automating cross-repo documentation with GitHub Agentic Workflows
  16. From latency to instant: Modernizing GitHub Issues navigation performance
  17. How GitHub uses eBPF to improve deployment safety
  18. The uphill climb of making diff lines performant
  19. Agent-driven development in Copilot Applied Science
  20. Continuous AI for accessibility: How GitHub transforms feedback into inclusion
  21. How we rebuilt the search architecture for high availability in GitHub Enterprise Server
  22. From pixels to characters: The engineering behind GitHub Copilot CLI’s animated ASCII banner
  23. When protections outlive their purpose: A lesson on managing defense systems at scale

2025 14

  1. Post-quantum security for SSH access on GitHub
  2. How GitHub engineers tackle platform problems
  3. GitHub Issues search now supports nested queries and boolean operators: Here’s how we (re)built it
  4. Design system annotations, part 2: Advanced methods of annotating components
  5. Design system annotations, part 1: How accessibility gets left out of components
  6. Building a more accessible GitHub CLI
  7. How the GitHub CLI can now enable triangular workflows
  8. Introducing sub-issues: Enhancing issue management on GitHub
  9. How engineers can use one-on-ones with their manager to accelerate career growth
  10. IssueOps: Automate CI/CD (and more!) with GitHub Issues and Actions
  11. Finding leaked passwords with AI: How we built Copilot secret scanning
  12. How to debug code with GitHub Copilot
  13. How GitHub uses CodeQL to secure GitHub
  14. Considerations for making a tree view component accessible

2024 16

  1. Breaking down CPU speed: How utilization impacts performance
  2. How to make Storybook Interactions respect user motion preferences
  3. GitHub Enterprise Cloud with data residency: How we built the next evolution of GitHub Enterprise using GitHub
  4. The ultimate guide to developer happiness
  5. How GitHub supports neurodiverse employees (and how your company can, too)
  6. How we improved availability through iterative simplification
  7. Exploring the challenges in creating an accessible sortable list (drag-and-drop)
  8. How we improved push processing on GitHub
  9. How GitHub reduced testing time for iOS apps with new runner features
  10. How we’re building more inclusive and accessible components at GitHub
  11. Empowering accessibility: GitHub’s journey building an in-house Champions program
  12. How GitHub uses merge queue to ship hundreds of changes every day
  13. Fixing security vulnerabilities with AI
  14. Bringing npm registry services to GitHub Codespaces
  15. GitHub’s Engineering Fundamentals program: How we deliver on availability, security, and accessibility
  16. How GitHub’s Developer Experience team improved innerloop development

2023 21

  1. How we organize and get things done with SERVICEOWNERS
  2. Upgrading GitHub.com to MySQL 8.0
  3. Measuring Git performance with OpenTelemetry
  4. How to communicate like a GitHub engineer: our principles, practices, and tools
  5. How GitHub uses GitHub Actions and Actions larger runners to build and test GitHub.com
  6. Optimize your GitHub Codespaces costs with upgraded virtual machines
  7. How we build containerized services at GitHub using GitHub
  8. Scaling merge-ort across GitHub
  9. Exploring developer happiness, inclusion, and productivity at GitHub’s Design Conference
  10. Accessibility considerations behind code search and code view
  11. Crafting a better, faster code view
  12. Design’s journey towards accessibility
  13. Unlocking inclusive design: how Primer’s color system is making GitHub.com more inclusive
  14. How we work: inclusive retrospectives for the GitHub Accessibility leadership team
  15. Building GitHub with Ruby and Rails
  16. How the Grafana Alerting team scales their issue management with GitHub Projects
  17. How GitHub Docs’ new search works
  18. The technology behind GitHub’s new code search
  19. How the GitHub Docs team uses GitHub Projects
  20. Enabling branch deployments through IssueOps with GitHub Actions
  21. How GitHub coordinates product releases with GitHub Projects and GitHub Actions

2022 18

  1. What’s with all the ducks?
  2. How we use GitHub to be more productive, collaborative, and secure
  3. Creating an accessible search experience with the QueryBuilder component
  4. Experiment: The hidden costs of waiting on slow build times
  5. How GitHub converts previously encrypted and unencrypted columns to ActiveRecord encrypted columns
  6. Why and how GitHub encrypts sensitive database columns using ActiveRecord::Encryption
  7. How we tripled max concurrent jobs to boost performance of GitHub Actions
  8. Scaling Git’s garbage collection
  9. How the GitHub Security Team uses projects and GitHub Actions for planning, tracking, and more
  10. Improve Git monorepo performance with a file system monitor
  11. How we think about browsers
  12. How we use Dependabot to secure GitHub
  13. How we’re continuing to enable all developers to build
  14. How we’re using projects to build projects
  15. Improving Git push times through faster server side hooks
  16. Performance at GitHub: deferring stats with rack.after_reply
  17. 4 ways we use GitHub Actions to build GitHub
  18. How we ship GitHub Mobile every week

2021 18

  1. Technical interviews via Codespaces
  2. A brief history of code search at GitHub
  3. Improving GitHub code search
  4. Using ChatOps to help Actions on-call engineers
  5. Partitioning GitHub’s relational databases to handle scale
  6. GitHub’s Engineering Team has moved to Codespaces
  7. Why (and how) GitHub is adopting OpenTelemetry
  8. Security keys are now supported for SSH Git operations
  9. How we use Web Components at GitHub
  10. How we use GitHub Actions to manage GitHub Docs
  11. How we ship code faster and safer with feature flags
  12. Behind GitHub’s new authentication token formats
  13. How we scaled the GitHub API with a sharded, replicated rate limiter in Redis
  14. How GitHub Actions renders large-scale logs
  15. Scripting with GitHub CLI
  16. How we illustrate at GitHub
  17. Making GitHub’s new homepage fast and performant
  18. Building On-Call Culture at GitHub

2020 17

  1. Visualizing GitHub’s global community
  2. How we built the GitHub globe
  3. Reducing flaky builds by 18x
  4. Improving the GHES release process: release candidates
  5. Making GitHub CI workflow 3x faster
  6. Building GitHub: introduction
  7. GitHub Mobile and GraphQL
  8. How we threat model
  9. Upgrading GitHub to Ruby 2.7
  10. Why Write ADRs
  11. CodeGen: Semantic’s improved language support system
  12. How we launched docs.github.com
  13. Three bugs in the Go MySQL Driver
  14. Remote work: Engineering’s perspective on humanizing the remote work experience
  15. Remote work: Working together when we’re not together
  16. From 48k lines of code to 10—the story of GitHub’s JavaScript SDK
  17. CERT partners with GitHub Security Lab for automated remediation

2019 9

  1. Behind the scenes: GitHub security alerts
  2. Debugging network stalls on Kubernetes
  3. Introducing the CodeSearchNet challenge
  4. Running GitHub on Rails 6.0
  5. GitHub Token Scanning—one billion tokens identified and five new partners
  6. Commit signing support for bots and other GitHub Apps
  7. SSH certificate authentication for GitHub Enterprise Cloud
  8. Direct instruction marking in Ruby 2.6
  9. Five years of the GitHub Bug Bounty program

2018 8

  1. Introducing the new GitHub Status Site
  2. Behind the scenes of GitHub Token Scanning
  3. Applying machine intelligence to GitHub security alerts
  4. Upgrading GitHub from Rails 3.2 to 5.2
  5. Removing jQuery from GitHub.com frontend
  6. GLB: GitHub’s open source load balancer
  7. MySQL High Availability at GitHub
  8. Using Figma designs to build the Octicons icon library

2017 16

  1. Mitigating replication lag and reducing read load with freno
  2. Stretching Spokes
  3. Transit and Peering: How your requests reach GitHub
  4. Evolution of GitHub’s data centers
  5. Kubernetes at GitHub
  6. Topic Suggestions for Millions of Repositories
  7. Soft U2F
  8. MySQL infrastructure testing automation at GitHub
  9. DNS Infrastructure at GitHub
  10. How Four Native Developers Wrote An Electron App
  11. Enabling DNS split authority with OctoDNS
  12. A formal spec for GitHub Flavored Markdown
  13. Discontinue support for weak cryptographic standards
  14. A glimpse into GitHub’s Bug Bounty workflow
  15. GitHub’s post-CSP journey
  16. Moving persistent data out of Redis

2016 9

  1. Orchestrator at GitHub
  2. How we made diff pages three times faster
  3. Introducing the GitHub Load Balancer
  4. Building resilience in Spokes
  5. Context aware MySQL pools via HAProxy
  6. SYN Flood Mitigation with synsanity
  7. GitHub’s CSP journey
  8. Introducing DGit
  9. Delivering Octicons with SVG

2015 8

  1. Move Fast and Fix Things
  2. GitHub’s Metal Cloud
  3. LIKE injection
  4. Scripts to Rule Them All
  5. Deploying branches to GitHub.com
  6. Workload Analysis with MySQL’s Performance Schema
  7. Eight lessons learned hacking on GitHub Pages for six months
  8. How GitHub uses GitHub to document GitHub

2013 2

  1. Yummy cookies across domains
  2. TCMalloc and MySQL