DEV Community

Cover image for How To Freelance on with no experience

Posted on • Updated on • Originally published at

How To Freelance on with no experience


Freelancing is a great way to make a living as a developer, you have more freedom, and its easier to work remotely. However with little to none professional experience it might be hard to get your first client. Freelancing marketplaces like Upwork and Freelancer lower the barrier of entry for new developers with no experience, making it easier for them to get the first working experience as a freelancer, then you can leverage it to get more freelancing projects or full-time position.

My experience

I started freelancing part-time on in late 2017, and it allowed me to earn a nice side income while I was learning programming. If you live in eastern europe, asia, africa or south america, you can easily earn a full-time income. I earned about $35K USD over 2 years, I was starting out with 0 professional programming experience, and fresh into learning python (about 4 months after I started), and only working about 10-30 hours a week, so I had plenty time for more learning.

As I only freelanced successfully on, my advice will be more related to this marketplace, but most of them work same way, so it should be applicable to most of popular freelance market places.


As a developer, there are many areas where you can look for freelancing projects. Here are some topics you can explore.

  • software development
  • web development
  • DevOps
  • Testing
  • web design
  • marketing
  • copywriting
  • graphic design

What you can do with Python

here are few examples of types of projects I did with Python, and best packages that can be used for this type of projects.

  • Websites ( Django, Flask, Pyramid)
  • REST APIs (Django REST Framework, Flask-Restful, Pyramid, FastAPI)
  • Web Scraping (requests, bs4, selenium, pandas)
  • Testing (unittest, pytest, selenium)
  • Data Visualization (pandas, matplotlib, bokeh)
  • Desktop Applications (tkinter, wxPython, PyQT5, Toga)

Marketplaces Available

This is the list of most popular freelancing marketplaces, I recommend to just focus on 2-3.

  • hubstaff talent

Building a Profile that stands out

First step to getting your first paid project, is building a great profile, there are thousands of freelancers on each of those marketplaces, to increase your chances of getting the projects, you have to make sure your profile stands out. If you have an empty profile and post a great proposal to a client, you are most probably going to be overlooked.

Profile Photo

First Element of building a great profile, is your face which is the face the clients will see when you bid on their projects. You need to have a good quality professional looking photo. It doesn't have to be made by a pro photographer, just make sure the quality is good, and the photo is a headshot.

Don't use selfies, don't add weird filters distorting the image, don't use a photo of a person that isn't you.

If you are freelancing as a company you can use your logo.


This will largely depend on what is your area, if you are doing web dev/design you want to put your best looking work there, and describe what it is, how you completed it, and what was the client's benefit from the work. Include good quality screenshots in your case study.
Some projects are not ideal for putting in visual portfolio (web scraping, devops), in those cases I recommend putting screenshots of data tables (in case of web scraping ), or code samples. With detailed written descriptions.

If you haven't any projects to put in your portfolio, make few small side projects, and document them nicely.
When I was starting out I was doing web scraping, and didn't have any projects to show, so I found couple of different types of websites, I scraped data from them, cleaned it, and made screenshots and descriptions to put in my portfolio.


This is where you write about yourself, and show the potential clients that you are the perfect person for the job.
Include few words about yourself and your experience. If you are beginner you can state so, there are many projects that are beginner friendly and clients that don't mind giving beginners a chance (for a low price of course) .

Write about what do you offer, and your availability.

Finish with some call to action, like "Contact me now to chat about your project".

Skills List

This is pretty self explanatory, you want to put here all the skills you feel comfortable enough to market yourself with, if you are learning something, you can put it there. Getting a freelance project connected to a skill you are just learning is excellent way to learn by doing. This is how I learnt Django, after finishing the official Django tutorial, and writing a simple blog with it, I scored a pretty simple Django project, that put my skills to a test right away. I managed to complete the project not with out its challenges, but after all was done the client was happy with the result, I had money in the pocket, and much more confidence about my Django skills.

If you don't fill at all confident in some skills, and are not sure you would be able to complete projects with it, just don't put it in your skill list.

Another thing you can do is putting similar skills, sometimes projects will be tagged, with few skills that are basically the same, for example in web dev projects you can see sometimes projects tagged with skill: PHP, Django, Flask, this probably means that the client doesn't care what language/framework you will use to complete the project, they just put some tags that they know are connected to the project because they want to increase the numbers of freelancers the project reaches.

So if you are working mainly with Django, don't be afraid to put Flask or Pyramid there too, even if you never used it.

When setting your country never set a fake one, some freelancers from poorer countries, will set their country to USA, UK or other in hopes of getting more projects or better paid projects.

When clients contacts you and you answer in broken English, or they ask you some further questions about where you from and catches you in a lie, it's going to be a very bad look.

Never lie on your profile.


Pricing in freelancing is a very broad topic, and could have its own articles or even books dedicated to it. There are few pricing models you can use as a freelancer depending on your experience and negotiating skills. Each pricing model has its pros and cons.


This is a common model, where we are getting paid by the hour worked.


Fixed price model is a bit better where you give the client the fixed price for the task, based on your estimation, so you can upon yourself if the project will take you longer then anticipated, but also your time will be more valuable if you finish it faster. This was my preferred method when working on, I think I never used hourly pricing model there.

Value Based

This is a much harder model to get right, and you need some degree of negotiating skill and reputation as freelance to succeed with it, you are pricing the project based on the value provided to the client, and not the amount of hours worked by you.

To do it you have to estimate how much $ value will your project bring your client. First we have to look at the size of our client.

Let's say we are making a sales website for a client. We will price the same site differently for a small solopreneur running his own business, and differently a company of 50 people.

Getting Social Proof

Ok so you have set up your profile, made a professional profile pic and description, filled your portfolio and skills. Now you are ready to start looking for your first project, but before we do it there is a small thing we can do to increase our chances of getting that first project, by getting some social proof.
What I mean by that, is freelancer's reputation on those websites is determined by their rating and reviews. When I am hiring a freelancer through one of those websites first things I look at is the rating, and number of reviews, if I like the numbers only then I will go further into the freelancer's profile to determine if they are a good fit.

So to increase your chances ask your family, friend to post a small project for you on the site and leave a positive review, you can even write the review yourself.

If you don't feel this is sincere, help them first using your skill (your family member has a business? offer to improve their site, or make something else using your skills), and then ask them for the review.
This is exactly what I done to get my first 2 reviews, is asking my mom and friend that I helped for reviews.

This should increase your chances of at least getting a reply from a potential client.

Bidding for your first Project

Ok so now we are getting to the hard part. To succeed as a freelancer on those marketplaces you need to 2 things: PATIENCE AND PERSISTANCE.
The process of getting your first project may be long, it took me probably around 2 months before I got my first real project, and it was a 50$ job.

Make a pact with yourself, that you will go to your marketplace everyday, and bid on projects that match your skill.

When writing the proposal, don't talk to much about yourself, just 1-2 sentences why you are best for the job. Then write what benefit you will bring to the client.

When writing the proposal make sure to refer to things client has written in the project description, that will show him you actually read the project description (80% of the other bids on the project will be automated by other freelancers). Always try to make your proposal personalized for each project you are bidding on. This takes longer than just copy pasting pre written bid, but is so much more effective. It's important to show the client you have the understanding of what he wants.

Also keeping your freelancer open will increase a change that someone will write to you, as you show up online, so i recommend keeping the tab with freelancer site open at all times, at least at the start when you are struggling for projects.

First Goal is to get an answer

Your first goal is to get an answer from a client, not a project award, just an answer. This shows you are doing something right. If you are bidding for a very long time and you still don't get answers, try to switch things around in your profile, try better description, change a CTA, or make a better profile pic, or work on your proposal pitch.

When you get first answer you know you are on the right path, and you are very close to getting your first project.

Winning the project

Hurray! You have won your first project. So client decided to go with you, and awarded you the project. Here are some things to look out for before accepting the project and start working

  • Make sure you are on the same page with requirements and scope of work - I cannot stress how important this is. If you and the clients have different expectations this can lead to issues.
  • If you are doing fixed price project on make sure a payment is created before accepting the project ( uses escrow)
  • If you have discussed the details on a call, make sure you also get the copy of requirements and scope of work in writing from client, to avoid potential issues
  • Trust your intuition, if client feels sketchy, rude, talks down to you, or is just simply strange in a bad way, politely turn down the project. You don't want to deal with a bad client, when he holds a potential 1 star rating over you when you are starting out. Each time I went against my intuition regarding a client, I regretted it.

Your first project

So now you are on the first page with client, payment is created and you are ready to start working.

It's very important that you give your best on this project, you don't' want to get anything less then 5 or 4 starts on this project. Apart of completing the project well and on time there are other things you can do to make sure client will be vary happy with you, and give you a 5 star rating, and possibly more projects down the line.

  • Keep the client updated on the progress, send him screenshots and samples as you go
  • Ask for feedback or opinions on parts of the project
  • Just be a nice and kind person

Problems with completing the project

Sometimes we aren't able to complete the project, life throws something our way, or the project was simply much more complex then initially thought. To handle it well with your client, just tell him why you can't finish your project with 100% honesty. If you are quitting the project early offer to help finding replacement, and brining the new freelancer up to speed with the project. Most clients will be understanding about this, and will agree to cancel the project, some will even pay you for the time you put in so far, and some even will live 5 stars regardless if you completed the job or not. If you handle this well, and the client is a decent person (90% of your clients should) they won't give you a 1 star rating just for that. If you ghosted them, expect to get a 1 star rating.

Problems with client

Sometimes the problems aren't coming from us, but from the client. For example client wants additional work done outside of the scope of work initially agreed to.

If it it a small thing you may be inclined to do it for no extra charge ("Sure no problem"), but this is a treacherous path, because next time the client will ask you for a bigger thing to add, which you are not comfortable with adding for free, and when you ask for more money he will tell you "But you did that other thing for free", so instead of doing the small favors you should say "Sure no problem, let me give you updated price with this change", either the client will agree with out a peep or say "oh I didn't know it costs extra", and that will be the end of that.

Another common problem is after you completed the job, and sent over the deliverables, a client that was answering right away, now is silent for days or for weeks.
This sometimes happens clients ghost you or simply forget, if you are using this is not too much of a problem because of escrow. 1st step is to contact the client, and if he still doesn't answer, another thing you can do is ask marketplace support to send him a message reminding him that he has to pay, if that fails you can open a dispute, and if client won't answer in 2 weeks the dispute will be automatically won by you.

Dealing with 1 Star

Ok so something went terribly wrong, you broke something, or you had a bad client, and they left you or threating to leave a 1 star rating. 1st offer to fix things for free, to avoid the rating, or try talking with the client why 1 star rating will be very bad for you, if they understand then great, hoverer if they can't be moved just accept it and move on. I received 1 star rating 2 times, and never got a client asking about it, nor I noticed less projects because of it.

Try to keep your ratings high, but if some clients just can't be reasoned with leave it and don't lose sleep over it.

Pros & Cons

Finally let's look at some Pros and Cons on freelancing on online marketplaces like

While they are great platforms to start freelancing, there is plenty cons, which lead me to ultimately stop using it for my income.


  • Location Independent Income
  • Has Escrow System to ensure you are getting paid
  • Gives you learning opportunites
  • You can find job with out experience and start building your client network


  • Closed platform, they don't allow to take payments and communications outside the site
  • High fees, add your normal taxes to it, and you are left with 50-70% original amount you were paid .
  • Support doesn't help with resolving conflicts for freelancers, and always take client's side
  • A lot of clients wanting to do things cheapest way possible, not knowing how much effort the project they want takes.

What next

Now you have a step by step way to start earning a side income on you just need to put them in action.

Follow me on twitter where I post about Freelancing, web development and Python.

Top comments (21)

pewpewandrei profile image

Nice article. Personally I didn't have a great experience the first time with any of these sites. I've had clients trying to strongarm me into doing it cheaper because they saw it cheaper at another dev, and probably the worst is that the platforms favor clients so much it becomes a hastle to justify when you decide to drop projects or if the client is not happy with the finished product because they decided at the last sprint that they want half of the website changed.

In more practical terms, the platforms are good for a nice side project to have the occasional extra spending money, but for the majority it will seem like a massive problem to get into having clients accepting your bid over the indian guy/girl/bot bidding on the lowest bid, and then the client having left with a bad taste of the platform thinking that those are the norms for developers.

druidmaciek profile image

Yeah I hear you, and these are some of the reasons I left the platform.
If you are beginner you may be willing to slide clients way.
I found that establishing firm rules, and informing prior to the project start and sticking to them helps a lot.
If a client is strong-arming you like that it's best to be firm on your price, and explain the logic behind the price, in a lot of cases you will lose a client, but those that will understand it are the good clients you want to nurture the relationship with.
Also the platform favouring the clients, can't disagree here, the treatment from of their freelancers is abhorrent, and it's no wonder they mainly attract those cheap developers that go for quantity of projects over quality.
Still you can find some really good clients there, and this makes it a good place to get your feet wet in the freelancing word.

bartosz profile image
Bartosz Wójcik

I would like to know how to avoid Indian spam bots that bids for projects automatically, it's been like that for years on Freelancer, for every project or contest I usually have to reject 75% of the spam/fake/bots contestants ;)

druidmaciek profile image

Oh yeah this is a big problem, the easies method i find clients doing to weed out automated bids is adding a direct question in the project description or a clause at the bottom like “if you read the description write NOTABOT at the bottom of your proposal”, the automated bids will ignore your question/request so you should be left with only real bids.

spiritupbro profile image

you still on or using another freelance site now? because in your marketplace list available you said **Marketplaces Available

This is the list of most popular freelancing marketplaces, I recommend to just focus on 2-3.** so now you work on upwork and fiveer?

druidmaciek profile image

Hey, sorry i meant focusing on 2-3 sites of your choice, depending on your skills/approach some sites may just work better for you, having said that freelancer, upwork and fiverr are the biggest ones so they have most projects, but also most competition.
I am still on freelancer, though i am not actively bidding on new projects. (Currently Looking for full-time position or a contract)

spiritupbro profile image

oh i see bro thanks for advice im also started off in but because of so many competitions today and many company go to there im looking for alternative like upwork or toptal but yeah really we just need to be patient to get the job on that site coz of so many competition but yeah has so many interesting job like nodejs which im really good at i hope i can get as many nodejs job there and good luck to you too for finding full time job bro!

Thread Thread
druidmaciek profile image

Yeah toptal is an intresting one, since you have to go through an interview process to get accepted, I had it scheduled but i missed it, so now I have to wait for 6months to be eligible to go through it again.
If you have the skill and put the effort to present yourself and your projects you will succeeded. Before i got my first project i was bidding for weeks every day twice a day. Good luck in your freelance journey!

Thread Thread
spiritupbro profile image

toptal is really tough for real i read one of the toptal developer experience there which is also a frequent article creator carlos russo he basically going from zero to toptal not in a matter of second but a series of hardwork but really after you get in to the toptal its just look like you work full time coz you work in a company like IBM for example but yeah toptal is just for 1% only but worth a try tho

Thread Thread
druidmaciek profile image

Yeah it’s just a different kind of marketplace, and i am definitely going to give it a go again when 6 months passes. there was another marketplace like toptal which name i don’t remember now, but they also heavily vet the freelancers, the big thing i remember they promise minimum rate of 75$ an hour

Thread Thread
spiritupbro profile image

probably crossover? damn $75 an hour ? i wonder how the work would be coz when i got like $750 fixed project in freelancer or even $2000 project the project kinda like royal rumble in wwe you know what i mean? like impossible to even be solved you know but yeah freelance really has some pros and cons along the way just keep on going bro!

akdeberg profile image
Anik Khan

Nice article; shows your experience with this site. I believe nowadays it is harder to get in there; I am thinking myself to give it a try.

druidmaciek profile image
Maciej • Edited

Hardest part is getting couple of first projects, later it gets easier.
When I was starting out I also held a belief it's really hard to get in, in reality it's not hard to differentiate yourself on those marketplaces if you put effort in crafting a great profile, and your proposals.
I don't think much changed over last 3 years in that regard.
You should definitely give it a try for couple months, if you are patient and consistent in your bidding you should get a project sooner or later.
Good Luck!

akdeberg profile image
Anik Khan

I believe you are right; after all, experience doesn't lie. I currently trying to build my profile as a developer so that I stand out in job market.
Any advice on that? And what are some of the things you suggest to craft a great profile?

Thread Thread
druidmaciek profile image
Maciej • Edited

Best idea to stand out is building side projects if you don't have any prior work. If you show proof of work, then you are more likely to get hired with no experience.
Regarding the profile apart of the tips I wrote in the article, I recommend you find couple highly rated freelancer profiles in your area of expertise ( or area you aspire to be expert in ), and take inspiration from that. When I was doing my profile at the start I just copied what I saw and liked in profiles of other freelancers, and changed it up to give it my personal twist.
You should put most focus into building your portfolio with some side-projects, because this is what will help you stand out the most.

Thread Thread
akdeberg profile image
Anik Khan

cool! Currently, I am just focusing on building side projects. Thanks for the confirmation. I will now be more confident along the way. Cheers!
Plz keep those good article coming😊

Thread Thread
druidmaciek profile image

Thanks! I have a lot of draft articles open so I am surly going to post something soon!

Thread Thread
akdeberg profile image
Anik Khan

haha...will be waiting....😉

spiritupbro profile image

hello please delete on your list turns out this is a scam website their trust score in trustpilot is a lie, i recently got scam $2000 by them as well, and not just me there is so many more, you can take a look here

sharknoise profile image

Great article!
There's still one question that bothers me though. If the job were to write a web crawler in Python, what would be the most common way of sending the crawler to the client? Do they expect a package installable with pip?

druidmaciek profile image

Hey, good question. It will depend on a client, some clients will just want the crawled data delivered and don't care for the script, some clients will require a python files, for others it doesn't matter, in those cases I usually make the crawler an executable, or attach short instruction how to install python and packages to run it since its simple enough.