Contract-to-hire is the most under-used route into a Singapore engineering team, and the most badly run. Over the last two years we have supported fourteen TypeScript engagements structured this way; nine converted to permanent, three ended by mutual agreement, and two failed for reasons that were entirely administrative and entirely preventable. Those last two are why this playbook exists. Here are the seven steps, with the specific paragraph that has to be in the contract and the two ways a conversion everyone wanted quietly does not happen.
Step 1 — Fix the conversion date before the contract starts
Write a date. Not “we will review after a few months”, not “if it goes well”. A calendar date, in the contract, by which a conversion decision will be communicated in writing.
The reason is behavioural rather than legal. An undated trial gives the hiring manager permission to defer, and deferral is the default behaviour of every busy manager. It also tells the engineer something they read accurately: that the employer has not committed to a decision, which is a reasonable basis for them to keep their own options open. Both parties then behave provisionally, and provisional behaviour is exactly what makes an engagement fail to convert.
Three months is the right length for most engineering roles. It is long enough for an engineer to ship something non-trivial, be involved in at least one production incident, and participate in a design decision — the three signals that actually predict a good permanent hire. Six months usually means the hiring manager has not decided what they are evaluating, and by month four your contractor is interviewing elsewhere, because an extended trial reads as indecision and indecision reads as risk.
Step 2 — Write the evaluation rubric before day one
Four to six criteria, observable, agreed with the hiring manager, and — this is the part employers resist — shared with the contractor on their first day.
Sharing the rubric feels like giving away the answers. It is not, because the criteria that matter cannot be gamed in three months. A useful set for a TypeScript engineer: ships production changes independently within four weeks; writes tests without being asked; raises design concerns before implementation rather than after; gives useful code review to people more senior than themselves; handles an incident without escalating prematurely or too late.
Notice what is absent: any criterion about “culture fit” or “attitude”. Those are the criteria that produce inconsistent decisions and, in a market as diverse as Singapore’s, they are the criteria most likely to smuggle in bias. If a behaviour matters, name the behaviour. Our note on take-home versus paired trials for TypeScript developers covers the same principle at the screening stage.
Our expert view
The rubric’s real function is not to evaluate the contractor. It is to force the hiring manager to say, before anyone starts, what a good outcome looks like. In roughly half the engagements we support, writing the rubric surfaces a disagreement between the engineering manager and the product owner about what the role even is — and it is far cheaper to have that argument in week zero than in week eleven with a person’s livelihood attached to it.
Step 3 — Settle the conversion fee and notice terms up front
This step is the reason two of our fourteen engagements did not convert, and both failures were pure administration.
If the contractor comes through an agency, a conversion fee almost certainly applies, and the variable that matters is how it decays with tenure. Most Singapore contract-to-hire agreements reduce the fee as the contractor’s tenure increases, so a conversion at six months costs materially less than one at six weeks. Get that schedule in writing at the start. A fee discovered at the moment of decision turns a hiring conversation into a procurement escalation, and procurement escalations take longer than a candidate’s patience.
Settle three other terms in the same paragraph: the notice the contractor owes if they decline conversion, the notice you owe if you decline, and whether any restriction applies to them joining the client directly at a later date. Resolving these while nobody is emotionally invested takes fifteen minutes. Resolving them in week twelve takes three weeks and sometimes fails.
Step 4 — Give real work and real access from week one
The most common way an employer wastes a contract-to-hire period is by treating the contractor as a security risk for the first month. No production access, no incident channel, no design meetings, a queue of isolated tickets. At the end of twelve weeks the manager reports that they still cannot tell whether the person is any good, which is accurate: they arranged not to find out.
Access controls exist for good reasons, and a Singapore employer in financial services has real constraints. The workable compromise is to grant the same access a permanent joiner would receive on the same schedule — if a permanent hire gets production access in week two, so does the contractor. If your onboarding genuinely requires eight weeks of clearance, then contract-to-hire on a three-month window is the wrong instrument for that role, and you should say so before you start rather than discover it at the end.
Put them in the incident rotation as a shadow from week three. Incident behaviour is the highest-signal, lowest-cost observation available, and it is impossible to fake.
Step 5 — Run a written mid-point review at the halfway mark
At week six, half a page against the rubric. Written, shared with the contractor, and specific about any gap.
The value is asymmetric and mostly accrues to you. If the engagement is going well, the review takes ten minutes and reassures a person who is quietly wondering. If it is not going well, you have just given them six weeks to fix something they may not have known was a problem — and in our experience roughly half of mid-point gaps close completely, because the gap is usually about expectations rather than capability.
A gap named at week six that is still open at week ten is a genuine no. A gap first mentioned at week eleven is not an evaluation, it is a justification written after the decision, and contractors can tell the difference.
Want the contract-to-hire route without the administrative traps?
We place pre-vetted TypeScript engineers with Singapore employers on contract-to-hire terms, with the fee decay schedule and conversion terms written in from day one. Tell us the role and get a shortlist in 24 hours.
Get started — free shortlist in 24hStep 6 — Make the decision two weeks before the date
Deciding on the deadline means negotiating on the deadline, and negotiating on a deadline is how employers lose people they had every intention of keeping.
Two weeks of runway buys three things. It gives you room to get an unusual package approved without rushing your own finance function. It gives the contractor room to decline an offer they are already holding elsewhere — a good contractor at week ten almost always has one. And it removes the message that an offer arriving on the final day sends, which is that they were the fallback rather than the plan.
Communicate the decision in writing on the day you make it, even if the full package takes another week to finalise. “We want to convert you, the package is being finalised, you will have it by Friday” is a complete message and it changes the contractor’s behaviour immediately.
Step 7 — Close with a package that names what changes and what does not
The conversion offer needs a written comparison, because a contract day rate and a permanent monthly salary are not comparable line for line and it is unreasonable to expect the candidate to reconcile them alone.
For a Singapore citizen or permanent resident, the largest structural difference is usually CPF: employer and employee contributions apply to permanent employment income in a way they do not to most contracting arrangements, which means a headline that looks lower can be better overall once contributions, leave and medical coverage are counted. For a foreign national, the pass type may change, and that has a lead time you need to start before the offer, not after.
Then state explicitly what does not change: the team, the reporting line, the work. Contractors converting to permanent are often quietly worried that acceptance will be followed by a reorganisation into something they did not sign up for. One sentence removes that worry, and it costs nothing. Our walkthrough of the notice period and offer timeline for Singapore TypeScript hires covers the sequencing in more detail.
The method at a glance
Fix a named conversion date in the contract (1). Write the rubric before day one and share it (2). Settle the fee decay schedule and notice terms while nobody is invested (3). Grant real access on the permanent-joiner schedule (4). Run a written mid-point review with enough runway to close a gap (5). Decide two weeks early (6). And close with a written comparison plus a statement of what stays the same (7).
Nine conversions out of fourteen engagements is a reasonable outcome, and it is worth being honest that a pipeline converting fourteen out of fourteen is not screening. Three of our five non-conversions were correct decisions made calmly. The other two were administrative failures that steps one, three and six exist to prevent, and they are the only ones we regret.
Frequently asked questions
How long should a contract-to-hire period be for a TypeScript developer in Singapore?
Three months works for most engineering roles; six usually means the hiring manager has not decided what they are evaluating. Three months lets an engineer ship something non-trivial, take part in an incident and join a design decision — the three signals that predict a good permanent hire. Shorter measures onboarding speed rather than engineering judgement. Longer produces a candidate who starts interviewing elsewhere around month four, because an extended trial reads as indecision.
Who pays the conversion fee when hiring through an agency in Singapore?
The employer does, and the variable that matters is how the fee decays. Most Singapore contract-to-hire agreements reduce it as contractor tenure increases, so a conversion at six months costs materially less than at six weeks. Read that schedule before the engagement starts rather than at the moment you decide to convert — a fee discovered late is the most common reason a conversion everybody wanted does not happen. If the schedule is not in the agreement, treat that as a term to negotiate.
What changes for the developer when converting from contract to permanent?
For a Singapore citizen or PR, the most material change is usually CPF: employer and employee contributions apply to permanent employment income in a way they do not to most contracting arrangements, so gross figures are not comparable line for line and a lower headline can be better overall. Beyond that: annual leave, medical coverage, bonus eligibility, notice period and equity. For a foreign national, the pass type may change and that has a lead time. Put it all in a written comparison.
What conversion rate should we expect?
A well-run pipeline converts a clear majority, and one converting nearly everything is not screening. Two failure patterns account for most of the shortfall: the employer who never intended to convert and used the contract as cheap capacity, which the market notices quickly; and the employer who wanted to convert but ran out of time, hit an unread fee, or waited until the deadline to start the conversation. The second is entirely preventable, and steps one, three and six exist to fix it.
Hiring TypeScript engineers in Singapore?
Permanent, contract or contract-to-hire — we pre-vet, we run the technical screen, and we put the conversion terms in writing before anyone starts.
Let’s talk about your roles