If you have ever tried to hire a talented developer in the US, you might have ended up looking elsewhere soon enough. The global talent shortage and urgent need for exceptional developers force US companies to look for developers outside the US. One of the most popular ways to find talent quickly is by contracting dedicated developers from outsourcing agencies in Eastern Europe. A manageable overlap in working time, hard-working mentality, and thousands of development companies competent in collaborating with the US businesses make this region rather convenient for cooperation. However, what’s more important, in contrast to their colleagues from the US (who typically have a broad expertise coding in different languages), engineers from Eastern Europe quite often specialize in a very narrow set of technologies. Therefore, the chances of finding an expert with 7-10 years of experience in a particular technology are much higher. Fortunately, that’s what many US startups are looking for—expertise that can quickly and easily be added to their dev team.
A type of cooperation, when a product company contracts an expert from an offshore dev shop, is called staff augmentation (or team extension). We spoke with a Ukrainian developer who has been working as a contractor in a US company for a few years now. We asked about peculiarities with the hiring and onboarding processes, remote work, and culture differences. Enjoy the read!
YouTeam: To start, how would you describe your experience with working for a US company as a contractor?
Developer: To keep it short, I’ve spent four years in front-end (mostly React and React Native) working on four projects. Right now, I’m in my third year with the current project.
YouTeam: What is the project about?
Developer: It is a service for video distribution and review. You can think about it as Dropbox for video creators. Our main focus is on the fast upload, download, and the ability to review video assets (raw footage or edited clips). With the software’s help, the project manager can review the clip, draw on the video, or leave comments with time codes. And also, an important feature is access management. So, for example, if the footage is of an upcoming TV series, there are some restrictions. It should not be leaked to the public or media. However, users can share some sections of the footage, revoke access, share it with specific, authorized people, share for a specific time, et cetera.
Our product is already in production. And it has active clients that I was working with.
YouTeam: And what is your role in this project?
Developer: Until recently, I was working on a React Native Companion app that allows access to some parts of this functionality. And now I’m working on the main website.
YouTeam: How many developers are involved?
Developer: We have four or five teams with between two to five people, with each team working on a specific area. So, for example, I was working on the team that was managing the supporting applications, the React Native app for Android and iOS, as well as the AppleTV app and some extensions for the Adobe products that allow you to integrate it with our service.
My current team is dedicated to solving any existing production issues for our clients. Another team is working on new functionality and features. And yet another team is refactoring and optimizing what we already have.
YouTeam: Is your whole team fully remote and distributed across different countries? Or do you have a core team working at the US office?
Developer: Our company was US-based until recently. The core staff and the team leads in all the departments are the US software engineers. But not long ago, our company started hiring contractors from other countries, mainly from Eastern Europe. Currently, the company is finding success with hiring from Belarus and Ukraine. Interestingly enough, each team now has a contractor from Eastern Europe.
Also, recently because of the lockdowns and current situation with COVID-19, plus with half of the engineers working outside of the US, the company has increased the amount of remote work.
YouTeam: We write a lot about this transformation of work after COVID-19, and it’s always a pleasure to see an actual example of a company that adopted it so quickly. So, you have worked with this company for a few years now. Do you remember how you found this job? Or was it the other way around— the hiring manager found you?
Developer: In my case, the project that I was working on before had ended, and I was open to new opportunities. I happen to know the recruiter—a friend of mine who was working for a recruitment agency that connects engineers and companies. She got my CV and found this opportunity. She connected me with a software company based in Odesa (Ukraine), who, coincidentally, were the clients for my current project.
I think the company was looking for a person with good English skills. So maybe that is why I turned out to be a good match for them.
YouTeam: So formally, you’re employed by a Ukrainian outsourcing company, but you work with the US client directly, right? Do you have any managers on the Ukrainian side?
Developer: The software company that I’m working with in Odesa has different types of relationships with our clients. Sometimes clients have their in-house project managers. In other cases, the entire team, including team leads who handle all the processes, are Ukrainian and based in Odesa or Kyiv. Such teams have some goals set by the client.
But my case is a little bit different because the project management and all the management is done on the US side by the client. So in some ways, I’m like a remote contract worker—it’s called engineering staff augmentation. I think this is less common for Ukrainian outsourcing companies, but I really enjoy it. I don’t have a middleman, and I can work directly with the clients.
YouTeam: So then, what do the hiring process and interview stages, in particular, look like in such a collaboration model? Did you interview with the Ukrainian company first and then with the US team?
Developer: First, my CV was screened by the company in Odessa. They were the ones that thought that I was a good candidate for the US client. So I was invited to an interview in the Odessa office and we had a video call with the VP of Engineering from the US.
I still believe that my case is not so common because the interview was quite broad. We did not delve into technical details. I was asked some general tech questions, but there was no real coding involved.
We talked for about 40 minutes, and I was told that they were ready to offer me a 3-month trial period. This time was needed for my onboarding and for the company to understand if I’m a good fit for their team.
YouTeam: And what exactly did this onboarding process look like? Was it two parallel onboarding processes as you joined both teams at the same time—Ukrainian and American? Was it confusing for you personally at the beginning?
Developer: I won’t say that it was too confusing. When I started working, I was working from an office in Odesa. My Ukrainian company provided me with a laptop, a workspace, and other organizational stuff that I needed. I had some formal onboarding training where they explained the work conditions, ethics, and other general SOPs (standard operating procedures). They did not onboard me on my actual work because they were not involved in it.
And now, after quarantine, I’m working fully remote. I feel that my connection to the Ukrainian company is getting weaker as my daily communications are only with the US client.
But of course, I still have some minimal interaction with my local office. For example, I send them the number of hours I’ve worked for the report (because the Ukrainian company is my employer of record and pays me a salary). Similarly, if I need a vacation, I put in a request, but that’s it.
YouTeam: That’s interesting that your Ukrainian employer needs to approve your vacation. Because you probably first need to approve it with the US team? So some processes look doubled.
Developer: Yeah, that’s interesting. But there are some benefits. Here’s an example, my client works with some software engineers from Eastern Europe directly, without using the services of Ukrainian-based software companies. And I feel like compared to these contractors, I’m protected by the laws of Ukraine because I’m employed by a Ukrainian software company. If it’s a Ukrainian holiday, I feel like I’m backed by my company that is saying, “Our employees are not working on these days”. And the contractors who are working directly need to explain to their clients like, “Hey, this is a holiday in Ukraine… And I’d like to take it as a vacation… Despite the fact that the US office is working… Because my friends and family are not working today… And I’d like to spend the holiday with them…”. So sometimes, I feel like it would be easier to work directly. However, there are also times when I see the benefits of having this ‘big brother’ helping you.
YouTeam: So, onboarding at the Ukrainian company was more of an official and organizational part. And what about onboarding within your client? Did you feel that they onboarded you as an actual team member or just as a remote resource? Did your managers talk to you strictly about your tasks, or did you get involved in company life?
Developer: I feel like they actually involved me in the same way as they would involve a US software engineer. But at the same time, of course, I feel that I’m a remote worker. And a US guy in the office receives much more attention than a remote guy from Ukraine. So sometimes, I felt that I needed to remind them about myself like, “Hey, what do I do next? Do you have any plans for me?” But anytime I was showing initiative, they were very responsive. In my opinion, the onboarding was very good and even relaxing.
During the first two weeks, I needed to complete proof of concept. It was a demo project with the basic logic of the main application of the service. So I needed to build a smaller, simpler version of the actual product. I think it was a really cool idea to give me this task. And very helpful for my further work. At some point, I received feedback on my work and was asked to use some specific technologies that I wasn’t familiar with. I had two more weeks to learn them and finish the task. That was interesting and I had more than enough time, so I didn’t feel stressed.
Once I’ve completed it, I started my actual transition to my team, got to know my first team lead and the team’s goals.
YouTeam: And during your work with this company, were your interactions limited to the dev team only, or did you get to know and communicate with other departments also?
Developer: I would say, on a daily basis, I work closely with my dev team. But when I need some clarification, I’m not asking my team leads to get this information for me. I can do that myself.
I’d say that our company is really flexible. We have a lot of stakeholders like the CEO, or the product manager, the design team, the support team, etc. So, because of that, I know many people in the company. So when I’m acquainted with the person to ask my question, I just approach them directly.
For example, if I’ve got a bug from the support team, I ask the person who opened the issue to validate it directly. If some of the requirements of the new feature that I’m working on are not clear, I’m approaching some of the product owners or the people who make the decisions and how the functionality should look directly.
YouTeam: Did you have any problems collaborating with people from another working culture? Did you manage to adapt to their style of work?
Developer: I believe, yes. I actually enjoyed the opportunity to work with the people from abroad, especially from the US—the country that gave birth to all these technologists. I feel like a privileged person. The opportunity to speak English is another benefit of my work. I would prefer this kind of experience over the normal experience of working with the Ukrainian team—because it feels more like a rare opportunity. I have more to learn from that. But it is not so easy.
At the beginning, I suffered from a bad case of imposter syndrome. I felt like the whole US team were badass programmers and that they might see me as a cheap coder from overseas.
And also, the working ethics and the attitude are really different there. All of our team members from the US are really easygoing. And some developers from Eastern Europe, including me, were confused when our American colleagues were asking us even something as simple as how am I doing. I didn’t know if I was expected to tell them a story or not. 🙂
So there are definitely some cultural differences that you need to adapt to, but the good thing about the US guys is that if they want to hire someone from abroad, they’re prepared for possible communication problems from the beginning. But if you do a job, I feel that it has to be a really good job. After some time, all the other guys and I adapted to each other.
YouTeam: And what about the time difference? Was it a challenge?
Developer: Not for me. There’s a six-hour difference between the European and American offices. They start their work when it’s 4 pm here. We agreed that everyone could work whatever hours they wanted as long as we had at least two hours of overlap. That kind of flexibility is really cool.
Unfortunately, I feel like I have to answer too many questions in the evening. So you should really be prepared that sometimes you’ll need to work, or at least be available later, or you need to adjust your hours.
The problem is that some questions can’t necessarily be answered or resolved within two hours, part of which is booked for standups. Or sometimes a big client is having some issue, so they can ping you in the evening. So I feel like most Eastern European guys are somehow forced to switch to LA time for work or at least be available later than (our) regular business.
YouTeam: Thank you for sharing the behind-the-scenes of staff augmentation with us. YouTeam is deeply involved in this space: we help startups find the best matching software developers from outsourcing companies in Eastern Europe and Latin America. So it was very interesting to hear how this system works from your perspective.
Lastly, I’d like to ask if you could give any advice to US managers who are looking to hire Ukrainian developers. Something that you’ve learned over the years. What should they be ready for?
Developer: First of all, I think that it’s hard to give them advice because the USA is a country of immigrants. It’s a country where diversity, acceptance of difference, understanding of various backgrounds, cultures, and points of view is a cultural code. So they’re really good at accepting new people.
But if we are going to speak about their experience with the Eastern European developers, specifically, I would say that they should be prepared that people may seem cold, closed in their shell, especially at the beginning. Because we have a different culture here where we do not overshare and express ourselves as much as in the US.
Also, we are really straightforward when we express our thinking, the US guys are much more diplomatiс.
They should be ready that offshore developers can be very shy and can suffer from imposter syndrome, so they might need time to feel comfortable.
I would say that generally, the restrained behavior of Europeans when getting to know each other can be a little bit uncomfortable for the US people. Imagine quite a typical situation: at the beginning of our daily stand-up, the US team starts asking, “How’s it going? How’s the weekend? Do you have any plans for this week?” and so on. And they really start discussing this. While the Eastern European part of the team simply was not used to this type of more personalized interaction—we are used to getting straight to business. So we were a little bit lost. On the other hand, the US team felt a little bit uncomfortable because everyone from abroad was awkwardly silent, so they didn’t know what to do either.
So I would say be prepared for a little bit of coldness in the beginning, but that shouldn’t be a problem. You are going to warm these guys up.
To keep the interview honest and unedited, we didn’t include the names of the companies our developer was working for.