Freelancing for developers: how to get your first clients safely

Freelancing can grow your income and skills, but the first clients are the hardest. Here is a realistic path and the safety rules that protect you.

A freelancer at a laptop with a contract and a payment

Freelancing means selling your skills to clients on your own terms, usually project by project, instead of working as a regular employee. It can be a side income, a way to build experience, or a full career. It also means you run a small business: finding work, agreeing scope, communicating and getting paid.

Is it right for you?

Good signs: you can finish projects alone, communicate clearly, manage time and deal with uncertainty. Be realistic: income can be uneven, early rates are low, and you need to market yourself. Many people start part-time while studying or working.

Step 1: choose a clear niche

"I do everything" is hard to sell. Pick a narrow, understandable offer:

  • A skill + an audience: "WordPress sites for small restaurants", "React dashboards for startups", "Python automation for small businesses", "bug fixes and feature work for Node.js apps".
  • Start from what you can already deliver well, not from what pays most this month.
  • You can widen later. Specialists usually win more trust and better rates than generalists.

Step 2: build proof

Clients buy confidence. Before you pitch:

  • Have 2 to 4 portfolio pieces that look like the work you want (real or realistic projects). If you have no clients yet, build sample projects, or do a small discounted or free project for a local business or community group in exchange for a testimonial.
  • Show results and process, not only screenshots: the problem, your solution, tools, outcome.
  • Keep a clean GitHub, portfolio site and LinkedIn.
  • Collect testimonials and permission to show the work.

Step 3: where to find clients

  • Freelance marketplaces (such as Upwork, Fiverr, Freelancer and similar). Good for starting, with competition and platform fees. Read each platform's current rules and fees on their own site, because they change.
  • Your network: friends, family, former classmates and colleagues. Tell people clearly what you offer. Many first clients come from here.
  • Local businesses that need a website, automation or a fix.
  • Communities and social media: LinkedIn, relevant forums and groups, where you share useful work and answer questions.
  • Open source and writing that shows your skill.
  • Referrals: ask happy clients to recommend you.

Step 4: writing proposals that win

On marketplaces especially, most proposals are generic. Stand out:

  1. Read the job post carefully and answer exactly what they asked.
  2. Open with their problem, not with your life story.
  3. Show relevant proof: one or two similar projects with links.
  4. Briefly explain how you would approach it, and ask one or two smart questions.
  5. State a clear timeline and price or range.
  6. Keep it short, polite and free of errors.

Do not copy and paste the same message everywhere. Send fewer, better proposals.

Step 5: price and scope

  • Fixed price suits clearly defined projects. Hourly suits unclear or ongoing work. Retainers suit regular monthly work.
  • Estimate time honestly and add a buffer for revisions and surprises. Beginners usually underestimate.
  • Do not compete only on being the cheapest. Very low prices attract difficult clients and burn you out. Raise your rates as you gain proof.
  • Write a clear scope: what is included, what is not, how many revision rounds, and what counts as a change request that costs extra. Scope creep (endless extras) is the biggest profit killer.
  • For larger projects, split into milestones with a payment for each.

Step 6: protect yourself

  • Agree in writing before starting: scope, price, timeline, payment terms, ownership of the work and revision limits. A short contract or clear written proposal accepted by the client is much better than a chat message.
  • Ask for a deposit (a part of the fee upfront) on direct projects, and use milestone payments.
  • On marketplaces, use the platform's escrow or milestone features and keep communication and payments inside the platform, so disputes can be handled. Moving off-platform to avoid fees usually removes your protection and can break platform rules.
  • Do not hand over final source code or full access until payment arrangements are met.
  • Keep records of messages, files and deliveries.
  • Learn the basics of your local rules on tax, business registration and payment methods. Rules differ by country, so check official sources or ask an accountant.

Common scams to avoid

  • "Work first, pay later" clients who disappear, or want a large free "test project".
  • Requests to pay a fee, buy equipment or software before you can start.
  • Fake cheques or overpayments where you are asked to send back the difference.
  • Clients who push you to move to private chat apps and avoid the platform right away.
  • Unclear identity, no company information, urgent pressure and unrealistic budgets.
  • Requests to install unknown software or share passwords, remote access or private keys.

If something feels wrong, stop and verify. Real clients are fine with contracts, milestones and normal payment methods.

Step 7: deliver well

Good delivery brings repeat work and referrals.

  • Communicate early and regularly. Share progress and flag problems before deadlines.
  • Under-promise and meet your deadlines.
  • Test your work. Provide clear handover notes or documentation.
  • Handle feedback professionally, and stay inside the agreed scope.
  • After delivery, ask for a review or testimonial, and offer a short follow-up or support plan.

Habits that grow a freelance career

  • Track your time and income, and set money aside for tax and slow months.
  • Keep learning, since your skills are your product.
  • Build a small system: proposal template, contract template, invoice template and a project checklist.
  • Say no to bad-fit projects.
  • Balance freelancing with your studies or job, and avoid burnout.

Takeaway: pick a niche, build proof, find clients through your network and good proposals, agree scope and payment in writing, protect yourself from scams, and deliver reliably to earn repeat work.


Career series, Part 1 (getting hired): 3 of 5. Previous: GitHub portfolio and LinkedIn profile: how developers get noticed.

Keep reading

Also on Newsreport