Sergey called us last week. Thirty-five, six years as a labour-safety engineer. Started learning to code 18 months ago — Python via online courses, then Django on his own. Four pet-projects on GitHub, one with real users. Six months of CVs sent to job boards. Zero callbacks. He asked: what am I doing wrong, and can you help? This post is my long answer.
What people usually tell juniors — and why it doesn't work
"Build more pet-projects", "contribute to open source", "polish your GitHub", "do an internship". Good advice on paper, but at scale, it doesn't close the gap to a job. Here's why.
The Russian-speaking IT market in 2026 is structured tightly: junior roles are objectively scarce. After 2022, companies optimised their hiring funnels for middle and senior — that's where ROI is faster. Each junior posting in a major city gets 200-500 applications. Initial screening is automated: ATS filters on keywords, then HR spends 30 seconds per CV.
In this funnel you're not "the person who really wants to be a developer". You're a row in an export — getting 30 seconds of attention.
What companies actually look for in a junior
When a junior brief lands on our desk — and it does happen, especially with product startups and engineering teams of 50-150 — the client rarely says "just give us a junior". The brief looks more like:
- "Someone for our stack (Django + PostgreSQL) who'll grow into middle within a year."
- "Preferably with a prior technical background — engineering, physics, something with maths."
- "Comfortable writing tests, reading someone else's code, not panicking from code review."
- "A pet-project with real users would be a big plus."
This isn't a request for "junior" in the pure sense — it's for an adult who recently changed profession and has already built something with their hands. Two different profiles. If you're the second one — you have a chance for that shelf. If not, you'll compete with university graduates for the same narrow shelf.
What counts as a pet-project, and what doesn't
Courses (Yandex Practicum, Hexlet, Skillbox, GeekBrains, freeCodeCamp, Codecademy) are not a "tick on the CV" — they're a minimum admission ticket. They show the person can finish what they start. They don't hire anyone on their own.
Pet-projects work differently. Not all of them are equal:
- Tutorial projects ("built a blog in Django from a tutorial") barely work — everyone has one.
- "For myself" projects without users work weakly. Hard to tell from an AI-generated weekend.
- Projects with real users work. Even 5-10 actual users turn "junior from courses" into "person who shipped and supports something".
If you have a pet-project — find someone to use it. Friends, colleagues, the neighbour's small business. A small Telegram bot for the local laundromat is more valuable than "another Twitter clone".
How we work with juniors
We maintain a structured junior candidate pool — not a "folder of resumes", but a filterable database by stack, prior experience, availability, salary expectations. When a junior brief lands, we filter by the needed stack — Python, JS, Go — and reach out to the matches.
To get into the pool, three things:
- Sign a personal-data processing consent. We'll send the template in reply to your first email. Without it, we don't add anyone — it's legally required.
- Send your CV to [email protected]. Email only. The site is hosted outside Russia and we don't store CVs on it.
- Briefly introduce yourself in the email body. Stack, work format, salary expectation, remote vs. office, city.
How long to wait
Honestly: unpredictable. Some months have zero junior briefs — you'll be in the pool waiting. Other months have two or three back-to-back — and matching profiles hear back almost immediately.
What accelerates:
- A stack in current demand (Python backend, React frontend, Kotlin/Swift mobile).
- Remote readiness — widens the geography of briefs.
- A minimum pet-project with users.
- Adequate salary expectations for a junior (relative to your region).
What slows things down:
- "Open to anything" on the stack — the client doesn't know what you actually do.
- One specific city only, no remote.
- Salary expectations at middle level.
What to do while you wait
While you wait — don't just wait. Keep going in parallel:
- Apply to job-board postings, tech Telegram channels, niche communities.
- Attend free meetups and conferences — direct contact gets made there.
- Grow the pet-project — add a feature or a user every month.
- Learn a second language (programming) — sharply widens the role space.
An agency is an additional channel, not a replacement for the others.
Checklist before you email
Before writing to [email protected]:
- CV in PDF, 1-2 pages.
- Stack, work format, city, salary expectations explicit.
- Current status: "not working", "in adjacent role", "in IT but not target role".
- GitHub link and at least one pet-project.
- In the email body: who you are, what you're looking for, what you can do.
What not to include: photo, ID details, marital status. We don't need those.
What we told Sergey
Sergey sent his CV. His profile — adult, six years engineering background, systematic approach, real pet-project (a Telegram bot for production-safety risk calculations, used by a few colleagues from his prior role). The second profile — the one our clients actually ask for. He signed the consent, we added him to the pool.
A matching brief will land at some point. Could be two weeks, could be two months. That's the honest range.
If you're a "Sergey" in the broad sense — adult, career-changed, with a real project — write to us. We'll see whether your profile fits current briefs and discuss what to improve in your CV before adding you to the pool.
Email [email protected] with a few lines about your context — we'll respond with a candid view, whether we can help or not.
Email Anastasia →