What Ukrainian IT pays in 2026

Median and quartile salaries across 14 roles and four seniority levels, computed from 2,355 vacancies that state a salary range. All figures in USD; hryvnia ranges are converted at the National Bank rate.

Every figure carries its sample size. This is not a survey — the numbers come from the job postings themselves and are recomputed daily, so the snapshot doesn't go stale between publications.

Data as of July 26, 2026 · updated monthly

Active vacancies
31,725
With a salary range
12,704
Employers
5,892
Remote
69%

Salaries by role and seniority — 2026

Median monthly salary in USD. «n» is how many vacancies a figure rests on; thin samples are dimmed, and an empty cell means no data at all — those are different claims and we don't blur them together.

RoleVacanciesAll levelsJuniorMiddleSeniorLead
JavaScript Fullstack розробник845$5,000 n=446$1,158 n=20$3,000 n=144$5,000 n=238$5,000 n=38
QA Manual інженер682$1,200 n=222$950 n=76$1,500 n=101$2,500 n=19$2,650 n=2
DevOps інженер656$5,500 n=277$1,500 n=8$3,500 n=90$6,000 n=150$6,000 n=18
QA Automation інженер616$3,000 n=243$1,400 n=8$2,900 n=125$4,000 n=86$4,000 n=17
Data Engineer580$5,500 n=256$2,000 n=4$4,000 n=61$5,500 n=166$5,500 n=15
Analytics Engineer454$3,000 n=213$937 n=5$3,000 n=152$3,800 n=43$3,250 n=8
Java розробник394$5,500 n=154$781 n=9$3,250 n=8$5,500 n=107$5,700 n=25
Python розробник379$5,000 n=154$670 n=15$3,000 n=35$5,500 n=89$5,500 n=11
.NET розробник325$4,700 n=58$1,600 n=5$3,500 n=7$5,000 n=34$6,500 n=7
PHP розробник310$2,834 n=87$1,200 n=8$2,200 n=43$4,300 n=19$5,000 n=9
Node.js розробник260$4,000 n=68$600 n=5$3,250 n=24$5,500 n=26$5,500 n=13
React розробник233$2,790 n=69$700 n=19$2,795 n=20$5,000 n=23
Data Scientist161$5,000 n=81$1,000 n=4$4,000 n=35$6,200 n=35$7,000 n=7
Go розробник153$4,000 n=27$1,500 n=2$3,700 n=5$5,000 n=17$7,000 n=3

2,355 vacancies with a salary range across these roles. Seniority is inferred from the posting text; postings that state none are counted in "All levels" but not in the level columns. Fields without a dedicated page (management, design, embedded and others) are outside this table — hence the difference from the "with a salary range" card.

Highest medians right now — DevOps інженер ($5,500), Data Engineer ($5,500), Java розробник ($5,500).

New vacancies per week

New vacancies by the week they entered the corpus. The series is published as it is, including weeks when our own collection ran incompletely — those bars are dashed, and the structural events are labelled underneath. Without that, a gap caused by our pipeline would read as a hiring slowdown.

02827565305-1806-0106-1506-2907-13

Dashed bars — weeks with incomplete collection coverage.

2026-06-01our collection was down for most of the week — this dip is ours, not the market's

2026-06-15another source was added to the corpus: a one-off step up, also not the market

2026-06-22one source stopped responding and still is — intake is understated from here on

Where remote work actually is

Share of vacancies mentioning a remote or hybrid arrangement. Market-wide — 69%.

RoleRemoteVacancies
JavaScript Fullstack розробник92%845
Go розробник90%153
Data Engineer87%580
Data Scientist83%161
Python розробник82%379
PHP розробник82%310
QA Automation інженер81%616
Node.js розробник80%260
DevOps інженер80%656
.NET розробник80%325
Java розробник79%394
React розробник73%233
QA Manual інженер69%682
Analytics Engineer67%454

Method, and where it stops

Where the numbers come from. Not a survey and not self-reported. We collect public Ukrainian IT job postings daily, classify each by role and seniority, and aggregate. Salary is taken from the range stated in the posting itself.

Median, not mean. A handful of $15,000 postings drag a mean far away from anyone real. The median is what the person in the middle earns, and P25–P75 shows where half the market sits.

Currency. Everything is normalized to USD at the National Bank rate. We do not normalize gross versus net, or employment type — postings don't carry that, so cross-company comparison stays approximate.

What counts as having a salary. Only postings with a stated minimum whose upper bound falls in a plausible monthly band of $100–$25,000. That drops annual figures and hourly rates, which would otherwise wreck the median.

Freshness — including the hole in it. The corpus holds 31,725 active vacancies, but «active» here means «we have seen it», not «it is definitely open»: automatic expiry of old postings isn't built yet. We have observed 18,732 of them in the last 14 days, which means 41% of the corpus is unconfirmed for over a fortnight. The cause is known: since 22 June one source has been behind a technical block and returns nothing, while its vacancies stayed in the corpus. This inflates vacancy counts; it moves the medians far less, because the salary ranges of older and newer postings don't differ systematically. We are fixing it, and this paragraph will say so when we have.

Collection ran on 30 of the last 30 days.

How to cite this

Data is published under CC BY 4.0 — use it freely with attribution. Charts and tables may be reproduced.

zapit.work. Ukrainian IT salaries 2026. Data as of July 26, 2026. https://zapit.work/en/report

Need a cut that isn't here — by city, stack, or a specific role? Ask and we'll compute it: the numbers are already in the database. Contact details on the About page.

Знайди конкретні вакансії під свій профіль

Опиши, що шукаєш, природною мовою — семантичний пошук поверне метчі з поясненням, чому кожна підходить.

→ відкрити чат
Ukrainian IT salaries 2026 — medians by role and level