What a Link to Your Code Actually Proves
A link to code is the only line on an engineering resume that a reviewer can check. Everything else is a claim; this is an artefact. That makes it unusually powerful and unusually risky, because the same click that verifies your claims can also contradict them.
It is worth being precise about what the link establishes. Most people either overrate it — assuming a public repository settles the question of whether they can code — or underrate it, treating it as decoration.
What a reviewer can genuinely verify
That you write code someone else can read. Naming, structure, function length, whether the abstractions correspond to anything. This is the main thing, and it is checkable in a couple of minutes of scrolling.
That you finish things. A repository with a working entry point, a README that matches the code, and no half-migrated directory is evidence of completion. A reviewer forms this judgement almost instantly and it is difficult to counterfeit.
That you test when testing is appropriate. Not coverage — the presence and character of tests. Tests that assert behaviour at a sensible boundary say something. A single test file that instantiates a class and asserts it isn’t null says something else.
That you know the ordinary hygiene. No committed credentials, no vendored dependencies checked in by accident, a lockfile, a sane commit history, something resembling error handling. These are unremarkable when present and disqualifying when absent.
That the claim on your resume matches the artefact. If your bullet says you built a CLI that parses Terraform plans and the repository contains one, the whole resume gets a small credibility increase. That transfer is the real value of the link.
What it cannot prove, and what people expect it to
That you can work in a large existing codebase. This is the actual job and a small personal repository says almost nothing about it. Nobody’s side project has the properties that make production work hard: other people’s abstractions, a decade of accumulated decisions, consumers you can’t break, and a test suite you inherited. The place to evidence that is a contribution to a project you don’t own — see side projects, open source, and what counts — or a bullet about landing a change in a system you didn’t write, as in when the work was keeping a legacy system alive.
That you wrote it. A reviewer looking at a repository has no way to establish authorship beyond the commit history, which is easy to produce and which nobody audits. Reviewers know this, so a repository is treated as consistent-with rather than proof-of. This is a reason not to over-invest in the link at the expense of your work history.
That you can make design decisions under constraint. A project with no deadline, no existing interface, no cost ceiling, and one user is unconstrained by definition. The decisions in it are preferences. That’s not a criticism of side projects; it’s a limit on what they demonstrate, and it’s why the constraints line in a selected-work block does work no repository can.
That you are current. A repository last touched some years ago proves you could write code then. That is usually still worth something, and it is not what the reader assumes the link is for.
The commit history question
Commit history is the one thing about a repository that reads as biography, and reviewers do look at it, informally.
What reads well: commits with messages that explain why, a history that shows the project being built in stages, occasional evidence of a wrong turn being reverted. What reads poorly: one enormous initial commit containing the whole project, dozens of commits titled “fix”, or a burst of activity in the week before you started applying.
None of this is decisive and it is worth not being paranoid about it. But it does mean a project you built gradually and honestly looks better than one you assembled in a weekend to have something to link, which is an argument for building the thing before you need it.
Profile link or repository link
Different decisions with different failure modes.
A profile link invites the reviewer to survey everything, including the forks from years ago and the abandoned starts. That’s fine if the profile has pinned repositories doing the work of selection, and bad if the first screen is coursework. If you link a profile, pin your best three and make sure the top of the page is what you want read.
A direct repository link controls the impression completely and is the better choice when you have one strong thing and a thin profile. The cost is that it looks like you have exactly one thing, which is true and not a problem.
Both is reasonable on a resume with a projects section: the profile in the contact block, specific repositories on the individual project entries.
Neither is the correct answer more often than the internet suggests. An empty or embarrassing profile linked from your contact block is strictly worse than no link, because the reviewer spent a click to learn nothing.
What raises the value of a link, cheaply
Given a repository you’re going to link anyway, the highest-return work is not in the code.
The README. It is the landing page and it determines whether the code gets read at all. Problem, approach, how to run it, and one honest note about a limitation. Framework scaffold text still sitting there is the single most common own goal in this genre.
A pinned example of output. A screenshot, a sample of the command’s output, a small input-and-result pair. It lets a reviewer understand the project without running it, which they were never going to do.
Removing the abandoned repositories, or archiving them. Archiving is honest and it changes how the profile reads at a glance.
Making sure it runs. From a clean checkout, following your own README. A dependency that no longer resolves turns a positive signal negative.
When to leave it off
Two cases where the link costs you.
If your professional experience is strong and relevant and your public code is tutorial-shaped, the link splits the reader’s attention and the comparison is unflattering. Space on a resume is zero-sum, as what belongs on an engineering resume argues, and this line has to beat the line it displaced.
If the code is genuinely old and you’d wince at it now, either remove the link or make the framing accurate: github.com/… (older projects; current work is closed-source). That is a perfectly normal sentence and it prevents the reviewer from reading a repository from your first job as your current standard.
Norms differ here by sector. Developer-tooling and infrastructure companies frequently do look; plenty of enterprise employers never open the link at all. Weight the effort accordingly rather than assuming one convention.
The check before you paste it in
Open the link in a private window and read it in the order a stranger would: profile or README first, then one source file, then the commit list. Stop when you have formed an impression.
If that impression supports what your bullets claim, the link is doing its job. If it raises a question your resume can’t answer, fix the repository or drop the line — those are the only two options, and dropping it costs nothing.