DEV Community

Timevolt
Timevolt

Posted on

The GitHub Fellowship: How One Simple PR Technique Boosted My Profile

The Quest Begins (The "Why")

I remember the first few months after I created my GitHub account. I stared at my contribution graph, saw a few lonely squares, and wondered why my profile felt like a deserted town. I’d fork a repo, make a tiny tweak—maybe fix a typo or adjust a comment—and send a pull request that got lost in the void. Maintainers would comment, “Thanks, but we need a bit more context,” or worse, they’d close it without feedback. I felt like I was shouting into a canyon and hearing only my own echo.

The problem wasn’t that I lacked skill; it was that I wasn’t speaking the language maintainers actually want to hear. I was submitting code without the story that makes it easy to review, merge, and remember. I needed a repeatable way to show up, add value, and leave a trace that screamed, “I’m reliable, I read the docs, and I care about quality.”

The Revelation (The Insight)

After a few frustrating weeks, I stumbled upon a pattern in the projects I admired: the contributors whose names kept showing up had two things in common.

  1. They picked “good first issues.” These are issues tagged by maintainers as approachable for newcomers—usually a small bug, a missing test, or a documentation gap.
  2. They followed a crystal‑clear PR template every single time. Not a vague “Fixes #123” but a short, structured narrative that walked the reviewer through what was broken, why it mattered, how they fixed it, and what they tested.

When I combined those two habits, something magical happened. My PRs got merged faster, maintainers started leaving genuine “thanks” comments, and my contribution graph began to fill in like a progress bar in a game. The technique is simple, but it’s exactly what maintainers skim for when they’re deciding whether to invest their limited review time.

Wielding the Power (Code & Examples)

The “before” – a PR that gets ignored

Title: Fix typo in README

Description:

Fixed a typo.

That’s it. No link to the issue, no explanation of why the typo matters, no evidence that I ran the project locally. A maintainer has to guess whether this is a trivial change or if I missed something bigger.

The “after” – a PR that gets merged

Title: Fix missing newline at end of file in utils.js (fixes #42)

Description:

Summary

Added a missing newline at the end of utils.js to satisfy the project's ESLint rule and prevent diff noise.

Steps to reproduce

  1. Clone the repo.
  2. Run npm run lint.
  3. Observe the error: error Missing newline‑char eol-last utils.js.

Why this fix works

The ESLint configuration (eslint-config‑project) requires eol‑last. Adding \n resolves the lint error without changing any logic.

Testing

  • Ran npm test – all tests pass.
  • Ran npm run lint – no errors remain.
  • Verified locally that the file still builds and the utility functions behave as expected.

Related issues

Closes #42.

Checklist

  • [x] Code follows the project's style guide.
  • [x] Tests updated/added (none needed for this change).
  • [x] Documentation updated (none needed).

That’s the exact wording I now copy‑paste for every small contribution. It takes maybe two extra minutes to fill out, but it pays off tenfold in review speed and maintainer goodwill.

Code snippet – before & after

Suppose the repo contains a simple helper:

// utils.js
export function add(a, b) {
  return a + b;
}
Enter fullscreen mode Exit fullscreen mode

The ESLint rule flags the missing newline. The fix is literally one character:

// utils.js
 export function add(a, b) {
   return a + b;
+}
Enter fullscreen mode Exit fullscreen mode

Notice how the PR description ties that one‑character change to a concrete lint error, shows how to reproduce it, and proves the fix works with the existing test suite. No guesswork, no back‑and‑forth.

What NOT to do

  • Don’t bundle unrelated changes (e.g., fixing a typo and refactoring a module) in the same PR. It dilutes focus and makes review harder.
  • Don’t omit tests or a reproduction step. If the issue is a bug, show the failing test; if it’s a docs fix, show the before/after snippet.
  • Don’t rely on emojis or slang to convey professionalism. A clear, structured tone speaks louder than any 🎉.

Why This New Power Matters

Since I adopted this habit, my GitHub profile transformed from a barren landscape to a showcase of trusted contributions. Maintainers now assign me to triage issues, and I’ve been invited to become a regular contributor on a couple of projects I once only observed. Recruiters have mentioned my PRs during interviews, pointing out that they can see my thought process, my attention to detail, and my ability to follow contribution guidelines—all things that matter far more than a star‑filled repo list.

The best part? The technique scales. Whether you’re fixing a one‑line typo, adding a test, or writing a small utility, the same template works. It turns every contribution into a miniature case study of your engineering rigor.

Your Turn – The Quest Starts Now

  1. Find a good first issue – look for the label good first issue or help wanted in a project you use or admire.
  2. Clone, reproduce, and write a failing test (if applicable).
  3. Make the minimal change that solves the problem.
  4. Craft your PR using the exact wording/template above (feel free to adapt the section names to the repo’s style).
  5. Submit, wait for feedback, and iterate if needed.

Give it a try on the next issue you see. When that PR gets merged, you’ll feel that same rush I felt when my first contribution finally stuck—like when Harry Potter finally got his wand to work and the spell actually lit up the room.

Now go forth, make your mark, and watch those contribution squares fill up. Happy hacking!

Top comments (0)