So, how exactly are Kenyan software developers supposed to land their first, paying clients.
Let’s face it. The freelance market these days is absolutely cooked. If you are a freelance developer, you have probably tried various strategies to land your first client. Maybe you have set up multiple gigs on Fiverr, you have spent thousands on connects on Upwork, you’ve gone to all the networking events in Nairobi, maybe you’ve even printed out business cards and handed them around.
Yet, you got nothing. Not even a callback or a visit to your beautiful portfolio website. Well, maybe except from your mum and a few aunts. The closest you’ve gotten to an actual client was that friend of yours who’s looking to start a business. And, of course, they expect you to do the work for close to nothing, since, well, you’re friends.
I’ve been there, spending hours and hours trying to market my work and improve my skills yet seemingly getting nowhere. That was until I realized that I was missing out on a big opportunity that was staring me right in the face.
But, before we even get to that secret, there are a few key things you may have overlooked before you started looking for a client. Let’s look into those first so that you have the base line before you even start thinking about how to find your first client as a software developer.
Define Your Niche
We all wish that we build websites for each and every client we meet. However, sadly, this is not possible. Each industry has its specific quirks that you need to have in your portfolio, a lot of which may not be relevant to other industries.
Furthermore, when the client looks at your portfolio projects, they want to answer the question, “Have you worked on a project similar to what I am looking for?” And honestly, no matter how many coding sprints you make, it is highly unlikely that you will be able to have a project that meets the visions of every single client in every single industry.
Finally, defining your niche reduces the competition pool, making it easier for you to find your first customer. There are many “WordPress website developers” out there, but the pool of “WordPress website developers for irrigation companies” is much smaller.
So, how do you go about defining your niche? Well, this simple step by step process has worked for me and a lot of other developers that I have worked with:
- First, discover what industry speaks to you the most. If you already have education or work experience in that given industry, that’s a huge bonus. However, this is not necessary. Maybe its an industry you like learning about in your free time outside of your role as a developer. Or, it’s the industry your parent’s worked in when you were a child.
- Next, research that specific field. What does software development in that field look like and what aspects of that match your skill set. If you are a web developer, does the specific industry you’re looking into have more e-commerce sites out there or are there more business websites instead? And can you build that.
- Then, talk to people you know who work in that industry, preferably people who own businesses in it. Don’t try to advertise your services yet. Instead, ask them about the quirks of their job and how they think software plays into it. This gives you ideas of portfolio projects that would speak to business owners specifically. Additionally, people love to talk about their professional life, especially if they have made a business out of it. This conversation opens up an opportunity of landing a client later on.
- Finally, draft out a game plan. Maybe there’s a skill you lack that people in that industry seem to really need. Or perhaps you’ve noticed a gap in the market and you have an innovative idea to fill it. It is important that you plan before you get to marketing yourself. As they say, failure to plan is planning to fail, isn’t it?
Setting Up Your Portfolio
Yeah, I know, I know. You’ve already read all the guides and you have the best portfolio in the industry. But, do you really?
For starters, if your portfolio was vibe-coded, it might be worth revisiting. Now, there’s nothing wrong with using Artificial Intelligence to set up your portfolio, especially if you plan to vibe-code most of your client’s projects.
However, vibe-coded portfolio’s tend to have that look. A very plain look that is the same as a lot of other boilerplate portfolios on the internet. It does not help you stand out at all. A client wants to understand what your personality is, whether you would be a good fit for their specific company. You don’t have to throw out your project out entirely though. Just a few style tweaks can make a world of difference. In fact, it can be as simply as loading up that Claude session and asking the agent to examine your “index.css” file and remove aspects of AI-based code. Or, take the time to tell your agent what exactly you want to change. This way, you can give your website a personal touch.
Wait, maybe you’ve never even considered using AI for your work. You are a developer and you need no help to build your projects. Good? Then you likely have the personalization down. But how are you listing out your projects?
The typical format is simply displaying a card with a screenshot of the project’s homepage and a brief section on what your project does. Or maybe you’ve gone the extra mile to include a live demo or a full page description, going into detail on how your project works. However, there is still room for improvement.
Most of your clients don’t understand technical jargon. No one will think “Oh, wow. This project uses React for the frontend and Python for the backend”. They have no idea what the means. However, what they do understand is a story. Why was this project made? What does it do? Has it impacted anyone? It doesn’t have to be long either. Just some cool screenshots and a brief user story explaining what is important about the project is enough.
While there’s so much more we can go into when it comes to setting up your portfolio, these are the main points from what I have found. However, a final note, keep your project’s section brief. Three, well displayed, impressive projects (preferably deployed and functional ones) are far more impressive than a hundred half-baked ones with a 2-sentence description.
Pricing Your Services, Receiving Payments and Legal Matters Before You Find Your First Client As a Software Developer
A lot of new developers suffer from imposter syndrome, and that’s absolutely normal. You may feel that you deserve less pay because you have less experience. However, that might actually hurt you more than you know. Extremely low prices may cause the client to question your work’s quality. It is normal to be skeptical of cheap products. How often have you hesitated before buying a pair of shoes because they were “suspiciously cheap”?
In contrast, some skilled developers, especially those who have worked in top companies, may tend to overvalue their abilities. This can push clients away. Many ask, “if I can get this service at half the price here, and they seem to have good work, why should I go for the ex-employee from Safaricom?”.
The first step to knowing how much your work is worth is researching the industry. Keep your pricing within the typical ranges for that industry, no matter how much or little experience you have. Additionally, avoid fixed costs. Instead, present your clients with a range that can be negotiated.
After you know how much your work is worth, figure out how your payments will be made. In Kenya, one of the most common methods of payment is using M-Pesa. You can receive payments to your personal number at first. However, as your business grows, consider registering for a till number. This makes your service appear more professional as well as allowing you to keep personal and business funds separate.
On the other hand, you can choose to receive payments through bank transfers. It is extremely important to open a business account for this. Additionally, you can get a secure payment gateway system, like Paystack, to ensure that the fund transfer is safe and to assist in the case of refunds.
You can also combine both M-Pesa payments with bank transfers in order to suit different types of clients.
Next, legal matters. An independent contractor has a number of tax obligations that they are expected to file. Additionally, while you don’t need a lawyer to create an agreement for your first landing page, it is important to have something in writing. I cannot tell you the number of projects that I have built and received no payment for as there was no binding contract between myself and the client. Some key details you MUST include in your contract are:
- Scope of the project – what exactly are you building? what is the project’s expected time frame? are there any additional costs that the client should be mindful of? what will not be included in your service?
- Price and payment schedule – is the entire amount being payed at the start of the project, end or in chunks throughout the project’s time span? is there an expected deposit? is the payment refundable and under what circumstances?
- Cancellations – this is an important step that a lot of developers miss out on. Sometimes, the client realizes they cannot afford to complete the project, or simply don’t want it anymore. Or, maybe it is the contractor who wants to end the project. What rules govern this cancellation? Must there be a notice period? Are there any payments that still need to be made whether the project is cancelled or not?
- Revisions – finally, can your client expect to revisit the finished project later and have changes made? Within what time period are revisions allowed? Are the revisions free or paid for?
- Maintenance – Do you plan to offer maintenance after development? What rules govern this maintenance? Is it paid or free?
In case you are unsure, having a lawyer review the work never hurts, if it is within your budget. Nonetheless, it is absolutely mandatory that you have this legally binding contract with your client before any work begins. This protects you from both losing out on money that you worked for and even potential law suits.
My Secret On How To Find Your First Client As a Software Developer in Kenya
You have everything set up? Good.
Now, while your Computer Science program or coding bootcamp taught you how to build software, and maybe how to land a job if you were lucky, you probably never learnt any marketing. However, all across the country there are other individuals who have the marketing skills but no product to sell. So, why not offload the marketing job to someone else. They can be paid on commission.
But wait a minute, this set up comes with a lot of legal paperwork that you may not have the time or skills for. Also, you probably don’t know any marketers in your real life that you can just walk up to and say “Hey, do you wanna sell my services for me?” Enter, ProjecTech. A company designed to connect sales people across Kenya with software developers looking for clients. The company handles the legal work (including the client-developer contractual details we discussed previously). All you have to do is select a project that matches your skills and interests, connect with the sales person, code and get paid. Simple.
