Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

Remote fullstacks in Ukraine?

Hello DOU community.

I am interested in your advice about remote teams.

I am an American, looking into some Ukrainian fullstacks, led by a competent and trusted Ukrainian employee who speaks Ukrainian/Russian, living here in the US.
jobs.dou.ua/...​s/genomic-prediction-inc

My Ukrainian colleague and I have never tried to administer a remote team in another country before, though we’ve administered remote teams in the US with success.

What do you see as the main pitfalls to be careful about when administering a remote team in Ukraine?

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

A bit late to the party, but this is still a valid question today. It would actually be interesting to get an update from the author on whether any steps had been taken to set up such a team and, if so, how everything turned out.

As for the advice (perhaps for someone who may still be looking for an answer and is as late to this article as I am), the first thing to do is to decide whether you’d like this team to be completely remote or whether you’d like to set it up in a branch office. There are pro’s and con’s for each option. In a nutshell, an entirely remote team would be less expensive, but more challenging to manage.

Whatever the option chosen, the next step is to consider multiple administrative, accounting, and managerial questions. In order to deal with such topics in the most effective and efficient manner, it is important to choose a local expert in Ukraine. And as with most industry experts, you get what you pay for. Choosing the cheap option may not get you anywhere and you’ll end up losing both time and money. It is much wiser to go for a trusted organization and to reach your goal within a specific time frame.

Naturally, this is only some simple advice to get started, but starting right is one of the most important steps.

Hi Laurent,

Firstly, you need to identify your scope, done criteria for the list of tasks and get an idea of the final result you’d like to achieve. So without hiring a good BA at the first glance this mission seems to be impossible. Many outsorcing companies in Ukraine start working on a project with no/few knowledge and understanding what should be done, which results in enlarging time and money dramatically, many projects fail.

After that, when you have your scope, mock-ups, done criteria written, you can talk to a local IT expert to estimate the project in hours/days. Roughly, of course. Having both artifacts on your hands you can start searching for a team that fits your needs. And these artifactis will give you an ability to both identify fraudery team, lazy team, unqualified team, etc. and have reasonable discussion with the team regarding stack, scope, time and money.

Finally, I strongly recomend hiring onshore lead among people you believe to. Otherwise, you may run into many troubles. Of course, you should have a word with an experienced lawyer on your side.

Best Regards

onshore lead

You think that it’s not a good idea for a Ukrainian here in the US lead a group remotely — not without a local leader intermediary?

In my experience it can work very well without any local leader/manager provided right people hired.

I believe, Oleg wanted to say that it’s difficult to actually “lead” a team if you can do it only once in the early morning (the team’s late evening) due to timezones gap. Having a remote leader might work if you gonna collaborate with a small team of 2-5 members. If you need more engineers though, you should consider a local (at least located in UTC +0..4) lead with an at least good understanding of your product and at most great administrative skills. The lead might be picked from the remote team but picked very carefully.

I said that this person should be hired separately by you and properly motivated in addition, and not to be the part of the development team. I think the onshore lead should be motivated by reaching project success criteria and not by spending day and night at the office, enlarging your bill. The best example is why enterprise audit is handled by an independent organization with good reputation and not people from the same enterprise. Now you got my idea?

Well, people from Ukraine have quite opposite attitude to their job in comparison with people from US. If that onshore lead is a part of the same team, he is going to cover their drawbacks, fraudery, laziness, faults, enlarge scope, etc. You may think that I exaggerate now, however, these situations are quite common for local IT development.

интересно, индусы и китайцы тоже будут отговарить потенциального клиента?

У клиента на лицо сильное заблуждение, что Украина — это суперкачество по цене сендвича. Есть велика вероятность столновения реальности с хрустальным замком ожиданий. Это как с линуксом, вроде всё бесплатно, а в продакшене по факту ты тратишь денег больше, чем на лицензионный софт с поддержкой. Если клиент хочет сэкономить на прямых расходах — надо сразу показывать пальцем на дверь, я всех клиентов подводил в своё время к тому, что цифра в моём пейроле не будет отличаться от цифры в пейроле местного, всё разница будет в том, что мне не надо оплачиывать страховки и за меня платить налоги. Экономия может быть только в этом, а не в оплате по 500 баксов за пучок програмистов.

мы не знаем ожиданий этого клиента, по ссылке вакансии выглядят нормально (оплата). Не понимаю зачем начинать рассказывать ему какая жопа его ждет.

А зачем вообще клиенту вот так растекаться мыслями по древу? Тем более он говорит, что у них в команде есть выходец из Украины. Просто берешь и делаешь, либо не берёшь и не делаешь. А вот это бла-бла обычно ничего хорошего не означает. Кто будет набивать команду — сам клиент из индвидуалов или искать сразу готовую команду? Это два кардинально разных подхода.

мы не знаем ожиданий этого клиента,

Потому что клиент сам не знает, что хочет.

Не понимаю зачем начинать рассказывать ему какая жопа его ждет.

Ну это да. Я за то, чтобы он наступал на грабли сам.

А зачем вообще клиенту вот так растекаться мыслями по древу?

I agree that the questions are simple, but some of the answers are nonetheless helpful. More importantly, I hope that being open with our thoughts in this thread helps some applicants to understand what we need. We’ve gotten some applications which refer to posts in this thread, some of whom we’ve begun to move forward with.

Есть велика вероятность столновения реальности с хрустальным замком ожиданий.

При этом, в 90% случаях, провал проекта происходит по вине, так называемого, ПМ на украинской стороне.
Конечно, и среди технических специалистов хватет разрабов уровня — тяп-ляп-ивпродакшен, но все таки найти хорошего менеджера в Украине намного сложнее, чем хорошего дева.

Так можно, ведь, и без менеджера в Украине.

Не думаю, что они там ракеты в космос запускают.

Не будут, потому что они мелкие копеечные наебщики. Если мы не будем отличаться, наш небольшой сектор ИТ поглотят с потрохами загорелые Кумары.

Hi, Laurent. Wrote a DM to you via dou

Wow, genetics and shit, looks cool :-)

But, Ukrainian team would build a django website...

My Ukrainian colleague and I have never tried to administer a remote team in another country before, though we’ve administered remote teams in the US with success.

It’s almost the same but with big difference in time (8 — 10 hours depending on your location). For best results you will need to:

  1. Make a description of tasks as detailed as you can to minimize amount of question engineers will need to ask you. Each clarification eats a lot of time because you might be asleep when they ask and they might be asleep when you answer.
  2. Schedule meetings (if needed) to time that might be slightly uncomfortable for you. You can’t have a meeting at 5pm because in Ukraine it’s past midnight. And if you need to chat with Ukrainian employee, you should do it in the morning your time.

Of course people are different. Some like to work in the evening / at night. With them it might be more comfortable.

1a. Try (if possible) to always have a pool of tasks to do. In this way, if engineer has some questions and can’t continue working on task because of that, they can switch to another one without wasting time by just sitting and waiting for answers.

This sounds sensible, for any remote team, thank you Gennady.

A followup: a Ukrainian has feedbacked me that good programmers might have left Ukraine, while others have said that this is not true. What do you think — is it realistic to build a highly skilled team in Ukraine, at a superior value compared to hiring fx. another American remote team?

Many good engineers stay in Ukraine for one reason or another, so it is surely possible. Not sure about Bioinformaticians, though, should be possible too.

I don’t think that you really need a

highly skilled team

for django website. A decent team might be enough.

It depends on definition of “good”. Facebook/google level programmers are probably all moved to California (but it’s impossible to be 100% sure). But a lot of people choose to stay here for plenty of reasons. Someone doesn’t want to leave their parents, someone enjoys relatively low prices here. I think it is possible to build a highly skilled team in Ukraine. BTW, you can build international team, not only Ukrainian.

is it realistic to build a highly skilled team in Ukraine, at a superior value compared to hiring fx. another American remote team?

Cheap minds is a recipe for disaster %)

Как для пятничной темы, слабовато, хоть и оригинально..

There are a lot of companies from America that hire people in Ukraine and there seems to be no major issues. I can assume that there could be some difficulties with hiring as labor market here is different, but if you propose above avarage salary then you can choose better candidates. Aslo time shift can effect work but its not something that you cannot get used to.

If you can be more specific of things your are afraid of, we can give you better advice.

Don’t trust local management. Don’t let them choose technical stack or make any architectural decisions without an approval. Interview every single person entering the project. Multiply their estimates by 3x. Force them to track their work in details. Don’t give them an access to any important parts of your internal company’s infrastructure. Make sure that all the pull requests are being reviewed by skilled engineer on your side. Enjoy)

Have you read OP’s post carefully? He said ’Ukraine’, not ’India’.

IT in Ukraine is mostly autsorsing. Number of companies who want to hire talented developer and re-sell him for higher rate to US customers, is huge. But there are not so many talented delelopers — so concurrency is hight.
Because of this it is not easy to lure and hold true specialist. But candidates who call themselves specialist are numerous.
Skilled developers are picky and high-fed. They used to work on IT companies where they were paid for hours spent in office — not for the job done.
So if you use the same working model (hours billed) — about 50% of the working time they will be loafing. Just as in all other autsource IT companies do. And if you care about results — you better pay for results!
Also if you want to attract good developers — you need to offer them something beyond the payment. Like interesting idea, innovations, challenge, maybe shares, etc.

autsorsing

autosourcing

concurrency is hight

too many mutexes

autosourcing

sounds like mastubation but in software development

The ones we want to attract are just a few “true specialists” — intelligent, serious people.

For this kind of person, it is often very important for them what the purpose of the work is.

We have an extremely unusual idea (we look at DNA of human embryos. We can predict things about each embryo, and help choose one. Nobody has ever done this like we do...). But I am not sure how much of it I can describe in English, before it gets confusing.

There are some well made videos about our work (www.netflix.com/watch/80243752), but I do not know if the English is understandable to Ukrainian/Russian speakers. I think it’s important that the coder understands the ideas.

Do you think it would make a big difference to have the job posting translated to Russian?

If you want make predictions, why no data scientist in your list?

I do not know if the English is understandable to Ukrainian

Of course

Do you think it would make a big difference to have the job posting translated to Russian?

Bad idea.
However if you wish to rock potential applicants post in Ukrainian.

Do you think it would make a big difference to have the job posting translated to Russian?

No. Good dev must know English pretty well. All vacancies are usually written in English so it should not be a problem.

IMHO you should do the opposite. Make the english description of job and idea that complex, so only true almost native speakers can conceive it. This way you can truly rely on attracting right guys.

if the description looks unnecessarily obscure and complex, it can scare away right guys too. Whatever is well conceived is clearly said.

if “right guys” cannot understand English, they are definitely not “right” for IT job. Enough said.

Do you think it would make a big difference to have the job posting translated to Russian?

No, because:

  1. Information about modern tools/tech usually is not available in Russian/Ukrainian so we need to understand some English in order to do our jobs. If someone is not able to understand job posting in English, they might be not the one of “true specialists” that you are looking for. Also, you will need to communicate with the team in future, use JIRA, etc.
  2. For some developers job posting in Russian from American company might look suspicious and they will ignore it.
I do not know if the English is understandable to Ukrainian/Russian speakers.

English is quite well understandable here, but often poor speakable :)

Do you think it would make a big difference to have the job posting translated to Russian?

It makes no sense also because (1) your Russian or Ukrainian native speaker will be swamped with translating work while being technician (2) if you had a chance to listen to the conversation of local programmers, you would have heard a lot of English words :) and even on this pages IT terms usually are transliterated, not translated. Sure this does not work so with DNA terms for programmers... however guess those terms should be explained in details if necessary, but not translated.

Good luck.

I think it is the technical/scientific side of your project that would make it attractive to good candidates.
Your self-promotion in job posting sounds a little bit cheesy, but I guess its all right.
It also appears that you don’t know much about Ukrainian IT sector. You might benefit from hiring someone in US who had some experience with it.

Out of curiosity: how exactly can you guarantee that there is no damage to the embryo? I am sure that there are multiple other ethical and legal issues involved, but for me this one would be the most pressing.

The simple answer: children have been born from “tested” embryos for many years, they seem to be healthy.

Hello Laurent.

So, about your phrase-

it’s important that the coder understands the ideas.

For example, if we tell about some complex application from “quantum mechanics” sphere.
Should mid developer understand all formulas / ideas of “quantum mechanics” sphere, or he should just implements task, from PM/team lead side ?
What do you think about this?

Thanks.

Підписатись на коментарі