One of the biggest challenges for freelance developers is maintaining a steady flow of clients — especially if you are new to freelancing. Your software engineer resume and portfolio will be essential tools for securing interesting projects from legit clients.
Even if you aren’t new to freelancing, it’s important not to neglect your resume and portfolio. Maybe you have a degree in computer science, and have completed projects with high-caliber clients — all the more reason to update your software engineer resume and portfolio to better build off of your experience.
When clients screen for freelance developers, there is a certain set of criteria they will be looking for. They want to know:
These questions should be addressed in your software engineer resume.
Beyond this, clients want evidence. They want to see something tangible to back up the claims you have made in your resume. They want to know what libraries you are familiar with, the tech stacks used in your previous projects, the functionality of completed projects, how you built those projects, if your code is clean and readable, and the industries you have experience in. This is where your developer portfolio comes in.
When working on a project with remote freelancers, clients will have some additional concerns that you should do your best to alleviate. To do so, your freelance portfolio should also showcase the following:
In this post, we’ll offer a guide on how to create an impressive developer’s resume to catch the attention of clients you want to work with and produce a portfolio to back it up. We will also provide some tips on getting more involved in developer communities to grow your skills and reputation.
Research from Business Insider shows that recruiters may spend as little as six seconds scanning each resume. Therefore, it’s very important that you make it concise, easy to read, and strategically use keywords. A big part of this is knowing exactly what role you are hoping to land, and the skills you will need to perform in that role.
Before you jump into writing your resume, you should first take an inventory of your experience and skills, and spend some time reflecting on how you want to apply this in a freelance engineering role.
Like resumes for any profession, a freelance developer resume typically includes some must-have sections and some optional ones. Here’s what your section headers may look like, with must-haves in bold:
A strong Career Summary section should detail your experience with technologies and use cases. You can indicate which industries you have worked in, cite the number of years spent in each position, and offer a brief description of what it is you have built and with which languages. Note, some form of a career summary will be a must-have for most hiring managers, and is also a smart way to get eyes on your resume for a second or two longer. Here is an example to get you started:
(Name) is a front-end developer with 5 years of experience working with e-commerce companies. (He/She) specializes in using Java, PHP, and Ruby to build customer facing APIs, and also has experience integrating payment systems.
A Skills and Certifications section is a great place to emphasize keywords that you want to highlight at the top of your resume. If you are an expert in Node.js, list it here! If you have completed multiple projects with Java, list it here! If you practice Test Driven Development methods, list it here! You get the idea.
This is the place where your potential client will most likely either keep reading or bounce to the next prospect — therefore, this is another must-have for your resume.
As you may have guessed, the Experience section is where you list your previous employment and expand on the claims you have made in your Career Summary. Here, you should note the length of the employment period, the employer, your job title, the name and description of specific projects, and the quantifiable results achieved for the employer. Without explaining your experience, you’d have a hard time convincing anyone to hire you, so this is definitely a must-have section. Here is a snippet for your reference:
If you have already completed other freelance projects, be sure to include a section outlining your most notable work. This is a great way to make the case for your development prowess and demonstrate that you have the project management and communication skills it takes to make a good freelancer. Freelance projects completed with other clients help to build trust and credibility, especially if they were done remotely. That being said, if you don’t have much freelance experience, this section is optional and can be substituted with side projects.
Side projects could include your own passion projects or contributions you have made to open source projects on GitHub, SourceForge, or other repositories. If you are sharing passion projects, ideally you have a completed project with active users, even if it’s just among your friends. Like freelance projects, side projects are optional, but aim to include one or the other.
Although it’s becoming less relevant, especially when it comes to software development, many engineering managers still want to see a section for education, and this is generally considered a must-have. Leave a little room at the bottom of your resume to list any tertiary education, master’s, majors, minors, and other academic achievements. If your university education experience is unrelated to the skills required of a freelance programmer, feel free to substitute it for certifications for programming classes or bootcamps.
Here are some links to software engineer resume samples for your reference. Customize and pick the style that best suits you and your experience!
In reviewing your resume, you should try to ask yourself the same questions that the hiring manager might be asking themselves — if they spend more than six seconds on your resume. Based on our experience at CodementorX matching clients with talented developers — here are the resume litmus questions we’ve come up with:
If you want some more insight from the hiring manager's perspective, you can check this previous post: 10 Freelance Engineer Interview Questions That Will Make or Break Your Project.
A portfolio is not a resume. It is a showcase of completed work rather than a description of experience. For a developer, developing an online portfolio is the perfect way to flaunt the tricks of your trade. A web developer’s portfolio is the evidence to support the claims you have made in your resume. If a resume is where you talk the talk, a portfolio is where you have to walk the walk.
The most common form of a web developer’s portfolio is a personal web page. If you have a lot of work on GitHub, GitHub Pages is an easy way to turn your repositories into a website that can serve as your portfolio. The great thing about an online portfolio page is that you can customize it to reflect your unique talents and interests. Also, be sure to inject a shot of personality, but remain professional.
The logical starting point is your domain name. A professional way to build your personal brand is to simply use your first and last name in the URL. If your name is unavailable, you can always modify by using initials or adding an extra word that describes your profession, like dev, developing, design, etc. If you have a lab or a workshop, feel free to tack this on as an alternative.
Don’t, however, get too creative with adjectives like “amazing,” “talented,” “marvelous,” and such. An even bigger faux pas would be using unrelated nouns. Do you use throwing stars? Have you reached nirvana? No? Then spare us the “ninja” and the “guru” charade.
Your resume has already provided a Career Summary, so there’s no need for an in-depth “about me” or “objective” here. A brief introduction of your skills and interests on the first page will suffice. If you’re not already familiar, the subreddit r/webdev is a great place to find and reference other developer portfolios and get feedback on your own. Here’s an example of a concise introductory statement:
I’m a web developer from Boise, Idaho. I focus on front-end web development to bring the best experience to your users. Here is some of my work.
Below is a portfolio example from a CodementorX freelancer with a great introductory statement, personality, user flow, and visual appeal:
Under your introduction is a good place to include links to your preferred contact methods, social media, LinkedIn, GitHub, and StackOverflow pages, if you are active on those platforms.
Both GitHub and StackOverflow track the frequency of your usage. To show dedication to your trade, you should try be continuously active on both of these platforms. If you have long periods without any activity on your GitHub and StackOverflow accounts, you can consider whether or not these will strengthen your credentials.
For more tips on how to best integrate GitHub projects with resumes and portfolios, you can read this blog post: GitHub Vs. Resumes: Why Bother With A Resume in the Age of Github?
The crux of your portfolio is, of course, examples of your work. You should include a snapshot of the project, that includes the following:
When providing links to source code, it’s best to follow Folder Structure Conventions. This will make it easier for clients to follow your project and will demonstrate that you are organized, which potential employers will highly value.
Your creativity and the presentation of your work should speak for itself, but you should also show how you got there. Clients want to know not only what you built, but how you built it. Developers work by a process and you should demonstrate that you have one.
Quality is another important point. You don’t need to share every project you have ever completed. In fact, you shouldn’t. You should select a sampling of three to five projects that represent the depth of your experience and the level of your skills.
If available, use testimonials to add social proof to your portfolio. Don’t be afraid to reach out to former clients and ask them for comments, thoughts, or reviews of your previous engagements and the resulting work.
Some of your previous projects may have been for internal use, or may be protected under non-disclosure agreements. If that’s the case, the first thing you should do is request permission to use parts of the project. If you have maintained friendly relations with your previous clients, and using portions of the project in a limited capacity does not threaten their business advantage, they may be willing to let you share it in your portfolio.
Share what you can. If you can’t share links to internal software, share screenshots. If you can’t share screenshots, share wireframes. If you can’t share wireframes, explain your involvement in the project, skills used, and skills learned.
If much of your best work is still locked up in NDAs, it will be more important for you to be making consistent contributions to open source projects or fill your portfolio with your own side projects.
As a freelance software engineer, you should be aware that employers and clients have a need to protect their proprietary information. That being said, make sure you know what you are signing and never agree to anything that will inhibit your future ability to find work. To learn more about all the ins and outs of NDAs, you can reference this previous post: The Essential Guide to Non-Disclosure Agreements.
In addition to sharing your professional achievements, don’t be afraid to show a little personality. There are hundreds of boring template portfolios out there. Don’t be one of them.
It’s perfectly acceptable to include a photo of yourself (of at least business casual quality).
Another way to add personality is to share something not related to your professional life. If you want to tell the world that not only are you a skilled programmer, you also make music, go ahead! If you want to let your future clients know that when you’re not writing code, you’re crushing it on the rugby pitch, perfect!
Sharing something about you makes your digital self a little more “real”. Feel free to share, but maintain professionalism. Don’t share anything you wouldn’t share with your grandma.
Here are several portfolio examples from CodementorX freelancers for your reference.
If you’ve done it right, your portfolio will be an important part of your marketability as a freelance developer. Just as you’ve drafted your resume with potential clients in mind, you should consider your ideal client as you design your online portfolio. People looking at your portfolio will want easy access to key information.
A good portfolio has a limited number of clicks, displays your programming skills, personality, and project management habits. Here are some questions to help you get in the mindset of recruiters and clients:
Still need more inspiration? Here’s a detailed post on 12 things to include in your web developer portfolio
If you want to grow your skills and build a reputation as an enthusiastic programmer, consider getting more involved in developer communities like Codementor. Serving as a mentor is a smart way to hone your skills and share your experience with other aspiring programmers, which can be a great way to advance your freelance career. You can also publish articles on the community page, sharing knowledge, insights, and ideas.
In addition to building experience to bolster your resume and portfolio, contributing as a mentor or community member will help you make a stronger profile when you are ready take on more mentee or freelance clients. Like most other freelance platforms, CodementorX provides profile pages as opposed to a resume or portfolio. Demonstrated involvement in developer communities will help make your profile stand out when clients come looking for developers with your skill set. Here’s what to expect:
Feel free to peruse profiles of our vetted developers to get inspiration when you are ready to build your own.
Having a strong resume has long been the primary tool for job seekers to relay their skills to potential employers. Today, as the market evolves, and everything is digital, more is expected. An online portfolio is often considered a requisite supplement to a resume — and should also be seen as an opportunity for you to give clients a more detailed peek into your professional background.
If you are ready to take your career as a freelance software engineer to the next level, a solid resume AND portfolio — to present your tech skills, professional achievements, and yes, personality — are essential.