How to create a good programmer resume and portfolio

Equipe HcodeOctober 16, 202610 min read

In this article

A good programmer's resume fits on one page, shows results, and leads the reader to your portfolio. A good portfolio has few well-explained projects, with code on GitHub and a functioning demo. The two complement each other: the resume makes someone want to see your work, and the portfolio proves what the resume claims.

If you are starting out and do not yet have work experience, this guide is for you. We will build the resume step by step, then the portfolio, and finish with a checklist to review everything before submitting your first application.

What recruiters look for first

Those who read many resumes do a quick first read looking for the essentials: the position you are seeking, the technologies you use, your most recent experience or projects, and an easy way to contact you. The rest is only read if this first glance convinces.

This changes the way you write. Every line needs to help the person decide whether it’s worth calling you for a conversation. What doesn’t help hinders, because it hides what matters.

How to create a good programmer's resume

1. Use only one page

At the beginning of your career, one page is enough and is what most recruiters prefer to read. More than that usually means you included information that doesn’t help. When you need to cut, remove what is unrelated to the job.

2. Follow a simple structure

An order that works for those starting out:

First Name Last Name
Junior Front-end Developer | São Paulo, SP (remote accepted)
[email protected] | linkedin.com/in/your-profile | github.com/your-username | yoursite.dev

SUMMARY
2 or 3 lines: who you are, what you work with, and what you seek.

TECHNICAL SKILLS
Languages: JavaScript, TypeScript, HTML, CSS
Frameworks: React, Node.js
Tools: Git, GitHub, Docker, Figma

PROJECTS
Project name: what it does, technologies and results. GitHub link and demo link.

EXPERIENCE
Position, company, period, and what you delivered.

EDUCATION AND COURSES
Course, institution, year.

If you have little professional experience, place Projects before Experience. Those with more time in their careers do the opposite.

3. Write results, not just tasks

A list of tasks tells what you did. A result tells what changed because of your work. Use this formula: action verb, what you did, the technology, and the result.

Weak: Responsible for developing system screens.

Better: Developed 12 screens in React with TypeScript and reduced customer registration time from 5 to 2
        minutes.

The numbers in the example are illustrative. Use yours, and when you don’t know the exact number, describe the effect: "made loading faster," "eliminated an error that froze the login." Never invent metrics, as you may be questioned about them in an interview.

4. List skills honestly

Group skills by type (languages, frameworks, tools) and include only what you can explain and use. Avoid level bars, stars, or percentages: no one knows what "80% of JavaScript" means. If a technology appears on the resume, expect to be asked about it.

5. No experience? Show practice

When you have not yet had your first job in the field, what takes the place of experience is verifiable practice:

  • Published personal projects on GitHub, with an online demo
  • Courses with certificates, mentioning what you built in them
  • Contributions to open-source projects, even if small
  • Volunteer work, freelance jobs, and projects for friends or your community
  • Hackathons, challenges, and programming competitions

Want to create or improve your resume? Create yours on Hcode Class and check if it is organized, clear, and ready to send.

6. Tailor the resume for each job

Read the job description and highlight in your resume the technologies and responsibilities that match what you have already done. You don’t need to rewrite everything: adjust the summary, the order of skills, and the projects that appear first. Some selection systems read the text of the file, so use the same words from the job description when they are true for you.

7. Take care of the format

  • Send in PDF, with selectable text, unless the job asks for another format.
  • Name the file clearly, such as first-last-name-resume.pdf.
  • Use a legible font, clear headings, and plenty of white space. Avoid complicated columns, too many icons, and text within images.
  • Make links clickable and test all before sending.
  • Use a professional email, preferably with your name.
  • Photo, CPF, RG, and marital status are not necessary. Provide only what helps with the application.
  • Review the Portuguese. A typo in the header gives the impression of lack of care.

Common resume mistakes

  • More than one page at the beginning of your career: the essentials get lost in the text.
  • Generic objective: "seeking an opportunity for growth" says nothing. Write the position and area.
  • List of technologies without proof: each skill should also appear in a project or experience.
  • Same resume for all jobs: the person reading notices when it wasn’t tailored for that opportunity.
  • Broken or unhighlighted links: if GitHub and the portfolio aren’t visible, you lose the best part of your application.

How to create a good developer portfolio

The portfolio is the showcase of your work. It’s where someone checks, in practice, what the resume promises. For those starting out, a simple combination solves it: an organized profile on GitHub, with the project code, and a personal page, a simple site hosted for free, with the presentation and links.

1. Choose 3 to 5 projects

Quality is worth more than quantity. Three complete and well-explained projects impress more than fifteen incomplete ones. Choose projects that showcase different skills:

  • An application with registration, login, and a database, showing that you know how to put together a complete system
  • A project that consumes an API and handles errors and loading
  • A project with automated tests
  • A project published on the internet, with an address that anyone can open

Projects made following a course have value, but avoid publishing the exact copy of the tutorial. Add something of your own, like a new feature, a different visual, or a unique business rule, and explain what you changed.

2. Describe the problem, the solution, and the technology

For each project, answer three questions in a few lines: what problem it solves, how you solved it, and with which technologies. A simple project card will do:

Expense Tracker
Web application to record and categorize monthly expenses.
Solves: those who record expenses in spreadsheets and lose track at the end of the month.
Stack: React, TypeScript, Node.js, PostgreSQL.
Highlight: charts by category and alert when exceeding the set limit.
Links: demo | code on GitHub

3. Pay attention to the README

The README is the first thing someone sees when opening the repository. A well-made README is worth more than beautiful code that no one knows how to run. A structure that works:

# Project Name

A sentence saying what the project does.

![Screenshot](docs/screen.png)

## Demo
Link to the project live.

## Technologies
React, TypeScript, Node.js, PostgreSQL

## How to run
1. git clone ...
2. npm install
3. copy .env.example to .env and fill it in
4. npm run dev

## Technical decisions
Why I chose each tool and what I would do differently.

## Next steps
What I still want to improve.

4. Keep the project running

Those assessing your portfolio will not install anything to see if it works. Put each project live and leave the link in the README and in the resume. The instructions to run locally also need to work for real: test in a clean folder, following only what is written.

A crucial point: never publish passwords, tokens, or API keys in the repository. Use environment variables, keep the .env file out of Git, and include a .env.example with only the names of the variables. If any secrets have been published, change them immediately.

5. Care for code and history

Those with experience look closely at the repository. Keep folders organized, use clear names, write commit messages that explain the changes, and delete unused code. Some tests and a configured linter show maturity, even in small projects.

6. Organize your GitHub and LinkedIn profiles

  • On GitHub, use a photo, name, and a short bio, and pin the 3 to 6 repositories you want to show on your profile.
  • Create the profile README (a repository with your username) with a quick introduction and the main links.
  • On LinkedIn, keep the position, summary, and projects coherent with the resume, with a link to the portfolio.
  • If setting up GitHub access via terminal, see how to add an SSH key to GitHub.

7. Create a simple portfolio website

A page with four blocks is enough: who you are, the projects (with a card for each), the technologies you use, and contact information. It needs to load quickly, work well on mobile, and have links that open. You can publish it for free, for example, with Firebase Hosting and a .com.br domain.

Common portfolio mistakes

  • Too many projects and all incomplete: prefer fewer, but finished ones.
  • Repository without README: those who open it don’t understand what it is or how to see it working.
  • Names like "test1" and "final-project-v2": clear names show organization.
  • Project that doesn’t open: a broken deploy link gives the impression of abandonment.
  • Secrets published in code: besides the security risk, it’s a red flag for evaluators.

How resumes and portfolios work together

Both need to tell the same story. The projects that appear on the resume are the same as those in the portfolio, with the same name, the same short description, and direct links. The resume summarizes, and the portfolio details. Leave the link to the portfolio and GitHub in the header of the resume, and in each application, choose the projects most relevant to the job to feature first.

Update both with every new project or learned technology. A stagnant portfolio for two years works against you.

Final checklist before submitting

  • ☐ The resume is one page, in PDF, with selectable text
  • ☐ The header includes desired position, professional email, LinkedIn, GitHub, and portfolio
  • ☐ Each experience or project shows results, not just tasks
  • ☐ All listed skills appear in some project or experience
  • ☐ The resume was tailored for the job
  • ☐ All links have been tested
  • ☐ The portfolio has 3 to 5 finished projects
  • ☐ Each project has a README, live demo, and working instructions
  • ☐ No secret (password, token, or key) is in the repository
  • ☐ The GitHub and LinkedIn profiles are organized and coherent with the resume

Next steps

Choose one of your projects and write the complete README today. Then create a one-page resume with the structure from this guide and ask someone you trust to read it and say what they understood in a few seconds. Adjust anything that raises doubt, publish, and start applying.

To keep learning, check out the Hcode course platform and follow the next career guides on the blog.

Frequently asked questions

Should I include a photo on the resume?

It’s not necessary. Photo, CPF, RG, and marital status do not help with the application. Provide only what shows that you are the right person for the job.

How many projects should I have in the portfolio?

Between 3 to 5 finished projects, with README, live demo, and code on GitHub. A few well-explained projects are worth more than many incomplete ones.

Do projects done in a course count in the portfolio?

They do, as long as you add something of your own (a new feature, a different look, or a unique business rule) and explain what changed from the tutorial.

Resume in PDF or Word?

PDF, with selectable text, unless the job requests another format. It retains formatting on any device.

Do I need to have a portfolio site or is GitHub enough?

To start, an organized GitHub with the main repositories pinned and good READMEs already helps a lot. A simple site is a complement, but not mandatory.

How to create a resume without work experience?

Place Projects before Experience and show verifiable practice: published projects, courses with what you built, contributions to open-source, freelance jobs, and hackathons.

Keep learning with Hcode

Sign up for the course platform and follow the next blog guides.