The reality of the Ukrainian IT market
19 Sep 2021
The reality of the Ukrainian IT market
Ukraine is one of the most popular outsourcing destinations worldwide, due to housing more than 200,000 skilled IT engineers — the 4th largest software developers community in the EU. Companies from around the world outsource to Ukraine to tap into this talent pool and build their software quickly and cost-efficiently.
However, this results in severe talent shortages on the market. Spintech describes the situation with the Ukrainian IT community from within and explains what you should look for in order not to be fooled.
Hiring superheroes will cost you, a lot
The faster you want a talent hired for your project, the bigger salary you should pay. Don’t you worry, it will still be miles lower than the cost of hiring such a talent in the US, but be prepared to untie the laces on your coin bags.
GRAPH, x= SPEED, y = COSTS, straight line
That’s it, there are no other rules. Good specialists — and you don’t want to hire mediocre ones, do you? — aren’t ever unemployed. They always have a project to deliver and a queue of recruiters waiting with new offers. Working for a world-known brand means nothing to them — they have projects from half a dozen similar companies to select from.
Professional growth is also not a deciding factor, as senior developers, software architects, and team leads have nearly the same range of responsibilities and challenges in any company they work for.
What is even worse, there are no “average” costs or “approximate” budgets. Every software development project is unique and must be estimated individually. Not following this maxim leads to multiple hidden risks unbeknownst to customers and service providers, which can derail the project.
Don’t believe median salaries from job portals
The devil is always in the details. Median salaries from job portals are good for statistics that have no real-life application. In real projects, a couple of talents with similar skill sets can work on the same positions and one will have $500-$1,000/more than the other.
Why? Because there are individual factors that affect how much a specialist can earn:
- one is a workaholic, as he is single and work is his main source of drive and fun — while another is a family guy, goes home every evening at 5 p.m. and never works long hours.
- one prefers automating every little task to avoid repetitive monkey work, while another just has a library of macros at hand and has no issue writing the same line of code as many times as need be.
- one is a genius thinker and idea generator, but spends most of the time working in solitude — while the other is a mentor for junior team members and can’t dedicate as much time to writing code per se.
- one works with a legacy framework which is still crucial to support the project architecture (and this skill is quite valuable), while the other uses the latest tools on the market to ride the hype wave (and can be easily replaced with another expert with similar knowledge, should the need arise).
- etc, etc, ad infinitum.
Thus said, one middle developer can cost you $5,000/mo. and the other will cost $4,000/mo, and both will be satisfied with their wages. Therefore, when hiring talent for your project, you need to evaluate all the aspects, not merely the median salary for this programming language and seniority level.
Mice are at play when the cat is away
Unfortunately, not all companies know in detail what affects the developer’s price tag, nor do they bother. They pay the median salaries regardless of the actual value delivered by the particular developer.
This allows some service providers to sell middle developers from their bench as senior specialists, and junior developers as mid-level experts. Naturally, this affects the outcome of the project directly, resulting in the sub-par quality of the code. For example, when SoftServe was hacked in 2020, not only did its employee’s data and passports surface online, but some of the code repositories on GitHub were also made public. Analysis of the code in these repos shows the sub-par quality of deliverables, which is only possible when developers are given tasks well beyond their seniority level.
If that was done by one of the biggest IT service providers in Ukraine, which works on projects for Microsoft, Amazon, Google Cloud, SalesForce and others — the same can be expected of lesser companies.
What to do to avoid such a blunder?
Nevertheless, hiring a good specialist is still possible if you know what to look for and what to expect:
Once again, good specialists are never unemployed. Whenever you need them, your outsourcing partner will have to compete for their attention with 5-6 other offers from other companies. On the other hand, a specialist crucial for your project can receive a better offer at any moment.
a) understand that a month or two is needed to hire a specialist (at the very least)
b) be prepared to pay the real price, not the market median
c) form legal contracts for long-term engagements
You need tech expertise to assess the dev’s background. When going for IT outstaffing in Ukraine, you need a tech expert in-house to test the candidates to ensure they are indeed middle or senior specialists, not juniors sold under a better price tag. When outsourcing, a service provider should handle this aspect — but having an in-house tech expert check the candidates never hurts.
Don’t necessarily aim to build an all-star team. A cohesive team of 1 senior, 2 middle, and 2 junior developers who have worked together already is much more productive than hiring 3 senior engineers. It is so because they have established communication and polished processes in place.
This is the Spintech approach and below we will explain why it is so.
Spintech approach: build a team, not a superhero squad
Marvel and DC movies tell us that superheroes form great teams able to overcome any opponent. Well, you can believe it, for 2 hours of movie time — and even then they still have their struggles.
In real life, there are no supervillains and the goal is not saving Earth. The key objective is to deliver a high-quality product and the main opponents are deadlines and… boredom.
Yup. Boredom. What you rarely think about is that Hulk would not be good as a janitor or school bus driver. He is a superhero, he has superpowers — and he wants to have a purpose in life. However, janitors are also needed or we will drown in the trash.
The harsh reality is that senior engineers are proud individuals with ample expertise and a tail of successes behind them. They know their respective domains inside out and can do anything — from high-level software architecture planning all the way down to writing every string of code needed to implement those functions.
The point is, they don’t want to. They want to design the software and solve challenges (and do it their way). Thus, 3 seniors will most likely bicker and argue about every little trickle — just like the superheroes do all the way up to the final boss fight.
Spintech walks another road. We know firsthand that senior developers should work with middle and junior developers and delegate tasks. This way, seniors have no one to argue with, can train their team-leading skills, and can unleash their full potential at solving the project challenges. This ensures efficiency from multiple facets:
- A senior developer knows what time is needed to implement this or that function and to prepare tests for it. This allows them to plan ahead, delegate, and prioritize the tasks, so everything is ready by the deadline — and they don’t have to write all the code from scratch.
- Middle engineers have a clear backlog and can work without hassle, while also mentoring the junior devs
- Junior developers deliver all the work they must do and gain invaluable experience while freeing up the time and resources of their more experienced peers.
You save time, money, and nerves, as the team works along with the project roadmap and delivers the expected results on time instead of fighting among themselves. The only question is — how to select such a team?
How to mitigate risks while selecting a vendor and deliver an IT product successfully
When considering an outsourcing vendor, there are 3 key parameters to look at:
- Relevant expertise. A company specializing in mobile app development might not be the best partner to deliver an ERP system, obviously. Check the company’s expertise and case studies and ensure they are familiar with your project’s domain.
- Project management approach. Ask for references to previous customers (or contact the ones listed on the site) to find out how the vendor performed from the project management side.
- Unbiased reviews. Companies try to post only positive reviews on various websites. However, sometimes frustrated customers post negative reviews too. Even taken with a grain of salt, such reviews can show whether the vendor actually values the partnership. If a customer states that the vendor sold middle engineers as seniors, the chances are, they will do it again with you.
Most importantly, check their attitude during sales and tech calls. If a company promises to do everything and anything, quickly and with high quality — most likely they are pulling your leg. A reliable partner will explain what they can do and what they will need time for, and warn you of the possible underwater reefs with your project implementation.
Outsourcing to Ukraine is indeed a great way to gain access to affordable and high-quality software development services. The only issue here is the need to verify that the vendor you select is indeed able to deliver on their promises. Brand visibility has nothing to do with the company’s reliability as a vendor. But many Ukrainian companies can become your trusted long-term technical partners.
Should you like to give Spintech a try — contact us, we are always happy to discuss your project details!