ML Careers · ML Systems Lab

Where in the World to Be an ML Engineer in 2025

British ML engineers earn about 60% of what their San Francisco counterparts make. Berlin is 50%. Bangalore is 20%. But salary is only one variable. Tax rates, cost of living, work culture, visa pathways, research ecosystems, startup density, and the quality of the ML community around you all shape what a city actually offers an ML career. Here is the honest, un-romanticised picture of every major ML hub in 2025.

Let's begin with the uncomfortable arithmetic. A Senior ML Engineer in San Francisco earns, in total compensation, approximately $400,000 per year. The same engineer in London earns £140,000 — about $175,000. Berlin: €130,000, about $140,000. Toronto: CAD $180,000, about $130,000. Bangalore: ₹80 lakh, about $96,000.

These gaps are large. They are also, in important ways, misleading.

San Francisco and the Bay Area: the gravity well.

The Bay Area is not where ML engineering is best paid. It's where the intersection of compensation, ML institutional density, and career trajectory is most favourable. The distinction matters.

Within a 30-mile radius of downtown San Francisco, you have: OpenAI, Anthropic, Google DeepMind, Meta AI, Apple ML, NVIDIA, Waymo, Scale AI, Cohere, Databricks, and hundreds of ML-first startups. The concentration of talent means the ML community is real — conferences, meetups, informal networks of engineers who have worked at three of the same companies. Peer learning compounds.

What it costs: median rent for a one-bedroom apartment in San Francisco in 2025 is approximately $3,200/month. A senior MLE earning $350k TC takes home roughly $210–230k after federal, state (California: 13.3% top bracket), and payroll taxes. That's a comfortable life, not a lavish one. The financial proposition depends almost entirely on equity appreciation.

The hidden variable: visa. If you're not a US citizen or permanent resident, the H-1B pathway is a lottery. The EB-1/EB-2 pathway requires either extraordinary ability or an employer willing to sponsor a multi-year process. Many non-US ML engineers find the visa uncertainty prohibitive.

London: the sensible option.

London is the most mature ML hub outside the Bay Area. DeepMind (now Google DeepMind) is here. Stability AI was here. The UK has a strong academic pipeline from Oxford, Cambridge, Edinburgh, UCL, and Imperial. The Government has invested in the Alan Turing Institute as a national ML research body.

The compensation differential with San Francisco is real (roughly 2–2.5× at senior levels when equity is included) but the lifestyle delta is significant in London's favour. Offices actually close at 6pm. Annual leave is 28+ days. Healthcare requires no insurance navigation. The city is genuinely cosmopolitan in a way that non-American ML engineers find easier to navigate.

The UK's Global Talent Visa is one of the more functional high-skill immigration pathways globally. Endorsement by the Royal Society, Royal Academy of Engineering, or Tech Nation (before it closed) was achievable for strong ML candidates. The post-study visa for international students at UK universities is 2 years.

Concern: post-Brexit talent movement friction has slowed the flow of EU talent into London's ML ecosystem. The community is still strong but growth has slowed compared to 2015–2020.

Berlin: the research city.

Berlin has a specific ML identity: it's a research city, not a product city. The ML ecosystem here is anchored by academic and government-funded institutions — Helmholtz AI, BIFOLD, the DFKI — and European operations of US AI labs. Meta AI's European research team is here. Zalando, Delivery Hero, and N26 have significant ML engineering operations.

The compensation is lower and the tax is higher. An ML engineer earning €150k gross in Berlin takes home approximately €80k after income tax and social contributions. The cost of living is meaningfully lower than London (rent for a one-bedroom: €1,400–2,000 in central Berlin), but the gap has narrowed sharply since 2020.

What Berlin offers uniquely: ML regulatory expertise. As the EU AI Act enters enforcement, engineers who understand both the technical and regulatory dimensions of ML deployment are becoming genuinely scarce and well-compensated. Berlin's proximity to EU policymaking institutions (Brussels is 2.5 hours by train) is an advantage that will compound.

Amsterdam and Paris: the underrated pair.

Amsterdam has become an unexpected ML hub, anchored by Booking.com's 500-person ML team, TomTom's AI division, and a cluster of ML startups. The Netherlands' 30% ruling for skilled foreign workers (a tax break for high-income expats) makes net compensation more competitive than headline salaries suggest. English proficiency is near-universal, which matters for non-Dutch ML engineers.

Paris has invested heavily in AI leadership, with a stated policy goal of becoming Europe's AI capital. INRIA, the French national computer science institute, has world-class ML research. Criteo, BlaBlaCar, and Deezer have real ML engineering. The language barrier is less significant than perceived — English is standard in tech companies — and the quality of life is genuinely exceptional.

Toronto, Montreal, and the Canadian corridor.

Canada's ML scene was built on a single decision: in 2017, the Canadian government launched the Pan-Canadian AI Strategy and funded CIFAR AI Chairs at the Vector Institute (Toronto), Mila (Montreal), and AMII (Edmonton). The researchers who built the academic foundations of deep learning — Hinton, Bengio, LeCun — are here or have ties here.

The result is a genuine academic ML ecosystem that has attracted industry investment. Google, Meta, Microsoft, NVIDIA, and Uber all have ML labs in Toronto or Montreal. The talent pipeline is strong; the salaries are in CAD (which matters); the winters are severe.

The specific Canadian value proposition: you can be close to world-class ML research communities with significantly less visa friction than the US, at a cost of living that's high but manageable. For ML engineers who want to maintain research connections while working in industry, Montreal is arguably the best city in the world.

Singapore and the Asia-Pacific corridor.

Singapore has positioned itself as the APAC ML hub, and the positioning is mostly accurate. Grab's ML team is substantial. Sea Limited, ByteDance APAC, Google APAC, and Meta APAC all have ML engineering presence. The government's AI Singapore initiative has invested SGD 500M+ in AI capability.

What Singapore offers: a hub between India and China's talent pools, a low-tax environment (top marginal income tax: 22%), English as an official language, and genuinely world-class infrastructure. The trade: equity culture is weak compared to US, and salaries — while good in local terms — don't match Bay Area numbers.

Bangalore: the conversation has changed.

The narrative around Indian ML talent has shifted materially in the last five years. Bangalore is no longer simply a cost-optimisation play. The density of ML engineering talent here — trained at IITs, IITs, and increasingly at international institutions — is genuine. Swiggy, Flipkart, Zomato, PhonePe, and Meesho have sophisticated ML teams. Google, Amazon, and Microsoft have large ML research and engineering offices here.

The compensation has increased rapidly at the top end. A Senior MLE at a tier-1 company in Bangalore earns ₹60–100 lakh ($72–120k), which in purchasing power terms is competitive with many Western cities when adjusted for cost of living. Bangalore rent is 5–8× lower than London. A coffee is 40× cheaper.

The gap is still material at the absolute number level. It shrinks considerably when you run it through PPP adjustment and consider the quality-of-life variables that a Bangalore salary buys locally.

The remote variable:

The geography of ML jobs changed in 2020 and did not fully revert. Many ML engineering roles — especially at US companies — are available fully remote or in a hybrid model that tolerates employees in non-US geographies. An ML engineer in Lisbon working for a San Francisco company can earn US-proximate compensation at Lisbon cost of living. This is not universally available, and it requires strong self-management skills, timezone discipline, and usually several years of in-person work history. But it's real, and it's a rational career strategy.

The honest framework:

Choose where you want to live first. Then optimise your career for that location. The ML engineer who moves to San Francisco purely for the money, dislikes the city, and burns out in 18 months loses more than the ML engineer in Berlin who stays for 10 years and builds expertise in AI regulation that becomes valuable post-AI-Act.

Geography is not destiny. But it is the context in which everything else happens, and context shapes outcomes more than most people want to admit.

```python # The honest comparison: PPP-adjusted, tax-adjusted effective ML salary CITIES = { 'San Francisco': {'gross_usd': 280_000, 'tax_rate': 0.40, 'rent_usd': 3_600, 'ppp_index': 1.00}, 'London': {'gross_usd': 160_000, 'tax_rate': 0.42, 'rent_usd': 2_400, 'ppp_index': 0.72}, 'Berlin': {'gross_usd': 110_000, 'tax_rate': 0.38, 'rent_usd': 1_500, 'ppp_index': 0.68}, 'Bangalore': {'gross_usd': 50_000, 'tax_rate': 0.30, 'rent_usd': 400, 'ppp_index': 0.29}, 'Lisbon': {'gross_usd': 90_000, 'tax_rate': 0.35, 'rent_usd': 1_200, 'ppp_index': 0.58}, }

def compare_cities(): print(f"{'City':<16} {'Gross':>10} {'Net':>10} {'Net-rent':>10} {'PPP-adj':>10}") for city, d in CITIES.items(): net = d['gross_usd'] * (1 - d['tax_rate']) net_rent = net - d['rent_usd'] * 12 ppp_adj = net_rent / d['ppp_index'] print(f"{city:<16} ${d['gross_usd']:>9,} ${net:>9,.0f} ${net_rent:>9,.0f} ${ppp_adj:>9,.0f}")

compare_cities() # Lisbon + remote US salary often wins on PPP-adjusted take-home ```

Continue interactively
Read this post inside ML Systems Lab — with Simplify toggle, interview Q&As, inline glossary, and the MLE Path forward pointer.
Open in MSL →