When I started learning design and code in 2019, I wasn't sure I'd be able to do it at a hireable level. Three years later, and at the age of 21, I am proud to share I'm currently working as a full-time freelance developer and designer 🎉!

It hasn't been easy. It took trial and error, and one time I almost got scammed 😓!

In this post, I will show you what skill level you need to start freelancing, how to get started, and share some of the best advice I wish I knew.

How I learned to code

It goes without saying that to become a freelance web developer, you need to be skillful at building websites.

Before starting freelance, I watched Gary Simon's UI and UX videos on YouTube. Later, I discovered his courses on Scrimba, and, In turn, I completed several other Scrimba courses. Now I'm doing their self-paced web development bootcamp alternative called the FrontEnd Developer Career Path.

Another good resource I tried along the way is Harvard CS50: Introduction to Computer Science..

Getting started on UpWork

Once I felt ready to start freelancing, I made a portfolio based on Kevin Powell’s Scrimba course on Build and Deploy Your Web Developer Portfolio:

My portfolio

I also created an UpWork profile and started sending proposals out to work with clients at $28.13/hr as a web developer and web designer.

Here is how I positioned myself on UpWork:

After working with my first few clients, I started getting a good understanding of business.

I wasn't "just" learning anymore and doing projects for fun. I was working with people that have expectations.

Standing out on UpWork

UpWork is a competitive place. To make matters harder, in the beginning, you have no reputation, and you're an unknown quantity.

I knew to stand out, I would need to demonstrate my work. That is why I invested in building two showcase projects.

1. Email Client

My first showcase project was an email client that makes API calls to send and receive emails:

This project has the following features:

  1. Register and login
  2. Send email
  3. Mailbox
  4. View emails
  5. Archive and unarchive emails
  6. Reply to incoming emails

2.  Forman

My second showcase project is called Forman, and I built it for a client.

Some clients may wish you to sign a Non-disclosure Agreement, but when possible, you should reserve the right to showcase the work as it can bring new clients.

What skill level do you need?

To give you an idea about what you would need to be able to build to start working for clients, here is a portfolio project I did for a UX Designer that just graduated from her master's program.

If you think you can build something similar, you’re ready!

Her specification was straightforward enough - she wanted a portfolio filled with the content from the program. She hired me to design and develop her portfolio from scratch.

Meeting with clients and securing deals

Once you connect with a client, arranging a meeting is expected.

Clients usually schedule meetings through Zoom with me, but Upwork recently developed a paid consultation feature.

Before the interview, I study the proposal and write down questions and my ideas in a doc, so the conversation isn't awkward and dry. Most employers have an idea about what to discuss.

Sometimes I have to sit there and listen to what they want me to do.

Other times, they have no idea what they want, and I have to provide them with a guide.

Here is an example of a proposal I send to clients.

Hi there!

I’d really like to work on this with you. I see that you are looking to hire a designer who can design and develop a banana themed website +  design a logo. I'd be happy to help!

I offer expert knowledge in ui design, illustration, with advanced abilities in front end development and proficiency in web design. I have mastered major software programs used in the design industry, such as Photoshop, Illustrator, Adobe XD, Figma, and Affinity Designer.

I have been an {Job Title} at {Company} for # years now. I have a 100% success rate, and I always go beyond basics to help my clients and serve business needs.

If you have any questions about my qualifications, or skills, please don't hesitate to profile, portfolio, and work history.

Portfolio: examplemyportfolio.com

Best wishes,
Ryan Buretta

Dealing with rejection

As a freelancer or job-searcher, rejection is part of the game.

Feedback emails can be harsh, but they help you know what to improve.

During the application process, you can have hits and misses. It's essential to focus on both.

What I said after getting denied :

“Your company is exactly the type of place I hope to one day work, so any feedback or advice you can give me for future applications would be greatly appreciated”

What they said:

Thanks for the compliment! The main point is that we are looking for someone with more experience (5yrs).

We do make exceptions based on scope, and quality of work. Your portfolio also doesn’t present you as a UI designer with your pieces being photography that then links to figma, xd, etc. Which is a confusing experience, and I’d suggest updating before applying to other positions.

Please as you grow consider us again when looking in a year, and have an updated portfolio of work

Thanks for reaching for feedback!

Brian Rae
Design Manager

The issue was that the client didn't click on the pictures on my portfolio website. The images were links to projects 😄!

This moment made me quite frustrated. I changed the images of nature/people to pictures of my projects. It just made more sense. This information was hard to stomach but was essential for me to hear to improve.

Top 4 Tips for New Freelance Web Developers

There are many interviews and guides about freelancing as a web developer. Still, some things you have to learn from experience. Here are four things I wish someone had told me.

1. Communicate expectations

My biggest challenge while freelancing is getting undervalued.

I had a terrible client a few months ago and ended up canceling the contract. The client was not paying me for my time, asking for extra work, and being unprofessional.

It's essential to have excellent communication with your client upfront and during. That's the key to a smooth project.

When communication is lacking, you will have to revise multiple times, then tensions get high, and you risk your contract being nullified.

2. Clients go stale sometimes

Sometimes when working with clients, everything will go great, and then suddenly, the client will become unresponsive due to a lack of funds or different ideas.

This is discouraging, but it's not the case every time. Sometimes clients put contracts on pause until they're ready to use your services again.

3. Beware clients who take advantage

When you first start, "bottom-feeder" clients smell you 😷.

What is a bottom feeder client? Let me make it easy for you. They are the type of clients who make up their own prices and expect you to do quality work for low cost or none.

You don't want to associate yourself with them (it's okay if you do, though, I did, and I learned from my mistake.) The more jobs you do for low cost, the more other clients will see that low cost on your profile and then question your prices if you ask for higher.

These clients are not usually familiar with the internet, how websites are built, how much it costs, and how much time it takes. It's my job as a freelancer to educate them politely.

I once had a client who got defensive when I tried to educate him on how Figma works because he wanted to be part of the design process and didn't understand.

Using "I" statements is a great way to communicate how you would do it so the other person can tune in. Going the route and saying "you're doing it wrong" or "do it this way" can cause a conflict.

I calmed this client down by using "I" statements, reassuring him that it was all fine, and began breaking it down step by step for him.

Even though it got tense for a moment, using "I" statements and being polite made the client happy, and I got a 5-star review:

"Ryan was supportive, communicative, reliable, and knew how to get the desired results. I enjoyed working with him and will use him for future projects."

Reviews like this help me find new clients.

4. Scammers can go to extreme measures

If I knew starting as a freelancer that there would be so many scammers, I would probably have taken precautions beforehand.

I have come very close multiple times to giving away sensitive information like my usernames, passwords, banking account information, and personally identifiable information.

People will go so far as to create fake websites, fake services, fake companies, fake interviews, fake background checks, fake phone interviews (yes, I'm serious! I've had phony phone interviews with people!), fake live support services, and even create counterfeit bank checks.

You need to be on guard and do your research about people, their website, and their company. It's astounding how much work these people put in to scam you.

Now that I've got experience under my belt, I can easily sniff out a scam. If it sounds too good to be true...

ℹ️ A report from security firm eSentire has discovered a group of scam artists known as “golden chicken”  that send out fake job offers in an effort to infect victims, steal information, and money.

Users on LinkedIn have been warned about the scam that is targeting job seekers on the social media platform.

Keep an eye out! It's the worst feeling to get excited about getting hired then finding out it's a scam.


Coding was hard to start, but I kept at it, built that muscle memory, and now it's a lot easier 💪🏻.

I'm a big fan of Scrimba, and I love Scrimba Community. I am still working through the Frontend Developer Career Path. I want the certificate for it, and I want to learn React.

By sharing my journey I hope that I can inspire you and help grant some insight. I would love to connect with you on Linkedin even if you just want to expand your LinkedIn network, and if you have any questions for me I am more than happy to chat.

You got this! And I guarantee you will feel like a superhero by the end of your journey 🦸🏻!

"If you put your mind to it you can accomplish anything"

- Emmett Brown - Back To The Future