{
 "schema": "wildcodes.savings-salaries/1",
 "generated": "2026-10-23",
 "source": {
  "name": "Stack Overflow Developer Survey 2025",
  "survey_year": 2025,
  "url": "https://survey.stackoverflow.co/2025",
  "data_url": "https://github.com/StackExchange/Survey/raw/refs/heads/main/packages/archive/2025/results.csv",
  "license": "ODbL 1.0",
  "license_url": "https://opendatacommons.org/licenses/odbl/1-0/",
  "csv_sha256": "2d1f65308877282edfb4470520eabbc08cb499118432a3dcec6a66c086aa2baa",
  "rows": 49191,
  "why_this_year": "The Stack Overflow Developer Survey 2026 is published (30,903 respondents vs 49,191 in 2025); 2025 is used because its larger sample gives more country x role cells with at least min_n answers."
 },
 "method": {
  "salary": "median ConvertedCompYearly (total annual compensation converted to USD by the survey)",
  "filters": {
   "Employment": "Employed",
   "EmploymentAddl": "none of: Engaged in paid work; Attending school (full-time); Transitioning to retirement (full-time proxy)",
   "WorkExp": ">= 5 years (the 2025 survey asks years of work experience; it has no YearsCodePro)",
   "ConvertedCompYearly": "between 1000 and 2000000 USD"
  },
  "role_devtypes": {
   "backend": [
    "Developer, back-end"
   ],
   "full-stack": [
    "Developer, full-stack"
   ],
   "frontend": [
    "Developer, front-end"
   ],
   "mobile": [
    "Developer, mobile"
   ],
   "devops": [
    "DevOps engineer or professional",
    "Cloud infrastructure engineer"
   ],
   "data-ai": [
    "Data engineer",
    "AI/ML engineer",
    "Data scientist",
    "Developer, AI apps or physical AI"
   ],
   "qa": [
    "Developer, QA or test"
   ]
  },
  "min_n": 15,
  "fallback": "below min_n a role uses the median of all seven roles pooled for that country (basis country_all_roles); below min_n pooled the role is left out; roles in no_fallback are left out below min_n",
  "no_fallback": [
   "qa"
  ],
  "rates_only": "a country where no role reaches min_n on its own publishes no local number: the page shows the Wild.Codes rates and the calculator link, carries robots noindex, follow and is left out of the sitemaps",
  "local_cost": "median salary x (1 + employer share), rounded to the nearest $1,000",
  "employer_costs": {
   "benefits": 0.22,
   "pto": 0.15,
   "taxes": 0.08
  },
  "employer_share": 0.45,
  "employer_costs_source": "/pricing calculator calc-data, the shares of its benefits, paid time off and payroll taxes items",
  "employer_costs_excluded": {
   "bonus": "ConvertedCompYearly is total compensation and already includes bonuses",
   "equity": "not a cash employer cost for this comparison"
  },
  "wildcodes_cost": "typical monthly subscription rate for the role on /pricing x 12, all-in",
  "difference": "local cost - Wild.Codes cost; a negative value means a local hire costs less"
 },
 "wildcodes_rates_month": {
  "backend": 7840,
  "full-stack": 7360,
  "frontend": 7200,
  "mobile": 7200,
  "devops": 7680,
  "data-ai": 8480,
  "qa": 6400
 },
 "role_names": {
  "backend": "Backend",
  "full-stack": "Full-stack",
  "frontend": "Frontend",
  "mobile": "Mobile",
  "devops": "DevOps",
  "data-ai": "Data / AI",
  "qa": "QA"
 },
 "countries": {
  "australia": {
   "label": "Australia",
   "rates_only": false,
   "survey_country": [
    "Australia"
   ],
   "n_all_roles": 208,
   "median_all_roles": 100765,
   "roles": {
    "backend": {
     "name": "Backend",
     "basis": "role",
     "n": 53,
     "n_role": 53,
     "median_salary_year": 107265,
     "local_cost_year": 156000,
     "wildcodes_rate_month": 7840,
     "wildcodes_cost_year": 94080,
     "difference_year": 61920,
     "difference_pct": 40
    },
    "full-stack": {
     "name": "Full-stack",
     "basis": "role",
     "n": 103,
     "n_role": 103,
     "median_salary_year": 97514,
     "local_cost_year": 141000,
     "wildcodes_rate_month": 7360,
     "wildcodes_cost_year": 88320,
     "difference_year": 52680,
     "difference_pct": 37
    },
    "frontend": {
     "name": "Frontend",
     "basis": "country_all_roles",
     "n": 208,
     "n_role": 12,
     "median_salary_year": 100765,
     "local_cost_year": 146000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 59600,
     "difference_pct": 41
    },
    "mobile": {
     "name": "Mobile",
     "basis": "country_all_roles",
     "n": 208,
     "n_role": 7,
     "median_salary_year": 100765,
     "local_cost_year": 146000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 59600,
     "difference_pct": 41
    },
    "devops": {
     "name": "DevOps",
     "basis": "role",
     "n": 20,
     "n_role": 20,
     "median_salary_year": 111816,
     "local_cost_year": 162000,
     "wildcodes_rate_month": 7680,
     "wildcodes_cost_year": 92160,
     "difference_year": 69840,
     "difference_pct": 43
    },
    "data-ai": {
     "name": "Data / AI",
     "basis": "country_all_roles",
     "n": 208,
     "n_role": 13,
     "median_salary_year": 100765,
     "local_cost_year": 146000,
     "wildcodes_rate_month": 8480,
     "wildcodes_cost_year": 101760,
     "difference_year": 44240,
     "difference_pct": 30
    }
   }
  },
  "canada": {
   "label": "Canada",
   "rates_only": false,
   "survey_country": [
    "Canada"
   ],
   "n_all_roles": 366,
   "median_all_roles": 97764,
   "roles": {
    "backend": {
     "name": "Backend",
     "basis": "role",
     "n": 79,
     "n_role": 79,
     "median_salary_year": 109438,
     "local_cost_year": 159000,
     "wildcodes_rate_month": 7840,
     "wildcodes_cost_year": 94080,
     "difference_year": 64920,
     "difference_pct": 41
    },
    "full-stack": {
     "name": "Full-stack",
     "basis": "role",
     "n": 193,
     "n_role": 193,
     "median_salary_year": 87550,
     "local_cost_year": 127000,
     "wildcodes_rate_month": 7360,
     "wildcodes_cost_year": 88320,
     "difference_year": 38680,
     "difference_pct": 30
    },
    "frontend": {
     "name": "Frontend",
     "basis": "role",
     "n": 19,
     "n_role": 19,
     "median_salary_year": 94846,
     "local_cost_year": 138000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 51600,
     "difference_pct": 37
    },
    "mobile": {
     "name": "Mobile",
     "basis": "country_all_roles",
     "n": 366,
     "n_role": 13,
     "median_salary_year": 97764,
     "local_cost_year": 142000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 55600,
     "difference_pct": 39
    },
    "devops": {
     "name": "DevOps",
     "basis": "role",
     "n": 32,
     "n_role": 32,
     "median_salary_year": 109438,
     "local_cost_year": 159000,
     "wildcodes_rate_month": 7680,
     "wildcodes_cost_year": 92160,
     "difference_year": 66840,
     "difference_pct": 42
    },
    "data-ai": {
     "name": "Data / AI",
     "basis": "role",
     "n": 29,
     "n_role": 29,
     "median_salary_year": 109438,
     "local_cost_year": 159000,
     "wildcodes_rate_month": 8480,
     "wildcodes_cost_year": 101760,
     "difference_year": 57240,
     "difference_pct": 36
    }
   }
  },
  "denmark": {
   "label": "Denmark",
   "rates_only": false,
   "survey_country": [
    "Denmark"
   ],
   "n_all_roles": 86,
   "median_all_roles": 104199,
   "roles": {
    "backend": {
     "name": "Backend",
     "basis": "role",
     "n": 21,
     "n_role": 21,
     "median_salary_year": 101710,
     "local_cost_year": 147000,
     "wildcodes_rate_month": 7840,
     "wildcodes_cost_year": 94080,
     "difference_year": 52920,
     "difference_pct": 36
    },
    "full-stack": {
     "name": "Full-stack",
     "basis": "role",
     "n": 41,
     "n_role": 41,
     "median_salary_year": 101088,
     "local_cost_year": 147000,
     "wildcodes_rate_month": 7360,
     "wildcodes_cost_year": 88320,
     "difference_year": 58680,
     "difference_pct": 40
    },
    "frontend": {
     "name": "Frontend",
     "basis": "country_all_roles",
     "n": 86,
     "n_role": 3,
     "median_salary_year": 104199,
     "local_cost_year": 151000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 64600,
     "difference_pct": 43
    },
    "mobile": {
     "name": "Mobile",
     "basis": "country_all_roles",
     "n": 86,
     "n_role": 6,
     "median_salary_year": 104199,
     "local_cost_year": 151000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 64600,
     "difference_pct": 43
    },
    "devops": {
     "name": "DevOps",
     "basis": "country_all_roles",
     "n": 86,
     "n_role": 6,
     "median_salary_year": 104199,
     "local_cost_year": 151000,
     "wildcodes_rate_month": 7680,
     "wildcodes_cost_year": 92160,
     "difference_year": 58840,
     "difference_pct": 39
    },
    "data-ai": {
     "name": "Data / AI",
     "basis": "country_all_roles",
     "n": 86,
     "n_role": 8,
     "median_salary_year": 104199,
     "local_cost_year": 151000,
     "wildcodes_rate_month": 8480,
     "wildcodes_cost_year": 101760,
     "difference_year": 49240,
     "difference_pct": 33
    }
   }
  },
  "finland": {
   "label": "Finland",
   "rates_only": false,
   "survey_country": [
    "Finland"
   ],
   "n_all_roles": 74,
   "median_all_roles": 81210,
   "roles": {
    "backend": {
     "name": "Backend",
     "basis": "country_all_roles",
     "n": 74,
     "n_role": 12,
     "median_salary_year": 81210,
     "local_cost_year": 118000,
     "wildcodes_rate_month": 7840,
     "wildcodes_cost_year": 94080,
     "difference_year": 23920,
     "difference_pct": 20
    },
    "full-stack": {
     "name": "Full-stack",
     "basis": "role",
     "n": 43,
     "n_role": 43,
     "median_salary_year": 75410,
     "local_cost_year": 109000,
     "wildcodes_rate_month": 7360,
     "wildcodes_cost_year": 88320,
     "difference_year": 20680,
     "difference_pct": 19
    },
    "frontend": {
     "name": "Frontend",
     "basis": "country_all_roles",
     "n": 74,
     "n_role": 2,
     "median_salary_year": 81210,
     "local_cost_year": 118000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 31600,
     "difference_pct": 27
    },
    "mobile": {
     "name": "Mobile",
     "basis": "country_all_roles",
     "n": 74,
     "n_role": 3,
     "median_salary_year": 81210,
     "local_cost_year": 118000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 31600,
     "difference_pct": 27
    },
    "devops": {
     "name": "DevOps",
     "basis": "country_all_roles",
     "n": 74,
     "n_role": 6,
     "median_salary_year": 81210,
     "local_cost_year": 118000,
     "wildcodes_rate_month": 7680,
     "wildcodes_cost_year": 92160,
     "difference_year": 25840,
     "difference_pct": 22
    },
    "data-ai": {
     "name": "Data / AI",
     "basis": "country_all_roles",
     "n": 74,
     "n_role": 5,
     "median_salary_year": 81210,
     "local_cost_year": 118000,
     "wildcodes_rate_month": 8480,
     "wildcodes_cost_year": 101760,
     "difference_year": 16240,
     "difference_pct": 14
    }
   }
  },
  "france": {
   "label": "France",
   "rates_only": false,
   "survey_country": [
    "France"
   ],
   "n_all_roles": 352,
   "median_all_roles": 69609,
   "roles": {
    "backend": {
     "name": "Backend",
     "basis": "role",
     "n": 105,
     "n_role": 105,
     "median_salary_year": 71929,
     "local_cost_year": 104000,
     "wildcodes_rate_month": 7840,
     "wildcodes_cost_year": 94080,
     "difference_year": 9920,
     "difference_pct": 10
    },
    "full-stack": {
     "name": "Full-stack",
     "basis": "role",
     "n": 149,
     "n_role": 149,
     "median_salary_year": 60328,
     "local_cost_year": 87000,
     "wildcodes_rate_month": 7360,
     "wildcodes_cost_year": 88320,
     "difference_year": -1320,
     "difference_pct": -2
    },
    "frontend": {
     "name": "Frontend",
     "basis": "role",
     "n": 21,
     "n_role": 21,
     "median_salary_year": 64968,
     "local_cost_year": 94000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 7600,
     "difference_pct": 8
    },
    "mobile": {
     "name": "Mobile",
     "basis": "role",
     "n": 17,
     "n_role": 17,
     "median_salary_year": 75410,
     "local_cost_year": 109000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 22600,
     "difference_pct": 21
    },
    "devops": {
     "name": "DevOps",
     "basis": "role",
     "n": 28,
     "n_role": 28,
     "median_salary_year": 69609,
     "local_cost_year": 101000,
     "wildcodes_rate_month": 7680,
     "wildcodes_cost_year": 92160,
     "difference_year": 8840,
     "difference_pct": 9
    },
    "data-ai": {
     "name": "Data / AI",
     "basis": "role",
     "n": 29,
     "n_role": 29,
     "median_salary_year": 71929,
     "local_cost_year": 104000,
     "wildcodes_rate_month": 8480,
     "wildcodes_cost_year": 101760,
     "difference_year": 2240,
     "difference_pct": 2
    }
   }
  },
  "germany": {
   "label": "Germany",
   "rates_only": false,
   "survey_country": [
    "Germany"
   ],
   "n_all_roles": 806,
   "median_all_roles": 87011,
   "roles": {
    "backend": {
     "name": "Backend",
     "basis": "role",
     "n": 199,
     "n_role": 199,
     "median_salary_year": 92812,
     "local_cost_year": 135000,
     "wildcodes_rate_month": 7840,
     "wildcodes_cost_year": 94080,
     "difference_year": 40920,
     "difference_pct": 30
    },
    "full-stack": {
     "name": "Full-stack",
     "basis": "role",
     "n": 377,
     "n_role": 377,
     "median_salary_year": 81210,
     "local_cost_year": 118000,
     "wildcodes_rate_month": 7360,
     "wildcodes_cost_year": 88320,
     "difference_year": 29680,
     "difference_pct": 25
    },
    "frontend": {
     "name": "Frontend",
     "basis": "role",
     "n": 50,
     "n_role": 50,
     "median_salary_year": 89563,
     "local_cost_year": 130000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 43600,
     "difference_pct": 34
    },
    "mobile": {
     "name": "Mobile",
     "basis": "role",
     "n": 44,
     "n_role": 44,
     "median_salary_year": 95132,
     "local_cost_year": 138000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 51600,
     "difference_pct": 37
    },
    "devops": {
     "name": "DevOps",
     "basis": "role",
     "n": 65,
     "n_role": 65,
     "median_salary_year": 97452,
     "local_cost_year": 141000,
     "wildcodes_rate_month": 7680,
     "wildcodes_cost_year": 92160,
     "difference_year": 48840,
     "difference_pct": 35
    },
    "data-ai": {
     "name": "Data / AI",
     "basis": "role",
     "n": 60,
     "n_role": 60,
     "median_salary_year": 104413,
     "local_cost_year": 151000,
     "wildcodes_rate_month": 8480,
     "wildcodes_cost_year": 101760,
     "difference_year": 49240,
     "difference_pct": 33
    }
   }
  },
  "ireland": {
   "label": "Ireland",
   "rates_only": false,
   "survey_country": [
    "Ireland"
   ],
   "n_all_roles": 63,
   "median_all_roles": 120655,
   "roles": {
    "backend": {
     "name": "Backend",
     "basis": "role",
     "n": 20,
     "n_role": 20,
     "median_salary_year": 122976,
     "local_cost_year": 178000,
     "wildcodes_rate_month": 7840,
     "wildcodes_cost_year": 94080,
     "difference_year": 83920,
     "difference_pct": 47
    },
    "full-stack": {
     "name": "Full-stack",
     "basis": "role",
     "n": 29,
     "n_role": 29,
     "median_salary_year": 116015,
     "local_cost_year": 168000,
     "wildcodes_rate_month": 7360,
     "wildcodes_cost_year": 88320,
     "difference_year": 79680,
     "difference_pct": 47
    },
    "frontend": {
     "name": "Frontend",
     "basis": "country_all_roles",
     "n": 63,
     "n_role": 6,
     "median_salary_year": 120655,
     "local_cost_year": 175000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 88600,
     "difference_pct": 51
    },
    "mobile": {
     "name": "Mobile",
     "basis": "country_all_roles",
     "n": 63,
     "n_role": 2,
     "median_salary_year": 120655,
     "local_cost_year": 175000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 88600,
     "difference_pct": 51
    },
    "devops": {
     "name": "DevOps",
     "basis": "country_all_roles",
     "n": 63,
     "n_role": 2,
     "median_salary_year": 120655,
     "local_cost_year": 175000,
     "wildcodes_rate_month": 7680,
     "wildcodes_cost_year": 92160,
     "difference_year": 82840,
     "difference_pct": 47
    },
    "data-ai": {
     "name": "Data / AI",
     "basis": "country_all_roles",
     "n": 63,
     "n_role": 4,
     "median_salary_year": 120655,
     "local_cost_year": 175000,
     "wildcodes_rate_month": 8480,
     "wildcodes_cost_year": 101760,
     "difference_year": 73240,
     "difference_pct": 42
    }
   }
  },
  "israel": {
   "label": "Israel",
   "rates_only": false,
   "survey_country": [
    "Israel"
   ],
   "n_all_roles": 69,
   "median_all_roles": 143406,
   "roles": {
    "backend": {
     "name": "Backend",
     "basis": "role",
     "n": 24,
     "n_role": 24,
     "median_salary_year": 141188,
     "local_cost_year": 205000,
     "wildcodes_rate_month": 7840,
     "wildcodes_cost_year": 94080,
     "difference_year": 110920,
     "difference_pct": 54
    },
    "full-stack": {
     "name": "Full-stack",
     "basis": "role",
     "n": 22,
     "n_role": 22,
     "median_salary_year": 141188,
     "local_cost_year": 205000,
     "wildcodes_rate_month": 7360,
     "wildcodes_cost_year": 88320,
     "difference_year": 116680,
     "difference_pct": 57
    },
    "frontend": {
     "name": "Frontend",
     "basis": "country_all_roles",
     "n": 69,
     "n_role": 5,
     "median_salary_year": 143406,
     "local_cost_year": 208000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 121600,
     "difference_pct": 58
    },
    "mobile": {
     "name": "Mobile",
     "basis": "country_all_roles",
     "n": 69,
     "n_role": 2,
     "median_salary_year": 143406,
     "local_cost_year": 208000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 121600,
     "difference_pct": 58
    },
    "devops": {
     "name": "DevOps",
     "basis": "country_all_roles",
     "n": 69,
     "n_role": 6,
     "median_salary_year": 143406,
     "local_cost_year": 208000,
     "wildcodes_rate_month": 7680,
     "wildcodes_cost_year": 92160,
     "difference_year": 115840,
     "difference_pct": 56
    },
    "data-ai": {
     "name": "Data / AI",
     "basis": "country_all_roles",
     "n": 69,
     "n_role": 9,
     "median_salary_year": 143406,
     "local_cost_year": 208000,
     "wildcodes_rate_month": 8480,
     "wildcodes_cost_year": 101760,
     "difference_year": 106240,
     "difference_pct": 51
    }
   }
  },
  "japan": {
   "label": "Japan",
   "rates_only": false,
   "survey_country": [
    "Japan"
   ],
   "n_all_roles": 53,
   "median_all_roles": 65634,
   "roles": {
    "backend": {
     "name": "Backend",
     "basis": "role",
     "n": 18,
     "n_role": 18,
     "median_salary_year": 75997,
     "local_cost_year": 110000,
     "wildcodes_rate_month": 7840,
     "wildcodes_cost_year": 94080,
     "difference_year": 15920,
     "difference_pct": 14
    },
    "full-stack": {
     "name": "Full-stack",
     "basis": "role",
     "n": 18,
     "n_role": 18,
     "median_salary_year": 48190,
     "local_cost_year": 70000,
     "wildcodes_rate_month": 7360,
     "wildcodes_cost_year": 88320,
     "difference_year": -18320,
     "difference_pct": -26
    },
    "frontend": {
     "name": "Frontend",
     "basis": "country_all_roles",
     "n": 53,
     "n_role": 5,
     "median_salary_year": 65634,
     "local_cost_year": 95000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 8600,
     "difference_pct": 9
    },
    "mobile": {
     "name": "Mobile",
     "basis": "country_all_roles",
     "n": 53,
     "n_role": 2,
     "median_salary_year": 65634,
     "local_cost_year": 95000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 8600,
     "difference_pct": 9
    },
    "devops": {
     "name": "DevOps",
     "basis": "country_all_roles",
     "n": 53,
     "n_role": 7,
     "median_salary_year": 65634,
     "local_cost_year": 95000,
     "wildcodes_rate_month": 7680,
     "wildcodes_cost_year": 92160,
     "difference_year": 2840,
     "difference_pct": 3
    },
    "data-ai": {
     "name": "Data / AI",
     "basis": "country_all_roles",
     "n": 53,
     "n_role": 3,
     "median_salary_year": 65634,
     "local_cost_year": 95000,
     "wildcodes_rate_month": 8480,
     "wildcodes_cost_year": 101760,
     "difference_year": -6760,
     "difference_pct": -7
    }
   }
  },
  "netherlands": {
   "label": "Netherlands",
   "rates_only": false,
   "survey_country": [
    "Netherlands"
   ],
   "n_all_roles": 245,
   "median_all_roles": 85851,
   "roles": {
    "backend": {
     "name": "Backend",
     "basis": "role",
     "n": 70,
     "n_role": 70,
     "median_salary_year": 89056,
     "local_cost_year": 129000,
     "wildcodes_rate_month": 7840,
     "wildcodes_cost_year": 94080,
     "difference_year": 34920,
     "difference_pct": 27
    },
    "full-stack": {
     "name": "Full-stack",
     "basis": "role",
     "n": 110,
     "n_role": 110,
     "median_salary_year": 80630,
     "local_cost_year": 117000,
     "wildcodes_rate_month": 7360,
     "wildcodes_cost_year": 88320,
     "difference_year": 28680,
     "difference_pct": 25
    },
    "frontend": {
     "name": "Frontend",
     "basis": "role",
     "n": 17,
     "n_role": 17,
     "median_salary_year": 73089,
     "local_cost_year": 106000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 19600,
     "difference_pct": 18
    },
    "mobile": {
     "name": "Mobile",
     "basis": "country_all_roles",
     "n": 245,
     "n_role": 8,
     "median_salary_year": 85851,
     "local_cost_year": 124000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 37600,
     "difference_pct": 30
    },
    "devops": {
     "name": "DevOps",
     "basis": "role",
     "n": 25,
     "n_role": 25,
     "median_salary_year": 97731,
     "local_cost_year": 142000,
     "wildcodes_rate_month": 7680,
     "wildcodes_cost_year": 92160,
     "difference_year": 49840,
     "difference_pct": 35
    },
    "data-ai": {
     "name": "Data / AI",
     "basis": "country_all_roles",
     "n": 245,
     "n_role": 10,
     "median_salary_year": 85851,
     "local_cost_year": 124000,
     "wildcodes_rate_month": 8480,
     "wildcodes_cost_year": 101760,
     "difference_year": 22240,
     "difference_pct": 18
    }
   }
  },
  "new-zealand": {
   "label": "New Zealand",
   "rates_only": false,
   "survey_country": [
    "New Zealand"
   ],
   "n_all_roles": 67,
   "median_all_roles": 86137,
   "roles": {
    "backend": {
     "name": "Backend",
     "basis": "country_all_roles",
     "n": 67,
     "n_role": 11,
     "median_salary_year": 86137,
     "local_cost_year": 125000,
     "wildcodes_rate_month": 7840,
     "wildcodes_cost_year": 94080,
     "difference_year": 30920,
     "difference_pct": 25
    },
    "full-stack": {
     "name": "Full-stack",
     "basis": "role",
     "n": 40,
     "n_role": 40,
     "median_salary_year": 85233,
     "local_cost_year": 124000,
     "wildcodes_rate_month": 7360,
     "wildcodes_cost_year": 88320,
     "difference_year": 35680,
     "difference_pct": 29
    },
    "frontend": {
     "name": "Frontend",
     "basis": "country_all_roles",
     "n": 67,
     "n_role": 5,
     "median_salary_year": 86137,
     "local_cost_year": 125000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 38600,
     "difference_pct": 31
    },
    "mobile": {
     "name": "Mobile",
     "basis": "country_all_roles",
     "n": 67,
     "n_role": 1,
     "median_salary_year": 86137,
     "local_cost_year": 125000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 38600,
     "difference_pct": 31
    },
    "devops": {
     "name": "DevOps",
     "basis": "country_all_roles",
     "n": 67,
     "n_role": 1,
     "median_salary_year": 86137,
     "local_cost_year": 125000,
     "wildcodes_rate_month": 7680,
     "wildcodes_cost_year": 92160,
     "difference_year": 32840,
     "difference_pct": 26
    },
    "data-ai": {
     "name": "Data / AI",
     "basis": "country_all_roles",
     "n": 67,
     "n_role": 8,
     "median_salary_year": 86137,
     "local_cost_year": 125000,
     "wildcodes_rate_month": 8480,
     "wildcodes_cost_year": 101760,
     "difference_year": 23240,
     "difference_pct": 19
    }
   }
  },
  "norway": {
   "label": "Norway",
   "rates_only": false,
   "survey_country": [
    "Norway"
   ],
   "n_all_roles": 84,
   "median_all_roles": 97542,
   "roles": {
    "backend": {
     "name": "Backend",
     "basis": "role",
     "n": 24,
     "n_role": 24,
     "median_salary_year": 97196,
     "local_cost_year": 141000,
     "wildcodes_rate_month": 7840,
     "wildcodes_cost_year": 94080,
     "difference_year": 46920,
     "difference_pct": 33
    },
    "full-stack": {
     "name": "Full-stack",
     "basis": "role",
     "n": 41,
     "n_role": 41,
     "median_salary_year": 93886,
     "local_cost_year": 136000,
     "wildcodes_rate_month": 7360,
     "wildcodes_cost_year": 88320,
     "difference_year": 47680,
     "difference_pct": 35
    },
    "frontend": {
     "name": "Frontend",
     "basis": "country_all_roles",
     "n": 84,
     "n_role": 1,
     "median_salary_year": 97542,
     "local_cost_year": 141000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 54600,
     "difference_pct": 39
    },
    "mobile": {
     "name": "Mobile",
     "basis": "country_all_roles",
     "n": 84,
     "n_role": 1,
     "median_salary_year": 97542,
     "local_cost_year": 141000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 54600,
     "difference_pct": 39
    },
    "devops": {
     "name": "DevOps",
     "basis": "country_all_roles",
     "n": 84,
     "n_role": 9,
     "median_salary_year": 97542,
     "local_cost_year": 141000,
     "wildcodes_rate_month": 7680,
     "wildcodes_cost_year": 92160,
     "difference_year": 48840,
     "difference_pct": 35
    },
    "data-ai": {
     "name": "Data / AI",
     "basis": "country_all_roles",
     "n": 84,
     "n_role": 8,
     "median_salary_year": 97542,
     "local_cost_year": 141000,
     "wildcodes_rate_month": 8480,
     "wildcodes_cost_year": 101760,
     "difference_year": 39240,
     "difference_pct": 28
    }
   }
  },
  "singapore": {
   "label": "Singapore",
   "rates_only": true,
   "survey_country": [
    "Singapore"
   ],
   "n_all_roles": 19,
   "median_all_roles": 149975,
   "roles": {}
  },
  "south-korea": {
   "label": "South Korea",
   "rates_only": true,
   "survey_country": [
    "South Korea",
    "Republic of Korea"
   ],
   "n_all_roles": 11,
   "median_all_roles": null,
   "roles": {}
  },
  "sweden": {
   "label": "Sweden",
   "rates_only": false,
   "survey_country": [
    "Sweden"
   ],
   "n_all_roles": 210,
   "median_all_roles": 73375,
   "roles": {
    "backend": {
     "name": "Backend",
     "basis": "role",
     "n": 70,
     "n_role": 70,
     "median_salary_year": 75158,
     "local_cost_year": 109000,
     "wildcodes_rate_month": 7840,
     "wildcodes_cost_year": 94080,
     "difference_year": 14920,
     "difference_pct": 14
    },
    "full-stack": {
     "name": "Full-stack",
     "basis": "role",
     "n": 93,
     "n_role": 93,
     "median_salary_year": 67924,
     "local_cost_year": 98000,
     "wildcodes_rate_month": 7360,
     "wildcodes_cost_year": 88320,
     "difference_year": 9680,
     "difference_pct": 10
    },
    "frontend": {
     "name": "Frontend",
     "basis": "role",
     "n": 15,
     "n_role": 15,
     "median_salary_year": 77736,
     "local_cost_year": 113000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 26600,
     "difference_pct": 24
    },
    "mobile": {
     "name": "Mobile",
     "basis": "country_all_roles",
     "n": 210,
     "n_role": 5,
     "median_salary_year": 73375,
     "local_cost_year": 106000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 19600,
     "difference_pct": 18
    },
    "devops": {
     "name": "DevOps",
     "basis": "country_all_roles",
     "n": 210,
     "n_role": 12,
     "median_salary_year": 73375,
     "local_cost_year": 106000,
     "wildcodes_rate_month": 7680,
     "wildcodes_cost_year": 92160,
     "difference_year": 13840,
     "difference_pct": 13
    },
    "data-ai": {
     "name": "Data / AI",
     "basis": "country_all_roles",
     "n": 210,
     "n_role": 13,
     "median_salary_year": 73375,
     "local_cost_year": 106000,
     "wildcodes_rate_month": 8480,
     "wildcodes_cost_year": 101760,
     "difference_year": 4240,
     "difference_pct": 4
    }
   }
  },
  "switzerland": {
   "label": "Switzerland",
   "rates_only": false,
   "survey_country": [
    "Switzerland"
   ],
   "n_all_roles": 152,
   "median_all_roles": 146312,
   "roles": {
    "backend": {
     "name": "Backend",
     "basis": "role",
     "n": 39,
     "n_role": 39,
     "median_salary_year": 161191,
     "local_cost_year": 234000,
     "wildcodes_rate_month": 7840,
     "wildcodes_cost_year": 94080,
     "difference_year": 139920,
     "difference_pct": 60
    },
    "full-stack": {
     "name": "Full-stack",
     "basis": "role",
     "n": 82,
     "n_role": 82,
     "median_salary_year": 136392,
     "local_cost_year": 198000,
     "wildcodes_rate_month": 7360,
     "wildcodes_cost_year": 88320,
     "difference_year": 109680,
     "difference_pct": 55
    },
    "frontend": {
     "name": "Frontend",
     "basis": "country_all_roles",
     "n": 152,
     "n_role": 4,
     "median_salary_year": 146312,
     "local_cost_year": 212000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 125600,
     "difference_pct": 59
    },
    "mobile": {
     "name": "Mobile",
     "basis": "country_all_roles",
     "n": 152,
     "n_role": 6,
     "median_salary_year": 146312,
     "local_cost_year": 212000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 125600,
     "difference_pct": 59
    },
    "devops": {
     "name": "DevOps",
     "basis": "country_all_roles",
     "n": 152,
     "n_role": 11,
     "median_salary_year": 146312,
     "local_cost_year": 212000,
     "wildcodes_rate_month": 7680,
     "wildcodes_cost_year": 92160,
     "difference_year": 119840,
     "difference_pct": 57
    },
    "data-ai": {
     "name": "Data / AI",
     "basis": "country_all_roles",
     "n": 152,
     "n_role": 9,
     "median_salary_year": 146312,
     "local_cost_year": 212000,
     "wildcodes_rate_month": 8480,
     "wildcodes_cost_year": 101760,
     "difference_year": 110240,
     "difference_pct": 52
    }
   }
  },
  "uk": {
   "label": "UK",
   "rates_only": false,
   "survey_country": [
    "United Kingdom of Great Britain and Northern Ireland"
   ],
   "n_all_roles": 635,
   "median_all_roles": 97682,
   "roles": {
    "backend": {
     "name": "Backend",
     "basis": "role",
     "n": 189,
     "n_role": 189,
     "median_salary_year": 111636,
     "local_cost_year": 162000,
     "wildcodes_rate_month": 7840,
     "wildcodes_cost_year": 94080,
     "difference_year": 67920,
     "difference_pct": 42
    },
    "full-stack": {
     "name": "Full-stack",
     "basis": "role",
     "n": 312,
     "n_role": 312,
     "median_salary_year": 91181,
     "local_cost_year": 132000,
     "wildcodes_rate_month": 7360,
     "wildcodes_cost_year": 88320,
     "difference_year": 43680,
     "difference_pct": 33
    },
    "frontend": {
     "name": "Frontend",
     "basis": "role",
     "n": 32,
     "n_role": 32,
     "median_salary_year": 96660,
     "local_cost_year": 140000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 53600,
     "difference_pct": 38
    },
    "mobile": {
     "name": "Mobile",
     "basis": "role",
     "n": 21,
     "n_role": 21,
     "median_salary_year": 106190,
     "local_cost_year": 154000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 67600,
     "difference_pct": 44
    },
    "devops": {
     "name": "DevOps",
     "basis": "role",
     "n": 32,
     "n_role": 32,
     "median_salary_year": 104148,
     "local_cost_year": 151000,
     "wildcodes_rate_month": 7680,
     "wildcodes_cost_year": 92160,
     "difference_year": 58840,
     "difference_pct": 39
    },
    "data-ai": {
     "name": "Data / AI",
     "basis": "role",
     "n": 44,
     "n_role": 44,
     "median_salary_year": 106871,
     "local_cost_year": 155000,
     "wildcodes_rate_month": 8480,
     "wildcodes_cost_year": 101760,
     "difference_year": 53240,
     "difference_pct": 34
    }
   }
  },
  "usa": {
   "label": "USA",
   "rates_only": false,
   "survey_country": [
    "United States of America"
   ],
   "n_all_roles": 2213,
   "median_all_roles": 160000,
   "roles": {
    "backend": {
     "name": "Backend",
     "basis": "role",
     "n": 520,
     "n_role": 520,
     "median_salary_year": 180000,
     "local_cost_year": 261000,
     "wildcodes_rate_month": 7840,
     "wildcodes_cost_year": 94080,
     "difference_year": 166920,
     "difference_pct": 64
    },
    "full-stack": {
     "name": "Full-stack",
     "basis": "role",
     "n": 1106,
     "n_role": 1106,
     "median_salary_year": 150000,
     "local_cost_year": 218000,
     "wildcodes_rate_month": 7360,
     "wildcodes_cost_year": 88320,
     "difference_year": 129680,
     "difference_pct": 59
    },
    "frontend": {
     "name": "Frontend",
     "basis": "role",
     "n": 130,
     "n_role": 130,
     "median_salary_year": 155000,
     "local_cost_year": 225000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 138600,
     "difference_pct": 62
    },
    "mobile": {
     "name": "Mobile",
     "basis": "role",
     "n": 74,
     "n_role": 74,
     "median_salary_year": 187500,
     "local_cost_year": 272000,
     "wildcodes_rate_month": 7200,
     "wildcodes_cost_year": 86400,
     "difference_year": 185600,
     "difference_pct": 68
    },
    "devops": {
     "name": "DevOps",
     "basis": "role",
     "n": 168,
     "n_role": 168,
     "median_salary_year": 185000,
     "local_cost_year": 268000,
     "wildcodes_rate_month": 7680,
     "wildcodes_cost_year": 92160,
     "difference_year": 175840,
     "difference_pct": 66
    },
    "data-ai": {
     "name": "Data / AI",
     "basis": "role",
     "n": 184,
     "n_role": 184,
     "median_salary_year": 175000,
     "local_cost_year": 254000,
     "wildcodes_rate_month": 8480,
     "wildcodes_cost_year": 101760,
     "difference_year": 152240,
     "difference_pct": 60
    },
    "qa": {
     "name": "QA",
     "basis": "role",
     "n": 31,
     "n_role": 31,
     "median_salary_year": 130000,
     "local_cost_year": 189000,
     "wildcodes_rate_month": 6400,
     "wildcodes_cost_year": 76800,
     "difference_year": 112200,
     "difference_pct": 59
    }
   }
  }
 }
}
