Skip to content

Guides

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

Amit Saha

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

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

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.

Naveen Srinivasan & Brian Russell // OpenSSF

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.

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.

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.

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.

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.

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.

swyx | @swyx

Breaking apart the monolith

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

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.

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.

Lisa Tagliaferri, PhD // Chainguard

Implementing software security in open source

How to automate security and build confidence in your code.

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.

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.

Sonia John

Taking a DevRel approach to developer onboarding

Maximizing community participation is a journey, not a destination.

Lorin Hochstein // Netflix

Making operational work more visible

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

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.

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.

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.

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.

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.