Outsourcing to Ukraine in 2022
I landed in Kiev in mid January 2019 after having been an early employee in a ride-hailing startup in Africa that I had been running for 3.5 years. The objective with going to Kiev was not entirely clear at the time, I was basically looking for a good place to get my head clear and figure things out. Prior to going to Africa, I had been working in Moscow for a couple of years as a market entry consultant and I thought it would be interesting to see what was going on in the IT sector in Ukraine. I also knew a few people in the IT outsourcing industry, so I did what every hustler does, I started networking.
It became pretty clear at first that a lot of the IT outsourcing companies that I came across had a problem with sales and being that I had been working with sales in different roles since I was about 16 it felt natural to start out there. I also got some requests early on from former investors and other people I had met abroad to help them out with finding talent and vendors in Ukraine. I was also pretty surprised by the generous commissions offered by many of the outsourcing companies that I had come across and I decided that there might be an opportunity to build something here. This was essentially the birth of Oium and how I got started with this in the first place. I will delve more into Oium and what Oium does on other parts of the website and future blog posts, since the purpose of this post is to somewhat summarise some of the learning that I have made operating in the IT outsourcing industry in Ukraine, the problems I have identified and some of the opportunities for both clients and outsourcing companies.
From having worked in a number of countries with go-to-market strategy and launching new businesses I learned early on that if you want to truly understand a market, you need to understand the history of the country first and that will give you clues as to why the market looks the way it does. In the case of Ukraine, there is a few good reasons why it became a major outsourcing hub for IT:
Ukraine was one of the most industrialised parts of the Soviet Union, meaning that with a lot of manufacturing going on there was a strong demand for engineers that resulted in a number of technical universities and a pretty well educated population overall. Higher education was also free (and to a large degree still is) in the Soviet Union and I guess many seized the opportunity to get one. The turbulent 90’s in Ukraine (and all other post-Soviet countries) was devastating for a lot of people and well educated people were often paid very little, with the rise of IT globally a lot of engineers saw an opportunity to go into a new field that was more well paid than others and this created a good supply base for recruiting software engineers.
From the early 2000’s a lot of entrepreneurs and larger corporations started seeing this opportunity where you could literally hire senior engineers for a 1000 USD a month (this is no longer the case obviously) and this gave rise to some of the early IT outsourcing companies that grew at a very rapid pace. Word of course got around and more and more young people started pursuing a career in IT. It is a little bit tricky to determine the actual number of software engineers in Ukraine but most sources will indicate somewhere around 150-200 000 and growing. There are a number of reasons why it is very lucrative to be in the IT sector in Ukraine, first of all the salaries are much higher than all other sectors which combined with a low cost of living almost turns software engineers into an elite in society. Second of all, the industry is not as affected by corruption that devastates a lot of other industries in Ukraine and it is harder for the government to control it basically. Thirdly, there is an insane global demand for software engineers, meaning that if you are somewhat skilled in the area, speak decent English (this is not even a requirement at times) you are automatically employed. Fourthly and lastly, Ukraine does not really have a huge domestic demand for software engineers which makes most of the work force available to foreign employers and therefore the perfect place to do IT outsourcing.
In a country like Ukraine, people may be hesitant to pay a lot of taxes since they may not always feel that they get as much in return from the government. This is pretty normal in all developing countries that I have been to and nothing surprising about that really. However, what is really surprising is the brilliant incentive created to keep the workforce in Ukraine. In English it is referred to as a “Private Entrepreneurship” (PE) and in Ukrainian it is called “FOP”, which is basically a sole proprietary that any contractor or software engineer can set up for a small cost and with a ridiculously low flat tax rate of 5%. So basically anything that you earn is taxed at a flat rate of 5% and then you will have some small costs for accounting etc but that is pretty much it. From my experience almost 98% of the developers in Ukraine have such a set up which makes it very easy to hire them being that no real labour laws are in place (they are technically contractors) and all you need to do is to receive an invoice. In fact, most IT outsourcing companies do not even employ the developers but use this type of set up, which in my opinion is almost a bit shady given that it is often communicated to the clients that the developers are “employees”, which is not really the case. To make things a bit more normal there is usually a second contract that offers vacation and sick days, but this is not a requirement at all and is mostly offered simply to be a competitive “employer” on the labour market.
The proximity to Europe makes it easy to work with developers in Ukraine being that the time zone does not differ too much and I guess culturally it is relatively close.
The political turmoil and conflict in Eastern Ukraine has in some ways been beneficial to the IT sector since it has kept cost of living down in the country and to some degree also the salaries of software engineers. Of course, this also creates some hesitancy among clients, especially now that the situation seem to be escalating. I will leave it to a political risk analyst do delve further into that topic, but since the conflict started in 2014 and up until now, the IT sector in Ukraine has been growing rapidly, so there seems to be no direct negative correlation.
Lack of software engineers in Europe and the US. It may seem pretty obvious but it is worth mentioning as it is one of the key drivers for the growth of the Ukrainian it sector.
So what type of services are usually outsourced to Ukraine and how does the IT outsourcing market look like? At Oium we work with a number of different partners and we make recommendations depending on the request that we receive, this has led to us building a pretty broad network of partners in Ukraine that can deal with most of the requests that we receive. One of the early mistakes that I made as a co-founder at Oium was to give exclusivity to certain partners for certain type of deals, this move proved hazardous as most IT outsourcing firms say yes to everything. So what do I mean by that? Basically that many firms will accept projects or requests that they do not have resources to fulfil themselves but subcontract it to a supplier in their network. For a variety of reasons this is not particularly beneficial to the client, the reason being that you add several layers between the client and the people actually executing on the project. If you have a long-term relationship with a supplier, trust them and simply do not want to bother with screening a large amount of suppliers this can of course be an option. However, I would recommend most clients to risk minimise by understanding the key competence of individual suppliers and work directly with the people doing the job. It also becomes cheaper to not have 1-2 middle men in-between, plus the more stakeholders you involve the messier things tend to get. If I am to categorise the type of players on the market in a simple way I would do it as follows:
Elephants: Large IT outsourcing providers with 100 + employees. These players have usually been around for a while, have established procedures and usually a broad range of services. Their main clientele is usually corporates and in order to deal with them they have usually built up a fair amount of bureaucracy. If you are a large corporate client, scared about taking risk and have a request that does not require very high level skills this could be an option. However, you should expect a lot of bureaucracy, layers between you and the developers (project managers etc), high prices and average developers. The reason why the Elephants tend to get average talent is that most really skilled developers prefer working close to the client or in a product company. The working culture is usually a bit old school also where people sit in cubicles and not exactly the startup vibe. Being that most of Oiums clients are startups, I have rarely seen a need to use a supplier like this, however, I could see a fit for a corporate type of client who is risk averse and has a need of working with a company with well established routines. This type of set up could make sense if you are looking at hiring 10-20 people or have a project that requires mediocre talent, if you are looking at building something larger than that I think you should consider doing your own set up which is going to be cheaper and will probably attract better talent.
Gazelles: Once people started seeing the growth potential in IT outsourcing in Ukraine, a myriad of IT Outsourcing companies came about and there is a very large amount of companies with about 30-100 employees. These firms are usually still led by their founders, have a lot of flexibility with clients and reasonable pricing. The challenge with these type of players is that they sometimes try to offer a broad range of services like the Elephants, but fail to do any of them very good. The smart Gazelles focus on one area and do it well, it could for example be that they focus on projects and a particular tech stack, acquire strong competence there and provide quality services. They could also focus on outstaffing or dedicated team as it sometimes is called. We will delve more into the different type of services later and in other blog posts but in short, outstaffing/dedicated team means that the outsourcing firm recruits developers to work full time for the client and handle payroll, hr, office space etc. The shady aspect of Outstaffing/Dedicated Team is that they actually do not employ the developers but contract them as Private Entrepreneurs (as explained earlier). Therefore, the added value for payroll services is very limited and where they usually can contribute is basically facilitating office space, recruitment and managing day-to-day issues with the developers. I will delve more into Outstaffing/Dedicated Team later but I am of the opinion that it is a bit of an outdated business model.
Hyenas: These are small firms with 5-20 employees who try to pave their way ahead as an upcoming outsourcing player. The reason why I call them hyenas is that they usually lack their own capacity to bring in their own clients so they often act as sub-suppliers to Elephants and Gazelles. The quality of these firms are largely dependent on the founder or founders, which is usually a software engineer who may have gotten sick of working for other people and decided to start his own business instead. So if it is a brilliant founder, they can often provide great services, go the extra mile and provide great support. The drawback with these type of players can be that they are small and unstructured, have problems with cash flow and weak legal set ups. What do I mean by weak legal set up? Once again, the Private Entrepreneurship set up can also be used to hire other people and to build small firms, so whilst larger outsourcing firms almost always have a holding company in the EU/US, the smaller firms sometimes rely on the Private Entrepreneur set up which is tied to individuals. In case of any disputes regarding intellectual property or similar it can be rather hazardous to deal with players who have a set up in Ukraine since rule of law is not functioning well there and it might be difficult to take such a player to court. Therefore, I would recommend avoiding signing major contracts with players who do not have a solid legal set up and preferably you should sign it under a EU/US legislation to avoid trouble. This is also one of the reasons why these players often act as sub-suppliers and fail to sign bigger contracts with clients.
Leopards: These are firms who heavily specialise in a particular technology or business area, for example building data warehouses or specialise in clients from a particular industry like Fintech, Ecommerce etc. These firms are popping up more and more and tend to grow pretty fast and they vary in size. They are usually able to charge high rates due to specialisation and as a result have pretty good capabilities overall. If you are not able to build your own team and need a specialist partner the Leopards come in handy and can usually serve as an interim solution until your company reaches maturity to build your own team.
So what does this really tell you? Nothing, unless you know what type of outsourcing service you are looking for and with which type of supplier you are most likely to find it. There is of course a broad range of different type of services in the IT sector and this blog post is not going to be enough to cover all of them. I will however cover the most common type of services, when they can be applicable and what to consider before choosing one or several of them. I am planning to make a more in depth post about how to go about choosing a vendor but for now let us cover the basics. If you are looking at doing a set up with remote developers from Ukraine you will most likely come across the following options:
Out-staffing/Dedicated Team - I have never really understood who came up with the word “outstaffing”, but it is what most people refer this type of service as or Dedicated Team. In the early 2000’s when outsourcing was on the rise a lot of companies probably felt a bit sceptical about engaging in payroll, local labour laws in Ukraine etc which presented an excellent opportunity for outsourcing companies to provide a relatively profitable and easy service to provide. The service basically means that you contract a firm with operations in Ukraine to recruit developers that will work full time for your business, whilst the supplier also provides HR/Payroll, office space and general support with building the team. The type of packages vary a little bit from supplier to supplier, in some cases computers, team buildings etc are included in the price, sometimes not. This type of service is especially lucrative for the outsourcing firm because in this set up the vendor does not take responsibility for deliverables or the performance of the developer(s) since the client assumes the project management responsibility. The vendor has an interest in the team growing so they will usually try to be helpful in case there are any issues but at the end of the day you need to manage “your” staff on your own. As I mentioned before, the outsourcing company usually does not employ the developers but contract them as Private Entrepreneurs, in some cases this is even a requirement for the firm hiring the developer in the first place. From my experience this leads to a lot of misunderstandings with clients because it is often presented as the developers being actual employees but in reality they are not, which also means that there are zero labour laws included and very little risk for both the client or the vendor in case there is trouble with a developer. I usually explain to all my clients how this works so that there are no misunderstanding as to the nature of the engagement. However, this poses an interesting question… Why do you need to use a contractor to hire contractors for you? In all honesty, there is no reason at all if you are willing to deal with the invoices from the different developers yourself, it is pretty simple to just pay an invoice directly to the developers. So the only real advantage here is if you are looking at having an actual workplace for the developers in Ukraine and office facilities that you can use if you are visiting. So if you are a bit short on staff, reluctant to deal with administrative stuff and think its important to have your developers working from an office and want to tap into the outsourcing company’s network of developer this model can make sense. Before engaging in such a contract you should bear in mind that many IT outsourcing companies that provide this service usually include pretty aggressive terms for “buying out” the developers later if you would like to hire them directly later, so I usually advise clients to think carefully whether they want to commit long term to the vendor or not. As mentioned before, this service was probably popular in the early days of outsourcing but is slowly becoming less relevant, especially after Covid when working from home has become more normalised and in all honesty a lot of developers are not too keen on working from the office everyday (there are exceptions of course but from my experience 60-70% likes a remote set up).
Managed IT Project/Project Based - This is the classic outsourcing set up where you contract a firm on a time and material basis to provide you with certain deliverables. From my experience, this is the trickiest set up when it comes to choosing a reliable vendor, because there is a myriad of options and considerations to be made based on your company’s situation and needs. Let us start with why you would even consider this option? If you are looking at building a website, app or other type of tech product but currently do not have any developers and are unwilling to hire developers this could be a good option. Especially if tech is not the core of your business but rather has a supporting function to your existing business. As you probably know, engaging in tech recruitment takes a lot of time and good developers are hard to come by so you can make it simple for yourself by just contracting an existing team that has all the resources in place to deliver the project. It could also be an option if you have a tech team already but no capacity to start new projects and need a helping hand, for example one client that we worked with had five different products with different tech stacks where two of them was considered core products and the others were needed but less relevant. They chose to hire developers directly to their core team but outsourced the management of the other three products to outsourcing companies, because hiring five teams simultaneously was simply not feasible budget-wise or practically at the time. So I guess the important question would be to ask yourself whether there is a good reason as to why the project should be managed in house and if not start looking at options to outsource it. Secondly, if you have an existing product that already has a determined tech stack your options for outsourcing will decrease a bit since you will then need to find a vendor that can work on your existing tech stack. Some outsourcing companies that are a bit more picky even refuse to work on legacy projects or may decline it if the code base is bad, so outsourcing an existing project is always a bit more tricky, but definitively do-able. In case you are starting out fresh with a new project and need help with building it from scratch you will have thousands of different options in terms of choosing a vendor. Different vendors work on different tech stacks so you should pay attention to what they are suggesting to build the product on. This is particularly important if you plan to hire your own team later to work on the project because some tech stacks that are popular today may not be in 10 years time. One example of this is Ruby-on-Rails that was very popular 10 years ago but has since then decreased in popularity which makes recruiting people for that tech stack especially challenging. You may want to ask the vendor if they have a good reason for wanting to use that particular stack and also double check it with an independent party just to make sure you are on the right track, since a lot of vendors will usually choose tech stack based on what they know and not necessarily because it is the ideal one for your project. Once you have a few quotes on the table you will notice that the hourly rates and approach to projects will vary a bit from vendor to vendor, usually you start out with a “discovery phase” to make sure that both you and the vendor are on the same page as to exactly what needs to be built. The hourly rates vary greatly in my experience but I would say that the cheapest you can come by with a respectable vendor is 20-30 USD/hour, anything below that will probably not be very great quality and if you want to go more premium you are looking at 50-60 USD/hour. More specialised vendors with a strong track record can even charge more than that. You should also pay a lot of attention to the hours estimated on the project versus the hourly cost, I have come across many situation where the more expensive vendor is actually cheaper because they have estimated less hours. The reasons for this may vary, after all, an estimate is just an estimate, some vendors are more greedy, some of them may have less know-how in building that type of product and therefore estimate more hours and vice versa. If you are dealing with a Gazelle they will sometimes drop low on price because they want to grow fast and expand their customer portfolio, the Elephants will usually stand their ground along with the Leopards and the Hyenas (stay away from them) may try to outbid all the other players but at the cost of quality in the project. Remember that cheap usually means taking shortcuts, which may cause problems later, it is not entirely uncommon for companies having to completely rebuild after a few years because the initial product was not built in a scalable way. So that actually poses a good question, do you need state of the art tech? It may be a bit sensitive for some people to admit that their project may not need super talented developers but in many cases it is true. You do not need rocket scientists to build a simple Ecommerce website and in such a case you may want to consider saving a bit on tech and spending that money on marketing for instance. This will also increase your options in choosing a vendor significantly since if the project is simple a lot of IT outsourcing companies can help you with it. If you are building a product that requires very high level talent I would first of all question whether you should outsource it at all and secondly if you need to outsource it, I would probably choose a top tier vendor with a strong track record in building products.
Direct recruitment/Freelancer set up - If you want to hire your own team of remote developers, manage them on your own and do not mind if they work from home this could be an ideal choice for you. Nowadays it has become increasingly simple to manage payroll for remote staff with platforms such as Deel for instance. In the case of Ukraine it is also pretty simple since almost 98% (educated guess) of the developers have a Private Entrepreneurship which enables them to send you invoices and pay their own taxes. It is also not rocket science to set up a subsidiary in Ukraine if you want to do a larger set up and build your own office there, if you are in doubt these are services that we could provide for you. A lot of developers also prefer working directly with the client and may sometimes feel that the outsourcing company is an annoying filter. Starting this process is not very complicated at all, you can start headhunting the developers on your own or use a recruiter. Bear in mind that the IT sector in Ukraine has also become increasingly competitive so do not expect it to be super simple, it will basically be a headhunting project where you need to pitch your company and especially the project that the developer will be working on. A lot of startups have investors that require key staff to be on the company’s payrolls and this can be a good option in such a case. However, bear in mind that every single outsourcing contract that I have seen has a very clear clause that states that the intellectual property belongs to the client so unless you are dealing with very shady outsourcing vendors this is usually not an issue. The advantage will mainly be cost, since outsourcing companies have a mark up on the developers and paying the developer directly will be cheaper. The quality can also be better if you hire directly since the developers you hire directly are more likely to take a keen interest in your project as opposed to a developer working in an outsourcing company who may be working on 3-4 projects at the same time. One important and also sensitive question you may want to ask yourself is how attractive is your company to work with? Software engineers usually want to work on challenging projects or projects that can enhance their career, one example is a recruitment that we did for a company building an app on Flutter, we found a senior person in two weeks and he was not particularly expensive despite having more than 10 years of experience. The reason was that Flutter is a relatively new technology and he wanted to get as much experience as possible with it and saw it as an investment for himself. So if you have a super cool project that you feel can be very attractive for developers to work with you may be in a good position to hire them directly. I guess it is also important to assess your own capability to lead a remote team, do you have resources that can guide the developers or can you do it yourself? If not, maybe you should go back to the scratch table and consider outsourcing, because it is possible that developers without guidance may do a poor job or that they will look for other opportunities where they can grow under someone more senior. A general recommendation is to at least start out with a senior person so that you have a bit of a foundation of a team.
In summary, the outsourcing market in Ukraine is in my opinion consisting of a large amount of companies that to a large degree offer the same type of services. I think this is mainly due to the early outsourcing days when manpower was very cheap in Ukraine and you could grow quickly without having to spend a lot of effort on branding and differentiating yourself. Times have changed however and Ukrainian IT Outsourcing companies face fierce competition in Ukraine but also globally since other outsourcing destinations such as India, the Balkans, Asia are developing and growing quickly. In parallel, global demand is also ever growing so there are no signs of prices going down but definitively a need for diversification among the players on the market. A lot of the more successful IT Outsourcing companies that I have collaborated with grow because they make more efforts in terms of branding, product focus and developing the business side of their organisation. The trend that I am seeing now is that the players have started to specialise more, invest more in marketing and building a strong brand. I have helped consulting some of these firms on how to improve their company image, since after all tech is not cheap and for many companies it is a large investment to outsource development. It is becoming increasingly important for outsourcing companies to invest in looking like the most trustworthy option. I also believe that the market will see a lot of consolidation in the upcoming years with smaller firms being acquired by larger firms since many of these companies struggle to grow beyond 70-80 people and the large ones (Elephants) are not fast footed enough to keep growing.
My ambition for my next post is to provide a clearer framework for how to go about making a good decision in terms of choosing a vendor in Ukraine or doing it by yourself. I hope that this post has at least been informative and given you an idea of how the industry works in Ukraine and left you a little bit more well prepared to start your journey. If you have any questions and comments feel free to reach out to me directly.