Skip to content
SparkTime, home
Off-Campus Placements With AI
Lessons
1 · Reality Check and Your Search Plan
2 · Building Credibility From Zero
3 · Resume and LinkedIn
4 · Finding Jobs Before the Crowd
5 · Applications and Referrals
6 · Online Assessments and DSA
7 · Company Research for Interviews
8 · Technical Interview Rounds
9 · Behavioral and HR Rounds
10 · Offers, Negotiation and Joining
11 · Rejection, Diagnosis and Momentum
Lesson 9 of 44

Lesson 9 · Building Credibility From Zero

External Proof: Open Source, Hackathons and Writing About Your Work

Your own projects show you can build. Outside proof shows that someone else found your work worth accepting, rewarding or reading. This article covers making a first useful open-source contribution in your target stack, entering hackathons for the right reasons, and writing about what you built, with AI as an editor rather than an author.

On this page

Key takeaways

  • Outside proof is the top of the proof ladder: a merged contribution, a hackathon result or a published write-up shows that others value your work.
  • Contribute to libraries in your target companies' stack. Fix real bugs or add missing tests; skip typo-only changes.
  • Follow the project's contribution guide, reproduce the problem, ask before starting, keep the change small and answer review comments. Never submit AI-generated changes you have not understood and tested.
  • Hackathons are worth it for a finished, demonstrable build and sometimes a category prize, not only the grand prize.
  • Write about one decision or one bug you solved. Use AI to question and edit your draft, not to write it.

You built a project, deployed it and wrote a good README. To a recruiter, it is still something you say about yourself, however well presented. The next step up the proof ladder is evidence that someone else looked at your work and valued it: a maintainer merged your change, judges picked your project, readers responded to your post.

You need only one of these. This article covers all three so you can choose the one that suits your time and target companies.

What you will learn

#
  • How to choose an open-source project that helps your applications, and find a real issue in it.
  • The etiquette of contributing, so that your first pull request is welcome.
  • How to describe a contribution on your resume, merged or not.
  • Which hackathons are worth your time and what to take away from them.
  • How to write a short technical post about your work, with AI as an editor.

Open source: choose the project for your targets

#

The common mistake is to aim at the most famous projects, such as large frameworks or operating system kernels, get lost in a huge codebase and give up. Or to fix a typo in documentation, which helps the project a little and proves almost nothing about you.

A better approach, stack-aligned contribution:

  1. Note the stack in your target companies' job descriptions (article 7 already gave you this list): the language, the framework and the libraries they name.
  2. Find smaller libraries in that stack: plugins, client libraries, validation libraries, testing utilities. A library with a few hundred to a few thousand stars, active maintainers and recent releases is a good size.
  3. Find a real issue: a bug with steps to reproduce, a missing test for an existing feature, a small, well-defined feature request, or an error message that confuses users.

The connection then works in your applications: "Your team uses [library]; I fixed [issue] in it: [link]." Few freshers can say that.

Finding issues

#

Where

How

The repository's own issue list

Filter by labels such as good first issue, help wanted or bug; read the newest first

GitHub search

Search issues with is:open label:"good first issue" language:Java (change the language), and sort by recently updated

Aggregator sites

Sites such as goodfirstissue.dev and up-for-grabs.net list beginner-friendly issues across many projects

Your own use

The best issues are bugs you hit yourself while using a library in your project

How to contribute without annoying maintainers

#

Maintainers are usually volunteers or busy employees. A contribution that costs them more effort than it saves is unwelcome, however well meant. Follow this order:

  1. Read the contribution guide (CONTRIBUTING.md) and the code of conduct. Follow their rules on branches, tests, commit messages and signing.
  2. Reproduce the problem locally before anything else. If you cannot reproduce it, say so on the issue with what you tried.
  3. Comment before you start: "I'd like to work on this. My plan is [one or two sentences]. Does that fit?" Do not just write "please assign me", and do not start on an issue someone else is already working on.
  4. Keep the change small and focused. One issue, one pull request. Do not reformat unrelated files.
  5. Add or update tests that fail before your fix and pass after it.
  6. Describe the pull request well: what was wrong, how you fixed it, how you tested it, and a link to the issue.
  7. Respond to review politely and quickly. Review comments are a free lesson from an experienced engineer.

Using AI to understand an unfamiliar codebase

#

This is a good use of an assistant: it can read code quickly and explain structure. Ask it to point you to places to read, and verify by reading them yourself.

Code
I want to fix this issue in an open-source library: [paste issue text].Below are the README, the folder structure and the files I think are relevant.1. Explain how the relevant part of the code works, citing file and function names   from what I pasted.2. Where is the bug most likely to be, and why?3. What test would reproduce it?Do not write the fix. Say clearly if the answer depends on code I did not paste.[paste README, tree output, and relevant files]

Then read those files yourself, reproduce the bug, and write the fix.

On your resume, merged or not

#

A merged pull request is the strongest version. An open pull request that fixes a real issue still shows work, as long as you describe it honestly:

Code
Open source: Fixed incorrect time-zone handling in date parsing in [library](used by [n] dependants on GitHub). Added 6 regression tests. Merged. [PR link]Open source: Proposed a fix for [issue] in [library], with tests; under review. [PR link]

Never describe an open pull request as merged, or a typo fix as "contributed to [famous project]". The link lets anyone check, and interviewers do.

Hackathons

#

A hackathon gives you three things: a deadline that forces you to finish something, a team experience you can talk about in behavioral rounds (article 34), and occasionally a result that others decided on.

Where to find them

#
  • Devpost: many online hackathons worldwide, often with sponsor prizes.
  • Unstop: a large Indian platform for student competitions and hackathons, including company-sponsored ones.
  • Major League Hacking (MLH): a student hackathon league with many online and in-person events.
  • Company-run hackathons and hiring challenges: some companies use these to find candidates.
  • Your college and nearby colleges: smaller events, often with less competition.

Choosing and doing them well

#
  • Look at all the prize categories, not just the grand prize. Many hackathons have category prizes for the best use of a sponsor's technology, the best beginner project and so on, which are easier to win and just as verifiable.
  • Scope ruthlessly. A small demo that works beats an ambitious one that crashes during judging.
  • Keep the code afterwards. Push it to your GitHub with a README and a short video of the demo. A hackathon project you can show is worth much more than a line saying you took part.
  • Know your part. In a team, be ready to say exactly what you built.

On your resume:

Code
Winner, Best Use of [Sponsor] API, [Hackathon name] ([platform], [month year], [n] teams).Built [what] with [stack] in 36 hours; I built [your part]. [repo] [demo video]

"Finalist" or "top 10 of 300 teams" is worth listing if it is true and checkable. Participation alone is not worth much space; the project you built is.

Writing about your work

#

A short post about something you built shows that you understand it well enough to explain it, and it gives you a link that comes up when someone searches your name. It does not need to be long or clever.

What to write

#

Good topics for a first post are specific and first-person:

  • One decision: "Why I used idempotency keys in my payment service, and the race condition I found."
  • One bug: "The time-zone bug that broke my booking app, and how I tracked it down."
  • One measurement: "How adding an index took my search endpoint from 400 ms to 15 ms."
  • One contribution: "My first open-source fix: what I learned from the code review."

Avoid generic tutorials ("What is REST?"). Thousands exist, and they show nothing about you.

Where to publish

#

Developer blogging platforms (such as dev.to and Hashnode), your own portfolio site, or LinkedIn articles all work. Cross-posting is fine if the platform allows it. Link the post from your project README and your LinkedIn Featured section (article 13).

AI as editor, not author

#

Recruiters and engineers increasingly recognise AI-written posts: smooth, generic and empty of real detail. They also tell readers that you did not write it. Write the draft yourself, then use AI to improve it:

Code
Below is a draft blog post I wrote about a bug I fixed in my project.Act as a strict editor. Do not rewrite it in your own style.1. Which paragraph is hardest to follow, and why?2. Where does a reader need a detail I did not give (a number, an error message,   a code snippet)? List questions, not answers.3. Which sentences are generic and could appear in anyone's post?4. Suggest a clearer title, keeping it specific.Keep my voice. Point out problems; I will fix them myself.[paste draft]

Optional: sharing more widely

#

Communities such as Reddit's programming and side-project forums, or "Show HN" on Hacker News, can bring feedback and readers, but they are blunt and have strict rules against self-promotion. Share only when the project is genuinely useful to others, read each community's rules first, and treat criticism as free review.

A worked example

#

Farhan targets companies whose job posts mention Spring Boot and a particular validation library.

  • Open source: while building his project he finds that the validation library gives a confusing error message for one case. He searches the issues, finds it reported but unfixed, comments with a plan, gets a maintainer's go-ahead, and submits a small fix with two tests. After one round of review it is merged.
  • Writing: he writes an 800-word post about the bug, the review comments and what he learned about the library's internals, with an AI editor pass that points out two places where readers would need the actual error message.
  • Resume line: the merged pull request, with the link, under a separate "Open source" heading.

In an interview at a company using that library, this becomes a ten-minute conversation he leads.

Common mistakes

#
  • Typo-only pull requests to famous projects, listed as "contributor to [project]".
  • Starting work without commenting on the issue, then finding someone else already fixed it.
  • Submitting AI-generated changes you have not tested or understood.
  • Entering hackathons to collect participation certificates instead of shipping something showable.
  • Publishing an AI-written post under your name.

Exercises

#

Exercise 1

Rate these contributions

#

Rank from most to least useful as proof of work, and explain: (a) fixed two typos in a famous framework's documentation; (b) added a missing test that exposed and fixed an off-by-one bug in a mid-sized library your target companies use; (c) opened a pull request with a large refactor of a project's folder structure, no issue, no discussion; (d) improved an unclear error message in a library, after discussing it with a maintainer.

Exercise 2: Write the first comment

#

You found an open issue: "Parsing fails for dates with a trailing 'Z'." Write the comment you would post before starting work.

Exercise 3: Fix the resume lines

#

Rewrite these honestly: (a) "Open-source contributor to Kubernetes" (one merged documentation typo fix); (b) "Hackathon winner" (participated, did not place, built a working demo); (c) "Published technical author" (one blog post with 40 views).

Exercise 4: Plan one piece of outside proof

#

Choose one of the three routes for the next three weeks. Write the exact target (a library and issue, a hackathon and date, or a post title and outline) and the first two actions.

Show solutionHide solution
  1. (b) is the most useful: a real bug, found and fixed with a test, in a library relevant to your targets. It shows reading unfamiliar code, testing and working with reviewers.
  2. (d) is useful: a real improvement to users' experience, and you followed good etiquette by discussing it first. It shows less technical depth than (b).
  3. (a) helps the project a little but proves very little about your engineering. Fine to do, but do not present it as a major contribution.
  4. (c) is the least useful and may harm you: unsolicited large refactors without discussion are often rejected, and maintainers may remember the name. It shows poor collaboration.

Exercise 2

Show solutionHide solution
Code
Hi, I'd like to work on this if no one else is.I can reproduce it on the latest release: parsing "2026-03-01T10:00:00Z"throws a DateTimeParseException, while "2026-03-01T10:00:00+00:00" works.My plan: treat a trailing "Z" as UTC in [the parsing function], and addtests for "Z", "+00:00" and a non-UTC offset. Does that approach fit howyou'd like this handled, or is there a reason "Z" is rejected on purpose?

It confirms the reproduction with specifics, states a small plan including tests, and asks whether there is a reason for the current behaviour, which shows respect for the maintainers' knowledge.

Exercise 3

Show solutionHide solution

(a) "Fixed a documentation error in Kubernetes [PR link]", or leave it off the resume if space is tight. Calling yourself a "contributor to Kubernetes" for a typo will be checked and will cost you credibility.

(b) "Built [project] at [hackathon] ([month year]): a working demo of [what] using [stack]; I built [your part]. [repo] [demo]". The demo is the proof; "winner" would be false.

(c) Drop the title. List the post itself: "Wrote about [topic]: [title] [link]." The content is what matters, not a label.

Exercise 4

Show solutionHide solution

Examples of a good plan:

  • Open source: "Library: [name], used in two of my target companies' job posts. Issue: #[n], confusing error for [case]. Actions: reproduce it locally by Wednesday; comment with a plan by Thursday."
  • Hackathon: "[Event name], online, [dates]. Actions: form a team of three with clear roles this week; agree on a one-feature scope the day before."
  • Writing: "Title: 'The race condition in my payment service, and how a unique constraint fixed it'. Outline: the bug, how I found it, the fix, what I learned. Actions: draft by Friday; editor pass and publish by Sunday."

A vague plan ("contribute to open source") almost never happens. A named target and two dated actions usually does.

Where to go next

#

Keep reading

More in Career →
  • Guide · Career

    Interview Preparation and Mock Interviews with AI

  • Guide · Career

    Job Descriptions, Skill Gaps and Portfolio Projects with AI

  • Guide · Career

    A LinkedIn Profile That Gets Recruiter Messages