Why hire a developer in Nepal at all
Three reasons keep showing up in the briefs I take:
- Time-zone overlap is broad. Kathmandu is UTC+5:45. The working day overlaps comfortably with India, the Middle East, the EU, the UK and Australia. For US clients, mornings (their evenings) work cleanly. You're rarely waiting 24 hours for a reply.
- WordPress has deep roots here. Some of the most-installed WordPress plugins on the official directory were built in Nepal, by teams I have worked with or near. The WordPress.org community is real and active.
- Rates are competitive without being cheap. Senior PHP and WordPress rates from Nepal are typically a quarter to half of comparable Western rates, and meaningfully higher than the lowest-bidder zones — because the senior end of this market is not racing to the bottom.
None of those reasons help if you hire the wrong person. The screening is what makes the geography pay off.
Three shapes of supplier
You have three options when you hire from Nepal, and they are not interchangeable:
- An agency. Account manager, designer, QA, multiple developers. Best when you don't have an internal tech lead and want a single point of contact who handles delivery. The cost is overhead — you pay for the layers, and the most senior person probably isn't writing your code.
- A freelance team. A small group of seniors who collaborate. Roughly the same delivery shape as an agency for your project, less overhead, more variability.
- A solo senior. One developer, often with a decade or more of experience, taking the engagement end-to-end. Best when you have a defined scope, you want senior judgment without filtering it through a PM, and the work is plugin-shaped or audit-shaped rather than full-team-shaped.
Match the shape to the project. A 12-month product build with five workstreams is not a solo gig. A custom plugin or a code rescue almost always is.
What "senior" actually looks like
Years of experience are a weak signal. Twelve years of doing the same beginner work is not seniority. The signals I trust:
- Public code. A WordPress.org profile with shipped plugins, a GitHub with at least a handful of working repositories, contributions to other people's projects. Public code is the only resume that can't be inflated.
- An opinion about how to structure a plugin. Not "WordPress best practices" — an actual opinion they will defend. "I always extract business logic out of hook handlers because…" is a senior answer. "I follow whatever the client prefers" is not.
- Writing. A blog, a talk, even long thoughtful Stack Overflow answers. Senior developers have, at some point, had to explain something to a less experienced developer. That habit shows.
- An audit instinct. Hand them an existing plugin and ask "what would you change first?" A senior gives you a structured answer (security, then performance, then architecture). A junior gives you a list of preferences.
Questions worth asking
Five questions that get you most of the way:
- "Show me a plugin or codebase you're proud of, and walk me through the architecture." If they can show you something public and explain why they made specific structural choices, you are likely talking to a senior.
- "How do you handle WordPress core updates breaking your code?" The good answer involves CI, automated tests, version constraints in the plugin header, and a release process. The bad answer involves "we test manually after each update".
- "What does your typical week look like with a client?" Look for explicit communication cadence — weekly written update, recorded video walkthrough, named tools (issue tracker, time-tracking, document repo). Vagueness here predicts vagueness later.
- "How do you handle scope changes mid-project?" The good answer is a written change-request process with a re-quote. The bad answer is "we just absorb it".
- "What happens at the end of the engagement?" Hand-over documentation, code repository transfer, a post-mortem, an option to retain on a smaller monthly contract. Those signal a developer who has done this many times.
Red flags to walk away from
- No public code, anywhere. Not necessarily a deal-breaker for an agency, but for a solo senior it's odd. Twelve years of writing PHP and zero public artifact?
- Reluctance to sign a contract or NDA. A real professional has standard contract templates and a standard mutual NDA. "We don't usually do contracts for a project this size" is a red flag at any size.
- Uses cracked themes or plugins. Ask. The answer tells you a lot — about ethics, about the security risk they will introduce into your site, and about whether their client work is built on legally clean dependencies.
- Vague pricing. "We'll see how it goes" is a bad answer for a defined scope. Either a fixed price (because the scope is clear) or a capped time-and-materials estimate (because the scope is genuinely unknown). Fog is rarely accidental.
- Promises that don't survive thirty seconds of pushback. "Yes, we can do that in two weeks" — okay, walk me through how. If the answer is more "yes" rather than a plan, you are buying optimism.
- Communication is rough in writing but smooth on the call. You'll be working in writing 90 % of the time. Optimise for the channel you'll actually use.
Structuring a low-risk trial
The cheapest insurance against a bad hire is a small trial engagement. Two patterns work:
- A paid one-week scoping engagement. They produce a written technical proposal for the larger project — architecture diagram, milestone breakdown, fixed quote. You see how they think on paper. Cheap, fast, and the proposal has value even if you don't continue with them.
- A small fixed-fee deliverable. A bug fix, a small feature, a security review. Something that is real work, has clear acceptance criteria, and you can ship if it goes well. You're testing the working relationship, not the technical ability.
Don't use unpaid "test tasks" as a screening tool. They filter for desperate developers, not senior ones. A senior with twelve years of public work has already done the test task — show them the finished one.
Contracts, IP and NDAs
Three documents you should have signed before code is written:
- A simple statement of work — scope, timeline, deliverables, payment schedule, change-request mechanism. Two to four pages, in plain English.
- An IP-assignment clause — saying that the code written under this engagement belongs to you, the client, on payment. This is standard but you'd be surprised how often it's missing.
- A mutual NDA — covering both directions, signed before any commercially sensitive details are shared. Mutual is the polite default; one-way NDAs make the freelancer feel like a vendor, not a partner.
Payment-wise, the typical pattern is 30–50 % up front, balance on delivery, with intermediate milestones for engagements over a month. This protects both sides — you don't pay for vapour, the developer doesn't work for free.
How to actually work async
Time-zone overlap with Kathmandu is broad but not infinite. To get the most from the geography:
- Set a written-update cadence early. A two-paragraph update at the end of every working day, in a shared channel. Not status meetings — written notes. Anyone can catch up later.
- Prefer recorded video over live calls for walkthroughs. Five minutes of Loom, watched at the viewer's pace, beats a 30-minute call across time zones.
- Document decisions, not discussions. A short architecture decision record per major call. Discussions are ephemeral; decisions are forever.
- Schedule one weekly synchronous slot for the messy human parts — open questions, course corrections, anything that benefits from real-time.
None of this is unique to Nepal. It's just what working with anyone outside a single time zone looks like when it works.
Takeaways
- Match the supplier shape to the project. Agencies for full-team builds, solos for plugin and audit work.
- Public code, an architecture opinion and a writing habit are stronger seniority signals than a CV.
- Ask the five questions. Walk away from the five red flags.
- Use a paid trial engagement for the working relationship, not unpaid test tasks for the technical ability.
- Sign the SOW, IP assignment and mutual NDA before code is written.
- Set a written-update cadence on day one. Async works when it's structured.
If you've made it this far, you're already doing the screening better than most. If you'd like me to be one of the candidates, send me your project brief — I'll reply within one business day with honest feedback on scope, timeline and budget.