Your GitHub Is Your Résumé
For a junior developer with no work history, a page of finished projects beats a page of adjectives every time. Here is how to build a portfolio that answers the only question an employer is really asking.
When you apply for your first developer job, you have a problem: no professional experience. The CV that works for a retail job - a list of past roles and cheerful adjectives about being a team player - has almost nothing to say. So how does an employer decide whether to take a chance on you?
They look at what you have built. For a junior developer, your portfolio is your résumé, and it answers the only question the employer actually cares about: can this person build working software? Everything else is commentary. Let us make sure your portfolio answers that question with a confident yes.
Depth beats breadth
The instinct is to show everything - every tutorial you followed, every half-started experiment, a GitHub profile with forty repositories to prove how busy you have been. Resist it. A profile stuffed with forty abandoned tutorial-follow-alongs actually signals the opposite of what you intend: that you start constantly and finish rarely, and that you cannot tell your good work from your throwaway work.
Far better to have three or four finished, polished, genuinely yours projects than forty scraps. An employer glancing at your profile is trying to gauge your ceiling and your judgement. Three solid projects that each do something real, are properly documented, and actually run when someone clones them, say more than any quantity of half-baked experiments. Curate ruthlessly. Quality is the signal; quantity is noise pretending to be signal.
What makes a project worth showing
A portfolio project earns its place when it clears a few bars. It should work - deployed and live if it is a web app, or trivially runnable if it is not, because a project an employer cannot actually try is a project they will not trust. It should be yours, meaning it solves a problem you chose and went beyond any tutorial you started from; interviewers can smell a copied tutorial instantly and it impresses no one. It should be documented - which brings us to the most undervalued file in your whole portfolio.
Write a proper README
Every project needs a README - the text file that greets anyone who opens your project on GitHub - and most beginners either skip it or leave the default placeholder. This is a wasted opportunity, because for many employers the README is the first thing they read, before a single line of your actual code.
A good README explains, in plain language: what the project does, why you built it, how to run it, and what you learned or found interesting building it. It demonstrates that you can communicate about software, which is a real and rare skill and one that employers desperately want in juniors. A brilliant project with no README looks abandoned. A modest project with a clear, thoughtful README looks like the work of someone who thinks about the people who come after them - which is exactly the colleague everyone wants. The README is where you get to be a human explaining your work, not just a wall of code. Use it.
Have a home on the web
At some point, build yourself a simple personal website - a single page is plenty to start. Who you are, what you are learning, links to your best projects, a way to contact you. It need not be elaborate; in fact building it yourself, rather than using a drag-and-drop service, is itself a nice small portfolio piece that quietly proves you can ship something real and put it online. A personal site makes you findable, makes you look serious, and gives you one clean link to hand to anyone who asks what you do. It is a small, high-return project. Build it once you have a couple of things worth linking to.
Contribute to something bigger than you
Once you are past the very beginning, contributing to an open-source project is one of the strongest signals you can send. It shows you can read and understand a codebase you did not write - which is most of a real job - work within someone else's conventions, and collaborate with strangers through the normal professional workflow of proposing a change and having it reviewed.
Start absurdly small. Fix a typo in the documentation. Improve an error message. Add a missing example. These tiny contributions teach you the entire professional collaboration process end to end, and each one is a genuine, verifiable "I contributed to real software that real people use" that you can point an employer to. Do not wait until you feel worthy of some grand contribution; the small ones are where you learn, and they count.
Let your profile tell a story
Taken together, your GitHub profile tells a story to anyone who reads it, and you want it to be the right one. Steady activity over months says you are consistent and genuinely into this, not cramming for a single application. Projects that grow in ambition over time say you are learning and levelling up. Thoughtful commit messages and clean, documented code say you are already thinking like a professional. Employers read all of this, often before they ever speak to you, and form an impression that is hard to shift later.
You are, whether you intended to or not, building this story from your very first commit. So build it deliberately. Finish your projects. Document them like you respect the reader. Curate the profile so your best work is what shows. Contribute where you can. By the time you are ready to apply, your portfolio will already have made most of the argument for you - and a portfolio that argues on your behalf, before you have said a word, is worth more than any adjective on a CV.
Next: how to actually get your foot in the door and escape the experience paradox.
Jako Heiberg
Software developer with 40+ years of building things that work. Full-stack, FastAPI, React. Based in Cape Town, working remotely, worldwide.