Lesson 3 of 16 intermediate

Open Source & Developer Visibility

Get noticed by contributing to projects used by thousands of developers

Open interactive version (quiz + challenge)

Real-world analogy

Contributing to open source is like volunteering at a community event where all the top chefs in town also volunteer. You work alongside them, learn their techniques, and when a restaurant job opens up — they already know you and your work ethic. You skipped the resume pile entirely.

What is it?

Open source contribution is working on publicly available software projects maintained by companies or communities. Developer visibility means being known in your tech community through contributions, content, and conversations. Together, they create a reputation that makes opportunities come to you instead of you chasing them.

Real-world relevance

Evan You created Vue.js as a side project while contributing to open source. Dan Abramov got hired by Facebook after his Redux library gained traction. But you don't need to create a framework — developers regularly get hired because a maintainer recommended them, or a hiring manager read their blog post, or their GitHub contribution showed up in a search.

Key points

Code example

# Pull Request Template (.github/PULL_REQUEST_TEMPLATE.md)
\`\`\`markdown
## What does this PR do?
<!-- Describe the change in 1-2 sentences -->

## Why is this change needed?
<!-- Link to issue: Fixes #123 -->

## How to test
<!-- Step-by-step instructions to verify the change -->
1.
2.
3.

## Screenshots (if applicable)
<!-- Before/After screenshots for UI changes -->

## Checklist
- [ ] I've read the CONTRIBUTING.md
- [ ] Tests pass locally (`npm test`)
- [ ] I've added tests for new functionality
- [ ] Documentation is updated
- [ ] PR title follows conventional commits (feat:, fix:, docs:)
\`\`\`

# Open Source Contribution Workflow
\`\`\`bash
# 1. Fork the repo on GitHub, then clone your fork
git clone https://github.com/YOUR_USERNAME/project-name.git
cd project-name

# 2. Add upstream remote to stay in sync
git remote add upstream https://github.com/ORIGINAL_OWNER/project-name.git

# 3. Create a feature branch from latest main
git fetch upstream
git checkout -b fix/improve-error-message upstream/main

# 4. Make your changes, test them
npm test
npm run lint

# 5. Commit with a clear message
git commit -m "fix: improve error message for invalid config path"

# 6. Push to your fork and create PR
git push origin fix/improve-error-message
# Then open PR on GitHub from your fork to upstream/main
\`\`\`

Line-by-line walkthrough

  1. 1. The PR template starts with 'What' — a clear, concise description so reviewers understand the change immediately
  2. 2. 'Why' links to the issue — every PR should trace back to a reported problem or feature request
  3. 3. 'How to test' gives step-by-step verification — this respects the maintainer's time
  4. 4. The checklist ensures quality: CONTRIBUTING.md read, tests pass, docs updated, proper commit format
  5. 5. The workflow starts by forking — you never push directly to someone else's repo
  6. 6. Adding upstream remote lets you sync with the original project as it evolves
  7. 7. Creating a branch from upstream/main ensures you're working from the latest code
  8. 8. Running tests and lint before committing catches issues early — don't waste reviewer time

Spot the bug

# My first open source contribution
git clone https://github.com/ORIGINAL_OWNER/big-project.git
cd big-project
# Made changes directly on main branch
git add .
git commit -m "changes"
git push origin main
Need a hint?
There are 4 critical mistakes in this contribution workflow. What are they?
Show answer
(1) Cloned the original repo instead of forking first — you can't push to repos you don't own. (2) Made changes directly on main instead of creating a feature branch. (3) Commit message 'changes' is useless — should describe what and why. (4) 'git add .' stages everything including potential unrelated files — should add specific files.

Explain like I'm 5

Imagine there's a big community garden where everyone grows vegetables together. If you help water the plants, pull some weeds, and plant a few flowers — everyone sees you helping. When someone needs a gardener for their private garden (a job!), they already know you're good because they watched you work.

Fun fact

The term 'open source' was coined in 1998 at a strategy session in Palo Alto. Today, 97% of commercial software uses open source components. GitHub reported that over 413 million open source contributions were made in 2023 alone.

Hands-on challenge

Find an open source project you use daily (your framework, a tool, a library). Browse its issues and find one labeled 'good-first-issue' or 'help-wanted'. Read the project's CONTRIBUTING.md, fork the repo, and set up the development environment locally. Even if you don't submit a PR today, write down 3 potential contributions you could make (docs fix, test addition, bug fix). Then start a brag document — a simple markdown file listing your contributions, articles, and talks.

More resources

Open interactive version (quiz + challenge) ← Back to course: Career Launchpad