Skip to content

10 Questions to Ask Any Software Developer Before You Pay a Cent

Before you hand over any money, these ten questions quickly separate developers who will deliver from those who will leave you stranded.

By Karani Geoffrey, Founder & CEO, Upeosoft
In short

Before paying a developer, confirm the essentials in writing: who owns the code and credentials, how you will see progress, how payments tie to milestones, who handles Kenyan integrations like M-Pesa and eTIMS, and what support and handover look like. Clear answers signal a professional; vague ones are a warning.

Key takeaways
  • Always confirm in writing that you own the code, domain, and all credentials.
  • Tie payments to milestones and working demos, never large sums up front.
  • Ask exactly how you will see progress and how often you will meet.
  • Check real experience with M-Pesa, eTIMS, and other Kenyan integrations you need.
  • Clarify support, maintenance, and what happens if they become unavailable.
  • Vague or defensive answers to these questions are themselves the answer.

Why these questions protect you

Most software disappointments do not come from bad code. They come from mismatched expectations that were never discussed. The questions below surface those gaps before any money changes hands, when you still have all the leverage.

Think of them as a filter. A strong developer welcomes them and answers with specifics. A weak one gets vague or defensive, and that reaction alone can save you from a costly mistake.

1. Who owns the code, domain, and credentials?

This is the most important question of all. You should own your source code, your domain, and every server and service credential outright, from day one. If ownership is unclear or the developer keeps the keys, you are locked in and exposed if they leave.

Get the answer in writing. Real ownership means you can hand the project to anyone else if you ever need to, which is exactly the protection you want.

2. How will I see progress along the way?

You should never have to take "it is almost done" on faith. Ask how and how often you will see working software, not screenshots or status updates. Regular access to a running version keeps everyone honest and catches misunderstandings early.

A developer who commits to frequent demos is confident in their pace. One who wants to disappear and reveal everything at the end is a risk.

3. How are payments structured?

Tie money to delivered milestones, each with something you can actually see and test. Avoid paying large amounts up front against promises; that is how abandonment stories begin.

A fair structure protects both sides: the developer is paid for real progress, and you are never far ahead of what has been delivered. Be wary of anyone demanding most of the fee before meaningful work exists.

4. Do you have real experience with the integrations I need?

For Kenyan businesses this usually means M-Pesa via Daraja, eTIMS invoicing with KRA, and statutory items like SHIF, NSSF, and PAYE. Do not accept a simple yes. Ask them to describe how they have handled these before, including reconciliation and edge cases.

Specific, detailed answers show real experience. Vague confidence often means they will be learning on your budget, and mistakes in payments or tax are expensive and public.

5. What happens if you become unavailable?

Illness, a bigger client, or a change of plans can pull any single developer away. Ask directly what happens to your project if they cannot continue. Is there a team, documentation, and a handover plan, or does everything live only in one person's head?

The answer reveals how much risk you are carrying. A serious partner has continuity built in; a lone operator with no backup is a gamble even if they are talented.

6. What do support and maintenance look like after launch?

Software is never finished at launch. eTIMS rules change, M-Pesa APIs update, and your team will always want improvements. Ask how bugs are handled after go-live, what a support arrangement costs, and how change requests work.

A developer who plans for the long term is thinking about your success, not just collecting a build fee and vanishing. Silence on maintenance is a sign they see this as a one-off transaction.

7 to 10. The questions that reveal how they really work

The remaining questions round out the picture and expose how a developer actually operates day to day.

  • 7. Can you show me similar work or clients I can speak to? Real references beat polished portfolios.
  • 8. How do you handle changes to scope once we start? A clear process prevents disputes later.
  • 9. Where will my data and system be hosted, and is it secure and backed up?
  • 10. What do you need from me to succeed? Good developers know the project is a partnership, not a drop-off.

How Upeosoft answers these questions

We welcome every one of these questions because we answer them the way you would want. You own your code, domain, and credentials from day one. We work in phases with regular working demos and milestone-based payments, and we handle M-Pesa, eTIMS, and statutory integrations as routine.

Because we are local, you can meet us, hold us accountable, and rely on us for support long after launch. If you are interviewing developers, bring this list to us and see how the answers compare.

Frequently asked questions

Which single question matters most?

Who owns the code and credentials. If you do not own your source code, domain, and server access, you are dependent on the developer for the life of the software. This one point causes more lock-in and abandonment pain than any other, so settle it clearly and in writing before you pay.

Is it rude to ask a developer these questions?

Not at all. A professional expects them and answers gladly, because clear expectations protect both sides. If a developer is offended or evasive when you ask about ownership, milestones, or support, that reaction tells you how the whole project is likely to go. Treat their openness as part of what you are evaluating.

How do I judge whether their answers are good?

Look for specifics, not reassurance. "Yes we do M-Pesa" is weak; describing how they handle Daraja callbacks and reconciliation is strong. Good developers explain trade-offs, admit limits, and put commitments in writing. Confident generalities with no detail usually mean they have not done the thing they are claiming.

Should I get the answers in writing?

Yes. Verbal promises are hard to enforce and easy to forget. Capture ownership, scope, milestones, payment terms, support, and handover in a written agreement or at least a clear email trail. This is not about distrust; it is about both parties sharing the same understanding when memories and circumstances change.

Karani Geoffrey
Karani Geoffrey
Founder & CEO, Upeosoft

Karani Geoffrey is the Founder & CEO of Upeosoft, a software and automation company rooted in Kenya. He builds custom software, AI systems, and production-grade ERPNext for businesses across East Africa, and writes about the Kenyan realities - eTIMS, M-Pesa, SHIF, unreliable internet and power - that make or break real systems.

Next step

Want this working in your business?

Upeosoft builds and hardens the systems behind this article - for real Kenyan operations, with eTIMS, M-Pesa and offline realities handled.

Keep reading

Build, Buy or OutsourceBuyer's guide

Local vs Offshore Software Development: An Honest Comparison

Offshore looks cheaper, local feels safer, but the honest answer depends on your project. Here is a clear comparison for Kenyan businesses making the call.

5 min readRead article →
Build, Buy or Outsource

Why So Many Kenyan Software Projects Built Abroad Fail

It is a familiar story: a Kenyan business hires abroad to save money and ends up with a stalled, non-compliant, or abandoned system. Here is why it keeps happening.

5 min readRead article →
Build, Buy or Outsource

How to Rescue a Half-Finished or Abandoned Software Project

A stalled or abandoned software project is not a dead end. Here is the step-by-step way to assess what you have and get it delivered.

5 min readRead article →