Skip to content

Guides

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

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.

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.

Nick Penston // Fidelity Investments

Scaling standards and community in your organization

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

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.

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.

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.

Aaron Francis // PlanetScale

Finish your projects

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

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

Noah Gift // Pragmatic AI Labs

The case for using Rust in MLOps

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

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

Gio Lodi // Automattic

Accelerate test-driven development with AI

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

AI

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!

Dr. Johanna Pirker

Twitch: A game changer for developers

Gaming technologies offer real benefits for virtual spaces.

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

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

Claudio Wunder // Hubspot

Find edge case errors in your code base

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

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.

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.

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.

Noah Gift // Pragmatic AI Labs

Scaling MLOps education

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

Amit Saha

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

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

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.

Gabriel Kohen // Blue Yonder

Autonomy vs. governance: a delicate balance of power

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

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.

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.

Alexandra Sunderland // Fellow

The impact of culture on code

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

Dave Farley // Continuous Delivery Ltd.

What is “engineering for software?”

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

Leonid Stolyarov // KPMG

Working across borders to achieve more

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

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.

Rose Judge // VMware

Configuring your Git environment for success

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

swyx | @swyx

Breaking apart the monolith

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

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.

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.

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.

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.

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

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.

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.

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.

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.

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.

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.

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.

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.

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