Step 1: Write a Job Description That Engineers Will Actually Read

The job descriptions that most companies post for software engineering roles are, frankly, embarrassing. They list 15 years of experience requirements for technologies that have existed for 8, ask for five different programming languages at expert level, and describe the role in marketing language that tells a candidate almost nothing about what they'd actually be doing day to day.

Good engineers have options. They apply selectively, to roles where the job description gives them enough information to evaluate whether the opportunity is worth their time. Here's what a good JD includes:

💡 The job descriptions that attract the most applications from strong engineers tend to read like they were written by an engineer, not by HR. If your engineering hiring manager hasn't reviewed and contributed to the JD before it's posted, that's a problem.

Step 2: Search Where Engineers Actually Are

The best software engineers I've ever placed were found on GitHub, not LinkedIn. This is not an exaggeration — it is a consistent pattern. Strong engineers are building things. Their public work, their open source contributions, their commit history — these are far more reliable signals of genuine capability than a polished LinkedIn profile. The engineers who are exceptional at their jobs are usually too busy doing excellent work to maintain a professional social media presence.

Platforms to search beyond LinkedIn:

FreeFindTalent searches GitHub, Stack Overflow, and 40+ other platforms simultaneously — useful if you want to run a broader sourcing pass without doing it all manually.

Step 3: The Initial Outreach — What Works and What Doesn't

If you're doing direct outreach to engineers, the message quality matters more than you might expect. Busy, employed engineers receive multiple recruitment messages per week. The ones that get responses are specific, brief, and demonstrate that the sender has actually looked at the candidate's work.

✓ Messages that work
  • Reference something specific from their GitHub or portfolio
  • Lead with the interesting technical problem, not the company name
  • State the salary range upfront
  • Be short — 3–4 sentences max
  • Make the next step low-friction (a 20 min call, not a full application)
✗ Messages that don't
  • "Hope you're well! I came across your impressive profile..."
  • Generic copy-paste with just the name swapped
  • No mention of compensation
  • Long walls of text about the company
  • Asking them to apply through a portal as a first step

Step 4: Build an Assessment Process That Respects Their Time

This is where many organisations lose good candidates. The engineering assessment process at some companies has become a multi-week ordeal involving take-home projects, live coding challenges, multiple system design rounds, and behavioural interviews before an offer is even contemplated. Strong engineers who are currently employed — the ones you actually want — simply don't have the time or interest to go through a five-stage process for a speculative opportunity.

What a good process looks like

  1. Brief screening call (20–30 minutes) With the hiring manager or a senior engineer — not HR running through a list. The goal is mutual qualification: do the candidate's experience and aspirations match what you're offering? Is there genuine interest on both sides? If yes, move fast.
  2. Technical assessment calibrated to the actual role For a backend engineering role, a practical assessment around backend engineering problems — not algorithms trivia from a LeetCode-style platform that has no bearing on daily work. Ideally this is a take-home of no more than 2 hours, or a collaborative live session reviewing a real-ish codebase.
  3. System design conversation (for senior roles) A dialogue, not a performance. The best system design interviews are collaborative — the interviewer contributes constraints and trade-offs, the candidate reasons through options. You're evaluating how they think, not whether they can recite the "correct" architecture for a distributed system.
  4. Team meet and culture fit (30–45 minutes) Have the candidate meet 2–3 team members, not in an interrogation format but in a conversation. The goal is for both sides to assess whether they'd enjoy working together. Strong engineers know what environments they thrive in.
  5. Offer, fast If you want someone, tell them within 48 hours of the final interview. Candidates who've gone through your process are simultaneously going through processes at other companies. The offer that arrives first, from a company that has clearly made a decision, signals that you're organised and decisive — which is itself attractive.

Step 5: What Engineers Actually Care About in 2026

Beyond compensation — which needs to be competitive; this market doesn't reward below-market offers — here's what I consistently hear when I speak to engineers about what makes a role attractive:

The Market Reality in Singapore and Hong Kong Right Now

Singapore remains the stronger technology hiring market of the two — a broader pool of international talent, more active startup and hyperscaler presence, and a government that has consistently invested in making the country an attractive destination for technology workers. The EP (Employment Pass) process has become more streamlined for qualifying candidates, and COMPASS has added some structure to how EP eligibility is assessed.

Hong Kong's technology talent market is smaller, somewhat more constrained, and has seen some net outflow of talent over the past few years. That said, for the right roles — fintech, financial data engineering, trading systems — the concentration of financial services institutions in HK means the available talent pool is deep and technically sophisticated in those specific areas.

In both markets: be patient enough to find the right candidate, be fast enough not to lose them once you've found them, and be honest enough about the role that whoever joins is genuinely set up to succeed.