In 2021, in my post “5 tips for making money with programming”, my first tip was “become a freelancer”. A lot has changed since then, but one thing hasn't: most beginners know code well, but not the other half of the job.
I started out this way too: first a developer, then a freelancer, then my own studio. Half of freelancing is code; the other half is people, numbers and agreements. Let's look at that second half.
Is freelance right for you?
Before you start, ask yourself three questions:
- Can I manage myself? There's no boss, but there is a deadline.
- Am I ready for an irregular income? One month there's a lot of work, the next month little. Starting without savings is stressful.
- Can I talk to people? Communicating with clients is an inseparable part of the job.
If the answers are “yes”, go ahead.
Where the first client comes from
The first client usually comes from people you know, not from ads.
- Your circle. Friends, former colleagues, small businesses around you. Tell them clearly what you do: not “I build websites”, but “I build sites that take online orders for small businesses”.
- A portfolio. If you don't have clients yet, build a project that solves a real problem. See “Portfolio: the 3 projects hiring managers actually look at”.
- Platforms. Competition on sites like Upwork and Fiverr is tough, but they're useful for first reviews and international experience.
- Being visible. Share the work you do: what the problem was and how you solved it. People want to see the result, not the code.
How to set the price
The most common beginner mistake is a price that's too low. A low price brings clients, but it burns you out: you earn little, work a lot, and over time your motivation fades.
- Work out your minimum. Your monthly expenses, taxes, the computer, the internet, the days without work. Divide that amount by the real working hours in a month.
- Quote per project, but write the scope precisely. For a beginner, hourly billing often turns into arguments with the client.
- Split the price into stages: discovery, prototype, development, launch. The client sees what they're paying for.
What the contract must include
A contract isn't distrust; it's a document that protects both sides.
- The scope of work — what's included and what isn't.
- Stages and dates.
- The payment schedule — an advance and stage payments.
- The number of revisions.
- Rights — the rights to the code and materials pass to the client after full payment.
- The support period — how long after launch, and on what terms.
As for tax registration and legal form, talk to an accountant or a lawyer. It saves a lot of headaches later.
The “let's just add one more thing” trap
The project is under way and the client says: “Let's add just one more button, it's a two-minute job.” Then one more. Then one more. By the end of the month the project has doubled, but the price is still the same.
The rule is simple: every new request means a new price and a new date. You can say it politely: “Great idea — let's put it in the second stage and estimate it separately.”
Rules of communication
- Send a short report once a week: what's done, what's left, where there are questions.
- Don't hide problems; raise them early. Bad news delivered late is twice as bad.
- Keep agreements in writing. Messages are written too, but they don't replace a contract.
From freelancer to studio
One day, when the work piles up, you won't be able to deliver alone. Then there are two roads: either you get more selective and raise your price, or you build a team. For me that road became Saytweb Studio in 2017 and NS Studio in 2021. Whichever road you choose, the foundation is the same: clear agreements, honest communication and work delivered on time.
Want to start freelancing but don't know where to begin? The IT professionals track in mentorship is made for exactly that.
