Skip to content

Guides

Expert developers and teams share best practices in software engineering, collaboration, and culture.

Nick Penston // Fidelity Investments

Scaling standards and community in your organization

Learn how to implement open source community ideas to spread best practices.

Shared learnings from leaders in the open source community

Software development should be accessible for both novices and seasoned professionals alike. From trending topics and technologies to best-practices, community contributions empower us to learn from experts and build better, together.

Denys Lashchevskyi // Betsson

A beginner’s guide to running and managing custom CodeQL queries

Transform your code into a structured database that you can use to surface security vulnerabilities and discover new insights.

Niek Palm // Philips

Provisioning self-hosted GitHub Actions runners on demand

How Philips optimized their CI/CD process using GitHub Actions and self-hosted runners.

Mike Gifford // CivicActions

Treat accessibility issues as bugs, not feature requests

Follow Drupal’s lead: Prioritize and systematically squash accessibility bugs.

Ruth Ikegah

Make your first open source contribution in four easy steps

A beginner's guide to making an impact with open source contributions.

Chris Johnson // Eli Lilly

Secure cloud deployment and delivery

Building a better development environment to increase speed to delivery with ​​GitHub.

Tramale Turner // Action IQ

Turbulent times call for adaptive leadership

Learn what adaptive leadership is, how it compares to other leadership styles, and how you can adopt its principles.

Shanea Leven // CodeSee

From chaos to clarity: Use code visibility to illuminate unfamiliar code

How to make your code more clear to other developers—and your future self.

Feross Aboukhadijeh // Socket

Do your part to secure the open source supply chain

We're just beginning to reckon with new security risks introduced by the tangled web of dependencies in our apps.

Aaron Francis // PlanetScale

Finish your projects

Don’t let fear, or that last 10%, hold you back.

Noah Gift // Pragmatic AI Labs

The case for using Rust in MLOps

Level up your Rust skills and push MLOps forward with GitHub Copilot.

Gio Lodi // Automattic

Accelerate test-driven development with AI

Get faster feedback loops by letting GitHub Copilot augment your TDD workflow.

AI

Anton Mirhorodchenko

Harness the power of generative AI for software development

Tools like GitHub Copilot and ChatGPT can change the way you build software.

AI

Josh Goldberg

Formatters, linters, and compilers: Oh my!

An overview of how those three kinds of static analysis tools work in the JavaScript/TypeScript ecosystem.

AI

Dr. Johanna Pirker

Twitch: A game changer for developers

Gaming technologies offer real benefits for virtual spaces.

Jerome Hardaway // Microsoft

Junior to senior: An action plan for engineering career success

Enhance your engineering career prospects using this systematic guide for skill development and growth.

Art Chaidarun // Duolingo

Simplifying developer onboarding with a few clicks

Migrating from a monolithic architecture to a microservices approach required tooling that enabled both flexibility and consistency.

Niek Palm // Philips

Safer GitHub administration through IssueOps

Use GitHub Actions to promote and demote admins—it’s like sudo for GitHub!

Ryn Daniels

How to put the plus in ‘staff+’ engineer

Whether you’re already a staff+ engineer or you’re looking to advance, here’s how to be a force multiplier for your teams and organization

Claudio Wunder // Hubspot

Find edge case errors in your code base

GitHub Copilot offers some surprising benefits for solving particularly stubborn problems.

Lisa Vanderschuit // Shopify

Help your team sustain a healthy work-life balance

Finding clarity, focus, and agency in day-to-day work.

Mikio Braun

The unique origins of open source in machine learning

How open source came to dominate machine learning and what that means for today.

AI

Jess Pomfret // Data Masterminds

Improve productivity through incremental automation

Small enhancements to daily workflows can have an outsized impact on the amount of available space in our day.

Prince Shekhar Valluri // LinkedIn

Enterprise code migration with developer happiness in mind

Transformational change without a big bang.

Will Larson // Calm

Move past incident response to reliability

We once relied on crossed fingers and optimism as our first line of defense, but there’s a better way.

Noah Gift // Pragmatic AI Labs

Scaling MLOps education

Manage the complexity of MLOps by centralizing the process on GitHub.

Naveen Srinivasan & Brian Russell

In Scorecard we trust

How to strengthen your software supply chain security, improve best practices, and build trust in your projects.

Amit Saha

Middleware for web applications: it’s not just for enterprises

Write cleaner, more maintainable code—and reuse it in many different contexts.

Safia Abdalla // Microsoft

How to optimize your code reviews

It’s wise to think of them as a bridge to empathy, knowledge-sharing, and team-building.

Gabriel Kohen // Blue Yonder

Autonomy vs. governance: a delicate balance of power

How Blue Yonder uses GitOps to break silos with GitHub Enterprise.

Ayden Férdeline

Privacy engineering: 8 tips to mitigate risks and secure your data

Understand what can go wrong and how to protect against the most likely scenarios.

Michael Hausenblas // Amazon Web Services

Look beyond lock-in with open source observability

When done properly, it’s a sustainable option for any and all environments.

Justin Trugman & Babitha Singh // Caregility

Incorporating security in Enterprise DevOps workflows

How Caregility prepared for third-party security audits with GitHub Advanced Security.

Cassidy Williams // Contenda

Documenting knowledge: a guide to successful note-taking

How building a team culture around thoughtful note-taking can improve collective understanding.

Leonid Stolyarov // KPMG

Working across borders to achieve more

How KPMG increases international developer effectiveness, happiness, and collaboration with GitHub Enterprise.

Dave Farley // Continuous Delivery Ltd.

What is “engineering for software?”

Applying scientific-style reasoning to improving our chances of success.

Alexandra Sunderland // Fellow

The impact of culture on code

How to eliminate misunderstandings and create a stronger team from anywhere.

Justin Watts // Telus

Shift security left in one day

It’s getting easier and more intuitive to catch mistakes before they spiral into disasters.

Hillel Wayne

The five-minute feedback fix

Writing directly-testable design requirements can help deliver high-quality software faster, and with less frustration.

Frances Coronel // Byteboard

ONWARD: A framework for maintaining maintainers

Whether the project has 3 or 3000 contributors, here’s what to focus on when collaborating with other maintainers.

Chrissy LeMaire // dbatools

Coding peace of mind: A guide to testing

Say goodbye to accidentally deleted data and faulty committed changes with this GItHub Actions framework.

James Turnbull

Build a CI/CD workflow with Github Actions

Catch issues and remove the need for manual processes so you can focus on adding features.

Sabrina Li // FullStory

Keep separate codebases in sync with GitHub Actions

Boost developer productivity by automating manual tasks.

swyx | @swyx

Breaking apart the monolith

The open source movement should really be modeled after social clubs and city governments.

Rose Judge // VMware

Configuring your Git environment for success

A quick-start guide to less frustration and better workflows.

Cassidy Williams // Contenda

Functional Programming 101

A deep dive on the benefits of functional programming and why it’s actually easier than you think.

Aaron Francis // Tuple

Publishing your work increases your luck

For every snarky comment, there are 10x as many people admiring your work.

Steve Martinelli & Genevieve L'Esperance // Shopify

Continuously deploying custom storefronts

Using GitHub Actions to deploy a custom storefront with Shopify.

Lisa Tagliaferri, PhD // Chainguard

Implementing software security in open source

How to automate security and build confidence in your code.

Mahmoud Hashemi // Stripe

Intentional creation

Tap into creativity with the 4 Cs: Consume, critique, curate, create.

Kathy Korevec // Vercel

Interview the interviewer

It’s not presumptuous to turn the tables on an interviewer.

Dana Lawson // Netlify

Hiring technical talent: An exercise in clarity, patience, and preparation

The two-way experience is as much about technical skills as it is about team fit.

Segun Adebayo

Creating a popular OSS library is a marathon, not a sprint

How to stay sane and keep your project on the right path.

Lorin Hochstein // Netflix

Making operational work more visible

How to shoulder-surf remotely and learn from the experiences of others.

Sonia John

Taking a DevRel approach to developer onboarding

Maximizing community participation is a journey, not a destination.

John Allspaw // Adaptive Capacity Labs

What we talk about when we talk about ‘root cause’

It’s a lot more nuanced than you might think.

Monica Powell // Newsela

Brag now, remember later: Document your accomplishments

In Part Four of her series, Monica shows how you are in a unique position to be your best advocate.

Juan Pablo Buriticá

The good, the bad, and the ugly of making decisions in open source

Using RFCs to support decision-making when working in public.

Jon Parise // Pinterest

Knowing when to say 'no'

Recognize which contributions are a good fit for the project—and which are not.

Monica Powell // Newsela

Your future self will thank you: Building your personal documentation

In Part Three of this series, Monica explains how to build a second brain of knowledge you’ll use over and over.

Monica Powell // Newsela

How to hone your new superpower: teaching

In part two of Monica's series on the value of documentation, she discusses the mindset, process and benefits of public documentation.

Scott Triglia // Stripe

Using ‘Roofshots’ to make impossible decisions

A developer superpower to tackle complicated projects.

James Turnbull

Optimize local dev environments for better onboarding

Empower your new engineers to hit the ground running.

Tasha Drew // VMware

Charming Pirates: Reframing user acquisition and referral for OSS

A proposal for strategically growing open source project maintainership.

Monica Powell // Newsela

Using code as documentation to save time and share context

In part one of her series, Monica shares how to do documentation to help yourself and others.

Anthony Sottile // Sentry.io

Code review is too late for code quality

Let the computers fight the style war so you can focus on what really matters.

Colby Fayock // Applitools

Overcoming human error with code automation and testing

From linting to deployment, here’s how to use automation to cut back grunt work and maximize fun.

Melanie Ensign // Discernible

Effective communication is not about what you say

How to craft the messages people need to hear to get the right results.

David Noël-Romas // Stripe

Time management for makers

As makers, software engineers should adopt these seven essential habits.

Cassidy Williams // Contenda

Get your first software developer job

Tips, tricks, and general advice for how to get in the door in tech.

Jerome Hardaway // Vets Who Code

Teaching in public with GitHub

Uplift others by sharing your knowledge.

Gina Häußge

A dev’s guide to open source software licensing

A crash course in licensing.

Kevin Riggle

How to write an internal production failure incident communication

What do you say when the system is down?

Angie Jones // Applitools

Demystifying developer advocacy

A seasoned developer advocate's answers to the most common DevRel FAQs.

Joe Lust // mabl

Walking the walk: bringing end-to-end automation and testing to internal teams

On creating streamlined workflows and a seamless developer experience with built-in CI/CD.

Austin Hemmelgarn // Netdata

Connected by collaboration: unifying DevOps and open source

On building a developer-first release process for all: remote teams, enterprise users, and the open source community.

George Swan // Autodesk

Transforming productivity with a ‘whole product’ CI/CD pipeline

How a shift towards innersource and shared best practices unified teams on a single DevOps pipeline.

Kevin Mo // Front

Boosting speed and scalability with continuous deployments

Why building fast means balancing risk and practicality—from infrastructure migration to project management.

About The
ReadME Project

Coding is usually seen as a solitary activity, but it’s actually the world’s largest community effort led by open source maintainers, contributors, and teams. These unsung heroes put in long hours to build software, fix issues, field questions, and manage communities.

The ReadME Project is part of GitHub’s ongoing effort to amplify the voices of the developer community. It’s an evolving space to engage with the community and explore the stories, challenges, technology, and culture that surround the world of open source.

Follow us:

Nominate a developer

Nominate inspiring developers and projects you think we should feature in The ReadME Project.

Support the community

Recognize developers working behind the scenes and help open source projects get the resources they need.

Thank you! for subscribing