Should I Work for Free to Get Experience in Tech?

How to navigate the world of unpaid work in tech.

“Should I work for free?”

It’s one of the most common questions people have when they are new to the world of tech and looking to get their first job in the industry.

For people making a career change into tech, there are two big hurdles:

  1. Learning the technical skills you need to do something new.
  2. Proving to a hiring manager that you’ve learned those skills.

When you’re sitting at step 2, it can feel like you’re in a catch-22. You’ve learned everything you’re supposed to learn, and you’re ready to start using those skills. But what if you’re worried that companies and potential clients won’t want to hire you without proof that you’ve done this before?

You need experience to get experience … right? It might feel like the only solution to this dilemma is to work for free to build up your portfolio.

But you don’t have to agree to take on projects for nothing.

In fact, you should avoid working for free most of the time. Sometimes (like during a pandemic), working for free might make sense. The trick is distinguishing between times when unpaid work is a good idea and times when it’s not.

In this article, we’ll cover:

woman in glasses with hand on face, thinking

Is Tech Right For you? Take Our 3-Minute Quiz!

You Will Learn: If a career in tech is right for you What tech careers fit your strengths What skills you need to reach your goals

Take The Quiz!

Why you should (almost) always get paid for your work

It can be tempting to offer to do work for free when you’re just starting out. It’s scary to start asking to get paid for a new skill! And sometimes it can feel like clients are doing YOU a service by letting you work on projects for them, and not the other way around.

That said, we encourage students here at Skillcrush to try to get paid for their work, even when they’re just starting out.

In other words, you shouldn’t have to take on a bunch of non-paying clients just to get experience.

Skillcrush’s Director of Operations Caro Griffin, who started her career in tech doing freelance development, says, “I advise students to always try to get some money for a project. Everyone should be able to afford to give you $100 for a new website or $25 for a new logo.”

According to Caro, there are three good reasons why you normally shouldn’t take unpaid work, even if you’re new to the scene.

1. You need the money

Chances are, at least one of the reasons you learned technical skills was to earn more money. If you’re struggling to cover your necessities (rent/mortgage, utilities, groceries, insurance), you won’t be in any better shape moneywise if you aren’t earning anything for your work. So, while it’s usually necessary to invest in a career change by taking courses, buying books, etc., sacrificing your finances isn’t a sustainable part of the learning process.

It might seem obvious, but it’s important. You’ve got bills, and if you can’t pay them everything else will suffer! Your financial needs are a valid part of the equation.

2. You don’t have time to work for free

If you’re switching careers, of course you’ll have to spend time learning the skills you need. But you have to be realistic about how much time you can devote to that. You might be a new parent. Or you’re working two (or more!) jobs. Or you just can’t squeeze any more into your day without sacrificing your mental or physical health.

That’s alright. If taking on work for free means finding time you don’t really have, it’s probably not worth it, especially since you can find paying gigs even as a beginner.

3. You have valuable skills

Your skills are worth something. You wouldn’t expect to work as a cashier, a librarian, an accountant, or a truck driver but not get paid. So why would you accept that as a designer or a developer? Your time, your skills, your experience, and your talent come with a price tag.

If somebody’s willing to let you handle their project, you should be compensated for it.

On top of that, the simple fact of charging for your work can mean the client values you and your time more. Caro says, “Charging even $100 means the client is way more likely to take the project seriously and prioritize it.”

That’s important for the success of your current project, but also for those you work on in the future. If you work for free once, your client may recommend you to others — and they might expect you to work for free again. But, if your client pays you, when they refer you to others, your perceived value will come with you.

On taking a nominal fee

Long story short, you should get paid for your work. But, if you’re a beginner, you may not be able to command the same prices as someone with more experience. And that’s okay! Or, maybe you are willing to work for free for personal reasons. You can (and should) still ask for a nominal fee.

It reinforces the value you’re providing if you can say, “This website would normally cost you $1,500, but I’m going to do it for you for $150 since I want to help you out and build my portfolio up.”

Even if a nominal fee doesn’t put much money in your pocket, it underscores the value of your time and work, and gets you used to talking about money.

“You’ll get a lot of practice and a lot of good will. You can say, “Normally a project like this would be in the $1,000 range, but, in this case, I can do it for $200.”

(back to top)

When should I consider unpaid work?

Of course, nothing is black and white. There are exceptions to this rule, like any other.

A global pandemic, as we all know now, totally changes the game. Maybe you want to use your tech skills for good. In that case, it makes sense to use your specific skills to help out with causes you care about.

According to Caro, “There’s definitely a time and a place for the occasional free project, but I think they should be as rare as you can make them.” So, how do you decide?

Here are a few reasons it could make sense to take unpaid projects.

You’ll get something else valuable

Even if you love your work, typically your biggest motivator is monetary. You need to pay those bills! But you can also be driven by something that isn’t a paycheck, but is still worthwhile to you.

Caro says, “If you can’t get money, get something that’s worth money, or something that will lead to money later.” That could mean:

Non-cash payments

Non-cash payments can be gift cards, products or services given to you, or even bartering. (You update your neighbor’s website, and they mow your lawn this summer.) Whatever it is, you should be able to put a pricetag on it.

Caro says, “Accepting any form of payment allows you to think through what your onboarding process is for a project — how to kick it off, when do you bill, etc.’

When you get paid, with actual money or something else, it changes the stakes in your mind too. “Even if you’re doing a project for a friend or a family member, take something so that it’s a ‘real’ project. It helps with your imposter syndrome. You’re not thinking, ‘Why don’t they pay for my projects?’ …because you did get paid!” Caro says.

💡 Keep in mind your cash flow situation when you’re offered non-monetary compensation. If you’ve been buying $100 of cappuccinos a month, getting them for free for doing a local cafe’s digital marketing will make that amount available for you to spend on something else. But, if you weren’t a regular customer at the cafe before, those coffees you’d be given aren’t the same as actual money in your bank account — they’re just extra.


You can also work for the exposure, or publicity for you and your work. The idea is that the exposure will help you earn more down the line.

But look out. You may be asked to work for the exposure, especially by clients and companies with some caché, even if it’s not a good deal for you. If it doesn’t feel worth it to you, don’t feel pressured to take unpaid work.

If you’re pretty sure that getting exposure through this client will actually lead to real work for you in the future, then make sure to do a few things up front:

  • Ask the client to publicly give you credit, by mentioning you by name and linking back to your site.
  • Ask the client to recommend you directly, through avenues like LinkedIn recommendations, social media promotion, and anywhere else it makes sense.

💡 Even if exposure isn’t what’s making the free work you’re doing worthwhile, be sure to get permission to put the project in your portfolio.That’s the first place most hiring managers or clients will look to learn about you. If the project is confidential, ask if you can send a private link to potential clients or employers when you’re looking for jobs.


Your network can be your greatest asset in getting a job, and sometimes doing a project for no pay can help you build that network. A great testimonial you can put on your website could convince your next client to work with you. Just make sure you can see a tangible result and not just a vague promise of growing your network.

“Email intros can be really good, especially if you have specific people in mind. Check their LinkedIn or friend list and see who they might be able to introduce you to or refer you to,” Caro says.

But keep in mind that you may not want word to spread in your network that you’ll work for free! It all depends on the scenario.

💡 Human relationships can be tricky. Even if you get along great with a team or a customer loves your work, it’s hard to be sure that they can make a useful connection for you or that the connection will pan out.


Working without pay could be something to consider for a chance to try out systems you can’t otherwise get access to, or to work on a particular project that you’re pretty sure would make the difference when you’re applying for jobs later.

Caro has advice here. “Some of the things I would ask myself are: ‘Is this project going to look good in my portfolio?’ Is this going to be the impetus I need to learn a skill that’s been on my list for a while or to get better at a skill I feel insecure in?’”

Also — is there NO other way to learn these skills right now through a paid opportunity? (Remember that in technical fields learning on the job is an expectation, not an exception.)

💡 The skills you see yourself getting from uncompensated work should be must-haves for your career in the near future. But remember that once you’ve done a job or two your skills gap will be smaller, so you don’t have to rush (or take unpaid work) to learn *all the things* now.


Though we usually recommend otherwise, in some scenarios “the experience” is an okay reason to work for no pay. Sometimes having been on a particular team or having worked on a certain kind of project can make you much more interesting to a hiring manager or potential client.

💡 The experience you get from free work should be the kind you truly need to take the next step in your career and something you can’t get anywhere else. Not sure if it is? Look at the requirements for the kinds of jobs you want to apply for to see what’s needed for them. Then assess if there are alternatives for getting that experience (ask professional contacts and mentors if you’re unsure).

You care about the cause

If you have a hobby, an interest, or a belief that means a lot to you, it could be a reason to work for free…as long as you can put clear parameters around the project. For example: I love catalan line dancing more than just about anything. One of the first projects I did when I started learning HTML and CSS was to build some simple websites for the dance groups I’m part of (for free).

Your thing could be creating email newsletters to spread the word about the local animal shelter you volunteer at, or designing a logo for the online fundraiser for your kid’s kindergarten.

And you might be more likely to be motivated to work for free for a cause during very hard times, like a recession or war.

“Especially now, during a global pandemic, there are cases to be made for helping struggling businesses or people in your community with the skills that you have,” says Caro. “If that means taking on a free project and you feel good about it, go for it.”

You could work with one of the thousands of charities and nonprofits that need people with tech skills to help during the COVID-19 crisis. One great example? Skillcrush student Ruha is contributing to a beta version of an app to show the status of government lockdowns and travel restrictions, even though she is new to tech.

Whatever cause you want to support with your tech skills, “you should still make sure your financial situation and your schedule will let you take on pro bono work,“ Caro advises.

(back to top)

woman in glasses with hand on face, thinking

Is Tech Right For you? Take Our 3-Minute Quiz!

You Will Learn: If a career in tech is right for you What tech careers fit your strengths What skills you need to reach your goals

Take The Quiz!

4 Rules for Working for Free

If you’ve decided to work for free, you’ll need to be careful to set yourself up for success. Since people sometimes mistakenly think free work doesn’t need to be planned as carefully, they skip these steps — and end up regretting that later.

1. You should already know your client

In an ideal world, any non-paying client would be someone you already know well. That doesn’t mean they have to be your mom or your best friend, but you should know them somehow.

Caro puts it straight, “I’m never going to recommend doing free work for total strangers unless you have some connection to the person or the cause or the business.”

Even if you’re taking unpaid work for the skill-building and experience, it really only makes sense to do so when there’s a personal connection. Otherwise, you’re doing yourself a disservice by lowering the perceived value of your work.

Very early in your career, working for free for a personal connection can feel safer, since they’re likely to have your best interests at heart. And family and friends can offer you opportunities to build skills without “going public” about it. “Everyone knows somebody who needs a website, a business card, a resume, a flyer, etc.,” says Caro. It’s just about being brave enough to offer your services to someone in your circle.

This worked for Skillcrush student Emily.

“I had a friend that needed a portfolio website so I offered my services and got to build a simple HTML/CSS site from scratch. My next project was for a friend that already had a WordPress site, but needed some editing. She’s now decided to hire me to create a custom WordPress theme for her. You’d be amazed at what great resources your friends are!”

All of this said, even if you know the client, you should still ask for a nominal fee in most cases, even if it is as low as $20. It’s important to set the precedent of taking pay for work.

2. Always be upfront about your “why”

Always tell your client what is motivating you besides money.

“I really encourage you, even if you’re working for no money, to think about other things you want from this client and to make sure you’re upfront about wanting those,” says Caro.

That could mean explicitly stating, “I’m hoping that you’ll give me a testimonial, or write me a review on LinkedIn, or have a follow-up meeting with me in three months where we can talk about the results that this delivered,” Caro adds.

And you need to be upfront with YOURSELF about taking on unpaid work. You’ll feel good about it if “you were clear what your boxes were and you know this project checks a lot of the boxes,” says Caro.

3. Set boundaries

It’s important to set expectations before you start, whether you’re getting paid for your work or not. This includes the scope of the project, timeline, deliverables, due dates, the number of reviews, and edits. Talk through each of these before you start so that everyone understands and agrees about the details.

And write down the details. It doesn’t have to be a complicated contract, but it’s important to have some kind of document. It sets a professional tone for the project and protects both you and the client from any misunderstandings. Lay out everything you agreed on, including anything from the previous section (non-cash payments, exposure, etc) that you should get instead of pay.

4. Show your value

Even if you’re doing the work for free or a very reduced price, put a monetary value on paper. “Invoice clients the full amount so that you get practice scoping and billing for a project,” says Caro. “Then give a big discount on it, which helps show the client what your work is worth”

It also makes clients more willing to pay $100 because they realize, “She could be charging me $1,500, but she’s only charging me $100 — and this is going to deliver tens of thousands of dollars to my business,” Caro says.

You can do this (really!)

If you’re still worried about taking on those first few clients AND asking for money, that’s understandable. It can be scary to put yourself out on a limb. But you are 100% capable. And it’s a rite of passage that everyone who’s new to tech has to go through.

Caro says, “That first chance is going to be the hardest to get, but you only need one person to give you a shot.”

Once you have a few paid projects under your belt, this question will come up less and less. Instead of feeling pressured to work for free, you’ll be getting paid for your work. And you’ll be able to be choosey about doing pro bono work for causes you care about.

(back to top)

woman in glasses with hand on face, thinking

Is Tech Right For you? Take Our 3-Minute Quiz!

You Will Learn: If a career in tech is right for you What tech careers fit your strengths What skills you need to reach your goals

Take The Quiz!

Author Image

Kelli Smith

Kelli Smith is Senior Operations Manager at Skillcrush. She has covered tech skills, careers, and productivity for Skillcrush and The Muse, and her work has appeared in Inc. and Business Insider. She has an MBA in international business and has worked for over twenty years in education. Kelli is a huge fan of dancing, podcasts, and to-do list apps.