Software developer
Opens tickets, ships PRs, survives review — hiring filters on working code, not a course certificate.
Income range: 5,000,000–40,000,000 UZS / mo
Takeaways
- A developer turns a business question into working software — hiring filters on shipped work, not course certificates.
- In 2026 vacancies the programmer median is about 10.1M UZS and the most common offer about 8M; the official ICT average (~17.4M) answers a different question.
- In Tashkent a first role is usually below the vacancy median; growth accelerates after the first commercial projects. English adds leverage on foreign-client teams.
What a software developer does
A software developer writes programs that run on a computer, phone, or server. The job is not “how to type code” — it is understanding a fuzzy request, splitting it into testable pieces, and shipping a working solution with a team.
In Uzbekistan the role most often means web (sites and admin panels), mobile apps, banking/fintech systems, or building software for another company (outsource/outstaff). “IT” is a wide label: testers through DevOps land in the same official average. Do not read the ICT sector mean as your junior offer.
The work fits people who can turn ambiguity into a written plan, hunt their own bugs, and want others to read their code. It is a poor fit if you only want “sitting at a laptop” or a fast-wealth story: year one is practice, rejections, and small tickets.
Daily tasks
A typical day orbits a ticket (Jira, YouTrack, Linear): read the request, ask about the unclear part, write code, self-test, open a pull request, fix review notes. Much of the time is not a “new feature” — it is reading old code, logs, and why staging fails while production does not.
There is writing too: a short comment, a changelog, sometimes a tech spec. Standup is 10–15 minutes: yesterday, today, blockers. In a small team a developer may also cover design or QA — useful for a junior, if you still keep a boundary.
A typical workday
09:30 standup. 10:00–13:00 deep work (feature or bug). Lunch. 14:30 review or pair-debug. 16:00 QA questions or a short PM sync. 17:30 merge a PR or plan tomorrow. A late deploy can happen before a release — a healthy team does not do that every day.
Remote days look emptier on the calendar, but writing must be stricter: “done” is not enough; you need a screenshot, a log, and acceptance criteria. In an office it is easier to ask quickly, but noise cuts deep work. Try both before you decide.
Specializations
Tracks that show up often in Uzbekistan vacancies in early 2026 (public boards and IT Park teams). Not a complete list.
| Track | What you do | Entry note |
|---|---|---|
| Frontend | UI in the browser, Figma to HTML/CSS/JS | React/Next.js is common in ads; portfolio is visible |
| Backend | APIs, data, payments, queues, security | Node/Nest, Java/Spring, Python; SQL is expected |
| Mobile | iOS/Android or Flutter/React Native | Flutter is common locally; native often pays more |
| QA automation | Writes tests, catches regressions | Wider junior door; then move to automation |
| DevOps / SRE | CI/CD, servers, observability | Narrow junior door; pay can be higher later |
| Data / ML | Pipelines, models, analytics infra | Start with SQL and Python; do not grab the ML-engineer title early |
Junior, middle, senior
Grades drift by company. There is no official “junior salary” series.
| Level | What they expect | Typical time |
|---|---|---|
| Junior | Small tickets under review; asks questions; learns tests | 0–2 years commercial |
| Middle | Owns a feature, estimates, reviews others | Often 2–4 years — responsibility, not the calendar |
| Senior / lead | Architecture, risk, mentoring, production ownership | Usually 5+ years; faster for some |
Hard and soft skills
Hard: one language in depth (JS/TS, Python, or Java), Git, HTTP basics, SQL (what a table and a JOIN are), debugging. Contest medals are not required — but arrays, maps, and a feel for complexity show up in interviews.
Soft: ask about the unclear part, do not lie about dates, review the code not the person. In Uzbekistan teams the work language is often Russian or Uzbek, with English mixed into docs. Staying silent in the team chat slows a junior down.
Tools and technologies
Do not learn every stack at once. One path first, then SQL and Git beside it.
- Git + GitHub/GitLab: branch, PR, conflict
- VS Code or JetBrains + a debugger (console.log is not your only tool)
- Browser DevTools or Postman/Insomnia
- PostgreSQL or MySQL — past a simple SELECT/INSERT
- Linux basics: folders, logs, ssh (Docker later)
What is enough at the start
Roadmap from zero
01Months 1–2: foundation
HTML/CSS, Git, language syntax. A small exercise every day. Watching videos is not learning — write code.
02Months 3–5: first project
A CRUD app: list, edit, delete. Write to a database. Deploy it (Render, Railway, or a simple VPS).
03Months 6–9: simulate a team
A second project + tests + README. A PR in OSS or with a friend. A resume and 20 applications — do not wait for a perfect portfolio.
04Months 10–18: first job
Internship, junior, or a modest first offer. A team with code review beats a loud brand name.
How long it takes
At 1–2 hours a day, “ready for a job” often takes 9–18 months. Full-time intensity can be 4–8 months, but burnout is easy. Parallel with school is often 1.5–2 years. That is an average, not a promise: prior Excel/math or English shortens it; watching videos only lengthens it.
Learning does not stop at the offer. Year one on the job is the real course.
Where first experience comes from
Doors in Tashkent: IT Park residents, outsource (EPAM and other vendors), local product (Uzum, Click, Payme, bank digital teams), small studios. Internships appear on hh.uz, Telegram, campus fairs, and through people you know.
Apply even when the ad says “2 years” — sometimes that is a template. Eighty applications and zero projects will not work. Long unpaid “experience” is a red line: a short practicum is fine, six unpaid months is not.
Portfolio and project ideas
Three pieces are enough if they run and you can explain them. Not a Dribbble screenshot: a repo, a README, a live link.
Ideas (do not copy — put your own topic): 1) stock and receipts for a local shop; 2) a timetable for a tutoring center; 3) a family budget (categories, a chart); 4) a small API plus a simple front end. A ChatGPT “Twitter clone” you cannot explain will hurt you.
For each project: the problem, the choice, where you were wrong. That is the case study.
First job, freelance, office and remote
First job: a one-page resume, a clear stack, links, 20–40 targeted applications. Closed roles move through Telegram and people you know. Practice explaining what you built in three minutes.
Freelance (Upwork, local Telegram) is hard for a junior: the client, a fuzzy brief, payment risk. One or two small paid jobs help the portfolio — do not treat them as your main income yet.
Remote: a foreign team usually wants B2+ English and overlapping hours (Europe/US). Local hybrid is common. Fully remote junior seats are rare; office/hybrid is more realistic first.
Interviews and typical questions
Local product: live coding (arrays, strings), SQL, “walk through your last project,” sometimes a real bug instead of system design. Outsource: an English self-intro, algorithms, sometimes a take-home.
Questions: let vs const; HTTP 401 vs 403; why an index; how you would see a race; why that database. Answer short, then an example. If you do not know — say so, and say how you would look it up.
Do not turn a take-home into six hours of free work. Ask the timebox, write a README.
Mistakes in year one
- Twenty courses and zero finished repos
- A resume that lists 15 technologies
- Submitting AI code you cannot explain
- Waiting for “FAANG pay” in Tashkent and not applying
- Taking review as a personal attack
Who lives with code — and who leaves
A fit: you like turning a problem into writing, you can sit with ambiguity, you will hunt one bug for an hour (and still know when to stop). Games, Excel, or olympiads are not required.
A poor fit: you only want the status; you dislike explaining in writing; you chase a new tool every day and never go deep. If your eyes or back already hurt, do not sit long without setup and breaks.
English, education, certificates
English: docs, error text, Stack Overflow. B1 can be enough for a local team; foreign outstaff usually interviews at B2+. IELTS is not required.
University helps (math, networks, a diploma filter in some banks) but is not mandatory. INHA, WIUT, TUIT, and specialist centers are different roads. A course (Najot Ta’lim, PDP, and others) is a tool; employers ask about the final project.
AWS/GCP certs rarely help a junior. FreeCodeCamp or an official language cert is optional. GitHub activity speaks louder.
Growth and transitions
Path: junior → middle (own a feature) → senior (the system) or staff/architect, or EM (people). A move to PM or analytics is real if you like writing and stakeholders.
From another job: accountants arrive with SQL; teachers with explanation; marketers with metrics. One stack first — not “I quit everything.”
Pay: what is known, what is not
Do not mix two numbers. Flexa (updated 3 August 2026): programmer vacancy median about 10.1M UZS/month (Jan–Jul 2026), most common offer about 8M. The statistics committee ICT average is about 17.41M (H1 2026); information services sit higher (~21.4M), and software development is cited around 22.23M in sector write-ups. The industry mean includes telecom and a long right tail.
There is no official junior rate. Flexa warns that “junior” samples are tiny and often hide mid-level requirements. A first job is usually below 8M. Public Tashkent-team guides (for example NextSuhbat, 2026) give a community range of about 6–12M junior, 15–30M middle, 30M+ senior — not a government series, a mix of ads and conversations.
Factors: production experience, stack (mobile/backend/data often above generic web), English, product vs agency, IT Park / FX-linked contracts. Personal income tax is 12% and the employer pays social tax — ask what you take home.
The Uzbekistan market
Where to look: hh.uz, LinkedIn, Flexa, IT Park / resident career pages, Telegram vacancy channels. Language: ads in Uzbek/Russian, code and docs in English. Stacks in ads: React/Next, NestJS, Java Spring, Python (Django/FastAPI), Flutter; DevOps is a narrow junior door.
Employer layers (public guides): local product (Uzum, Click, Payme, TBC Uzbekistan, Anorbank, and others), outsource/outstaff, startup/studio. Product interviews harder and often pays more; outsource is friendlier to juniors and cares about English.
Region: Tashkent’s average wage is about 12.01M (H1 2026) versus about 7.09M nationally; IT seats cluster in the capital. In the regions you more often see remote or a small studio and a lower range.
The international path
Three paths: 1) remote from Uzbekistan (currency, tax, and a contract with a lawyer); 2) outstaff onto an EU/US team; 3) relocation (visa and work permit — that country’s law). Do not convert a US/EU salary at the FX rate and say “I should get that” — the market, tax, and costs differ.
To compete: Git, tests, written English, overlapping hours, security basics. LeetCode appears in some foreign loops; less often in local product. Portfolio and referrals still travel.
How AI changes the work — without hype
Today AI (Copilot, ChatGPT, Cursor) speeds boilerplate, a first test, and “what is this error.” It does not replace: deciding what to build, security, performance, team agreement, production ownership.
Learn: a short prompt, reading the answer, writing a test, licenses/secrecy (do not paste private code into a public model). The skill that rises in value is seeing the system and saying “this is unsafe.”
“The job dies” is a weak forecast. Clearer: a junior without AI is slower; a junior who only uses AI and cannot explain it fails the interview.
Future, risks, myths
Demand is not vanishing, but the junior door can narrow because AI shrinks simple tasks. Risks: burnout, sitting injuries, always-on culture, sticking to one stack, working without a contract.
Myths: “$2000 in six months”; “a degree is mandatory”; “no algorithms, no job”; “AI replaces everyone.” Reality: time, a portfolio, a team, reading the market.
Questions juniors actually ask
Is it too late to start?
No. Being late is six months of videos and no code. People start after 30; their edge is usually domain (finance, teaching) and discipline.
Which language should I pick?
Count vacancies for 30 minutes on hh.uz. In Tashkent JS/TS and Java/Python are common. Do not switch language every month.
What does a junior earn?
There is no official figure. Vacancy median ~10.1M, mode ~8M (2026, Flexa) — a first job is usually lower. Tashkent guides often cite 6–12M as a range. Compare 5–10 ads yourself.
Is a course enough?
A course shortens the path; it does not hand you a job. Without a final project, Git, and interview practice the money is gone.
Do I need math?
School algebra is enough for a lot of web work. ML, games, heavy compute need more. Do not delay coding out of math fear — write a program first.
Will AI take the job?
It speeds the simple parts. Requirements, security, and production ownership remain. The nearer risk is falling behind people who use AI, not a full replacement.
Can a junior work remote?
Rarely. Hybrid/office first, then remote. Foreign remote needs English and time-zone overlap.
No portfolio — what now?
This week, deploy one small CRUD app. Do not wait for perfect design. Write a README and apply.
Bank vs startup?
Bank: slower, compliance, sometimes a diploma filter, more stable. Startup: wide tasks, a fuzzy role, a mixed range. Read the ad, not the brand.
Where do I find roles?
hh.uz, LinkedIn, Flexa, IT Park, Telegram, people you know. Thirty minutes twice a week — not 100 applications in one night.
Can I enter without a CS degree?
In many product and outsource teams — yes, with a portfolio. Some state/bank tenders ask for a degree. Check both filters.
What should I study first, and why?
Git and one language — without them you cannot claim a project exists. Then SQL: it appears in almost every backend interview.
Figures draw on 2026 sources: Uzbekistan National Statistics Committee (official sector averages, Q1/H1 2026), Flexa and hh.uz vacancy medians, and public IT Park / product-team guides. Not a guarantee — contract type, city, tax, and level change the range. Compare live vacancies yourself.