TL;DR: PyTorch developers from Asia who work for international clients earn $2,200 to $11,300+ a month on our machine learning engineer rate cards, and we shortlist 6-8 candidates within 24 hours. The closest US benchmark, the BLS median for software developers, was $135,980 a year in May 2025.
Hugging Face announced Transformers v5 on 1 December 2025 and, with it, the end of TensorFlow and Flax support, "focusing on PyTorch as the sole backend". The v5 announcement counted more than 3 million pip installs of the library a day. A team that fine-tunes open models through Transformers now writes PyTorch.
Key takeaways
- Malaysia has the highest floor on our machine learning engineer rate cards, $3,930 a month, and the Philippine range stops at $6,000.
- The TorchServe repository was archived on 7 August 2025, with no planned bug fixes or security patches.
- PyTorch 2.14, released on 2 September 2026, turns TorchScript's hidden deprecation warnings into visible ones.
- TorchText development has stopped, and its 0.18 release from April 2024 was the last stable one.
What PyTorch Developers Earn Working for International Clients in Asia
We publish no PyTorch developer rate card, so the table uses our machine learning engineer rate cards, the closest match. The Philippines and Vietnam share a $2,500 floor, while Malaysia's open top sits $1,890 above India's, the next ceiling down. Each figure is what engineers in that market earn working directly for foreign companies, before any employer or platform costs.
| Market |
Monthly pay working for international clients (USD) |
| Indonesia |
$2,200-$8,500 |
| India |
$2,410-$9,410+ |
| Philippines |
$2,500-$6,000 |
| Vietnam |
$2,500-$7,000 |
| Malaysia |
$3,930-$11,300+ |

Monthly ranges from the Remote (Working for International Clients) figures on our rate cards for Indonesia, India, the Philippines, Vietnam and Malaysia, converted at ExchangeRate-API mid-market rates for 14 September 2026.
The Indonesian, Philippine and Vietnamese cards quote US dollars with a fixed top. The Indian card is set in rupees (₹95.61 to the dollar) and the Malaysian card in ringgit (RM4.07), both open at the top.
The brief moves pay more than the market does. Fine-tuning a vision model on one GPU and running sharded training across a cluster are different hires at different ends of each range. Our pricing page explains how we bill a Second Talent subscription, and our machine learning engineer page covers the broader role.
US Pay Benchmark for PyTorch Developers
BLS has no PyTorch occupation. A PyTorch developer who builds and ships model code maps to Software Developers (15-1252). One whose job is new architectures and published results sits closer to Computer and Information Research Scientists (15-1221), so the table shows both.
| BLS OEWS, May 2025, national |
Software Developers (15-1252) |
Computer and Information Research Scientists (15-1221) |
| Median annual |
$135,980 |
$140,300 |
| 10th percentile, monthly |
$6,870 |
$6,850 |
| Median, monthly |
$11,330 |
$11,690 |
| 90th percentile, monthly |
$17,890 |
$19,220 |
Monthly figures are the annual wages on the BLS OEWS profiles for 15-1252 and 15-1221 divided by 12, rounded to the nearest $10.
Salary is only part of the US cost. In the BLS Employer Costs for Employee Compensation release for June 2026, wages and salaries made up 68.5% of employer compensation costs for full-time private industry workers, and benefits the other 31.5%.
For the contract route, our machine learning engineer cost-to-hire page puts a mid-level US freelance or contract ML engineer at $119 to $185 an hour, before payroll, insurance and leave.
Time Zone Overlap with ET, CT and PT
A GPU cluster bills by the hour whether anyone watches it or not. With a PyTorch developer in Asia, the overnight US hours can go to training runs your team launched during the shared window. US daylight time runs from 8 March to 1 November 2026, per NIST, and no city below changes its clocks.
| Engineer's city |
UTC offset |
9:00 am ET (EDT) |
9:00 am CT (CDT) |
9:00 am PT (PDT) |
| Manila, Singapore, Kuala Lumpur, Taipei |
UTC+8 |
9:00 pm |
10:00 pm |
12:00 midnight |
| Ho Chi Minh City, Jakarta, Bangkok |
UTC+7 |
8:00 pm |
9:00 pm |
11:00 pm |
| Bengaluru |
UTC+5:30 |
6:30 pm |
7:30 pm |
9:30 pm |
After 1 November 2026, every time in the table moves one hour later.
A Bengaluru shift from 3:00 pm to midnight runs 09:30 to 18:30 UTC. Subtract four hours and it covers 5:30 am to 2:30 pm in New York: five and a half hours of a 9-to-5 day on the East Coast, four and a half with Chicago and two and a half with San Francisco.
Use those hours for experiment reviews and the go or no-go on a long run. The developer starts the job with checkpointing on before signing off, so a node failure at 3:00 am US time costs one interval of progress. Your team reads the loss curves in the morning.
We agree that split before the offer, which is how our placements get 4-6 hours of daily overlap with US hours.
Late hours cost more for employees in two markets. The Philippines adds at least 10% between 10 pm and 6 am (Labor Code Article 86). Vietnam adds at least 30% between 22:00 and 06:00 (Labor Code Articles 98 and 106).
PyTorch Developer Skills to Screen For

The PyTorch Foundation became an umbrella foundation in April 2025 and took in vLLM that May and Ray that October. Training, serving and distributed compute now sit under one roof, and a PyTorch CV can mean any of the three. Screen for the parts your stack uses.
torch.compile and torch.export after TorchScript
PyTorch 2.0 made torch.compile the main API in March 2023, as a fully additive feature. The 2.10 release in January 2026 deprecated TorchScript and pointed users to torch.export. In the 2.14 release notes, torch.jit.script, trace, save and load now raise visible FutureWarnings instead of hidden DeprecationWarnings. The same release adds @dynamic_spec, one declaration of dynamic shapes shared by torch.compile and torch.export.
Give the candidate a TorchScript model with a data-dependent branch and ask for an exported .pt2 that serves the same outputs.
Distributed training with FSDP2
The official FSDP2 tutorial marks FSDP1 as deprecated. FSDP2 represents sharded parameters as DTensors and asks you to apply fully_shard to each submodule as well as the root model. Ask the candidate how they would fit a model that does not fit on one GPU across eight, what they shard first, and how they would resume from a sharded checkpoint after a lost node.
Serving after TorchServe
The TorchServe repository now carries a limited-maintenance notice: no planned updates, bug fixes, new features or security patches. For large language models, vLLM runs inside the PyTorch Foundation. For phones and embedded devices, ExecuTorch 1.0, released on 22 October 2025, deploys PyTorch models without converting them to another format. Ask a candidate who lists TorchServe what they would move a live endpoint to, and how they would compare latency before the cutover.
Checkpoint loading and weights_only
PyTorch 2.6 changed the default of torch.load to weights_only=True, a backward-incompatible security change noted in the 2.6 release blog. The announcement on dev-discuss explains that loading with the flag off lets pickle run arbitrary functions. Hand the candidate an old checkpoint that fails to load and score whether they allowlist the classes it needs or switch the flag off for a file of unknown origin.
Domain libraries: TorchVision, TorchText and Lightning
TorchVision 0.29 shipped on 2 September 2026, alongside PyTorch 2.14. Its maintainers archived the TorchText repository on 10 September 2025, with a notice that development has stopped. PyTorch Lightning released 2.6.6 on 10 September 2026. An NLP candidate whose recent work still imports torchtext should explain what replaces it: Transformers tokenizers, datasets, or their own pipeline. For vision-heavy briefs, compare our OpenCV developer track.
Contractor or Employer of Record for a US Company
Software is not one of the nine categories of commissioned work that can be "work made for hire" under 17 U.S.C. § 101, and § 204(a) requires a copyright transfer in writing, signed. List training code, fine-tuned weights, data loaders, custom kernels and evaluation sets in the assignment, so ownership does not rest on how a court would classify a trained model.
IRS Publication 515 says the place where services are performed determines the source of the income. A developer training your models from Bengaluru earns foreign-source income and gives you Form W-8BEN to certify foreign status.
Local law brings its own employment test. Philippine courts apply the four-fold test, and in Atok Big Wedge v. Gison the Supreme Court named the power of control as the most important of the four. Under Article 13 of Vietnam's 2019 Labor Code, an agreement under another name is a labor contract when it covers a paid job, wages and one party's management and supervision.
|
Independent contractor |
Employer of Record |
| Legal employer |
None; the developer invoices you |
The EOR's local entity |
| US paperwork |
Form W-8BEN from the developer |
Service agreement with the EOR |
| IP |
Written assignment covering code, weights, data loaders and eval sets |
Assignment terms in the employment contract and your EOR agreement |
| Local labor law |
Classification risk if you set hours and methods |
Night premiums, public holidays and leave apply |
| Pay currency |
Agreed in the contract, often USD |
Local currency; Vietnam's Labor Code states wages in dong (Article 95) |
A fixed-scope port from TorchScript to torch.export suits a contractor agreement. A developer with standing access to your GPU accounts and training data, working your hours, fits the employment tests above, and our Employer of Record service employs that developer in-country. Our EOR, PEO and contractor comparison sets out the trade-offs. This is a summary, not legal advice.
English Level and Working Norms
Vietnam scores 500 on the EF English Proficiency Index 2025, overall and for IT workers alike, 12 points above the global average of 488. Malaysia's IT workers lead the table at 590. The index ranks 123 countries and regions.
| Country |
EF EPI 2025 score |
World rank (of 123) |
IT job-function score |
| Malaysia |
581 |
24 |
590 |
| Philippines |
569 |
28 |
581 |
| Vietnam |
500 |
64 |
500 |
| India |
484 |
74 |
487 |
| Indonesia |
471 |
80 |
523 |
Scores come from EF's country pages, such as Vietnam, Malaysia and India.
Deep learning work lives in written English your team acts on: the experiment log, the model card, the note explaining why a run diverged. Ask finalists to write a half-page summary of a failed training run for a product manager.
Plan compute around both calendars. Thanksgiving on 26 November 2026 is a working day in Asia, so a developer there can run jobs on reserved GPUs your US team would otherwise leave idle.
Vietnam's Labor Code gives five paid days for Lunar New Year (Article 112), in late January or February, so with a Vietnam-based developer, avoid starting a multi-week training run the week before.
PyTorch Developer Hiring Process

Second Talent's vetting covers stages 2 to 5 before you see a profile. Our machine learning engineer interview guide adds question sets for your own final round.
Stage 1: Define what the hire owns
Write down the PyTorch version, the model family, the GPU budget, and whether the job ends at a checkpoint or at a live endpoint. Name the serving path, since TorchServe is no longer a safe default. For language-model briefs, compare our LLM engineer track.
Stage 2: Application review
We look for models the candidate trained and shipped, with scale in plain numbers: parameters, GPUs, training hours, requests a day. A fork of a tutorial repository does not pass.
Stage 3: Skills assessment
The candidate fixes a training script with a silent bug, such as a missing model.eval() before validation, then exports the model with torch.export. We score the fix, the export and a short write-up of the metrics before and after.
Stage 4: Live technical interview with a senior engineer
A senior engineer walks through the assessment, then asks how the candidate would shard a larger model with FSDP2, and how they would load a third-party checkpoint under weights_only=True.
Stage 5: Background and reference checks
We ask former managers which models the candidate shipped, how they reported a run that failed, and how they handled access to GPU accounts and training data. You then choose the contractor or EOR route above.
Hire PyTorch Developers from Asia with Second Talent
We shortlist 6-8 candidates within 24 hours from 100,000+ pre-vetted engineers, accepting only the top 1% of applicants. PyTorch developers come with $0 upfront, no lock-in and 4-6 hours of daily overlap with US hours. We handle contracts, payroll and equipment, with compliant EOR contracts and payroll in 9 Asian markets.
Our pricing page sets out subscription, direct-hire and EOR pricing. Maneva, which turns factory cameras into real-time quality control, filled its AI software engineering brief through us in 27 days, one of six hires across three roles, according to the Maneva case study.