post · Tutoring · Singapore · Hiring

How to Pick a Programming Tutor in Singapore Without Wasting Money

Searching for a programming tutor in Singapore is harder than it should be. Half the listings on Carousell are template copy, the rates range from S$30 to S$200 an hour with no obvious reason, and most tutors will say yes to any module you mention. So how do you actually pick one?

I've been on the receiving end of this conversation for four years. Here's the framework I'd use if I were paying for help instead of giving it.

What "programming tutor" actually means in Singapore

The phrase covers four very different services, and people quote wildly different prices because they're not selling the same thing.

  1. Concept tutoring. A tutor walks you through lectures, answers questions, helps you do tutorials. Closer to traditional tuition. Common rate, S$50 to S$80 an hour for undergraduate modules.
  2. Assignment debugging. You send broken code, the tutor finds the bug, explains why. Often per-issue rather than hourly. S$30 to S$80 per fix depending on complexity.
  3. Project help. FYP, capstone, group project where you need design help, code review, or a working prototype. Quoted as a project, S$200 to S$2,000 depending on scope and timeline.
  4. Doing the work for you. This exists. It's also against every university's academic honesty policy. If a tutor offers this without warning you, walk away. Universities now run plagiarism checks against past student submissions and known tutor accounts.

Match what you actually need to which service. Hiring a project-help tutor for a quick CS1010 question is overkill. Hiring a debugging tutor for FYP architecture won't work either.

Red flags that should kill the conversation

Most bad tutoring isn't malicious, it's just mismatched. But some signals reliably mean "this won't work out".

  • No specific module experience. "I can teach any programming language" usually means general programming background, not familiarity with how NUS marks CS2030S or how NTU structures CZ1003. Ask for the exact module name back.
  • Refuses to explain their approach. A real tutor can tell you in two minutes how they'd handle your problem. If you get vague reassurance instead, that's a sign.
  • No portfolio or references. Anyone tutoring seriously has either testimonials, public code, or a track record. A blank profile with five-star reviews and no detail is suspicious.
  • Pressure to commit before you've described the problem. "Send the deposit first then we discuss" is reversed. Real tutors quote after they understand the work.
  • Promises a grade. Nobody can guarantee an A. They can guarantee effort. If someone promises an outcome, they're either lying or about to do the work for you.
  • Price too low for the scope. A full FYP for S$300 is either ChatGPT output you'll have to debug yourself, or someone who'll vanish after collecting payment.

If two or more of these show up in the first message, save your time.

Green flags worth paying more for

The tutors who are actually worth their rates share a few characteristics:

  • They ask before they answer. What's the deadline. What language version. What's the marking rubric. This means they're trying to solve your actual problem.
  • They show working code. A small example file, a GitHub link, a screenshot of a prior project. Concrete proof beats claims.
  • They quote a range, then narrow. "Sounds like S$X to S$Y, send me the brief and I'll firm up." That's how anyone who values their time prices unknown work.
  • They're honest about scope mismatch. "This is past my comfort zone" or "I'd recommend someone else for this module" is rare and usually a sign of integrity.
  • They use your tools. Telegram replies on time, GitHub for code review, screen-share for live debugging. If a tutor in 2026 still wants to email you a zip file, they're not used to working with developers.

You're paying for time and judgement. Both are visible in the first conversation if you know what to look for.

What to send when you reach out

Most tutors I know skim the first message and decide within thirty seconds whether to engage. The students who get good help fast send messages that look like this:

Hi, NUS Y2 CS, taking CS2030S this semester.
PE2 is on Friday and I'm struggling with streams + lazy evaluation.
I've solved the Week 7 tutorial but Week 8 is breaking my brain.
Can you help me prep for ~3 hours over Wed/Thu?
Budget around S$60-80/hr.

Why this works:

  • It tells the tutor your level (Y2 CS), your module (CS2030S), and your specific problem (streams + lazy evaluation).
  • It states a deadline, so the tutor can decide if they have capacity.
  • It proposes scope (3 hours) and budget. The tutor can accept, counter, or decline cleanly.
  • It signals you've tried (solved Week 7), so the tutor knows you're not asking them to start from zero.

Compare to: "hi, can you help me with java? how much do you charge?" That gets a templated reply at best, ignored at worst.

Fair pricing in 2026

Rough ranges across the Singapore market right now, based on what I see on Carousell, Telegram, and quoted by local tuition agencies:

Service Low end Common High end
Concept tutoring (1:1, hourly) S$40 S$70 S$120
Assignment debugging (per fix) S$30 S$60 S$120
FYP/capstone (full project) S$500 S$1,200 S$3,000+
Exam prep crash session S$80 S$150 S$300

Prices outside these ranges aren't necessarily wrong, but they need a reason. Below the low end usually means inexperience or AI passthrough. Above the high end is fine if the tutor has industry credentials, like a senior engineer at a top tech company, or specialised expertise like ML research or compilers.

Don't pay for promises. Pay for someone whose work you've seen.

Tutoring versus AI

ChatGPT and Claude can answer most undergraduate programming questions. So why pay a human?

Because AI doesn't know:

  • What your marker actually rewards. CS2030S grades for immutability and lambdas. AI will write working but mark-losing imperative code unless you specifically prompt against it.
  • Why your specific bug is happening in your specific codebase. Pasting 200 lines into a chat box is not debugging, it's guessing.
  • The Singapore context. NUS academic policies, NTU's specific compiler setup, polytechnic project requirements, all are absent from generic AI advice.
  • When you should give up on an approach. AI will keep helping you walk a wrong path. A tutor stops you and redirects.

Use AI for syntax lookup and first-draft solutions. Hire a human when the problem is judgement, debugging, or grade-sensitive work.

What I do differently

Since you're reading this on my site, full disclosure on how I work:

  • Quote upfront, on the first message. Send me your task description and I'll give you a number before you commit to anything.
  • Per-task pricing for debugging and assignments, hourly for concept tutoring, project-quoted for FYP. Different services, different pricing.
  • Telegram-first. I reply within working hours and you can see the whole conversation history.
  • No work without a brief. I don't take vague "help me with Java" requests. The brief is part of the value.
  • I'll turn down work I can't do well. If your module is something I haven't taught before, I'll say so and recommend a route.

If that fits how you want to work, send me your task on Telegram. If not, the framework above still works for picking anyone else.

TL;DR

Match the service to your need (concept, debugging, project, exam). Send a brief that signals what you've tried. Pay in the fair range for your service type. Walk away from any tutor who promises grades, refuses to explain their approach, or pressures you to commit before describing the work.

Most students overpay for the wrong service or underpay for someone who can't deliver. Picking right the first time saves both.

Stuck on something specific?

Send your brief and I will reply with a fixed price, usually within the hour.