IT Outsourcing

Ignite’s Ultimate Guide to Working with Offshore Developers

New York. San Francisco. London. Berlin. Sydney. In any one of these major cities – and cities just like them – employing a software developer comes with an eye watering price tag. Not to mention the overheads (rent, equipment, perks, pension, and taxes) associated.

That’s why so many business owners are now looking to hire an offshore development team to offset the cost of growing their software business.

Going offshore gives you access to a wider pool of talent, without encountering the high rates or competition prevalent in the US, the UK, and other western countries.

However, before you take the leap and recruit your first offshore developers, there are a few things we think you need to know. Based on our years of experience in this sector, we have compiled 6 key learnings to help you make the transition from inhouse to offshore with ease.

In this article, you will learn that:

  1. Appointing an established offshore development company is easier than building your own distributed development team.
  2. The talent is out there – you just have to know where to look.
  3. Spending your budget wisely now will save you from a major headache later.
  4. The hiring process is the exact same – but look out for important cultural differences
  5. Implementing the correct team structure is vital for results.
  6. You’re only ever as good as your communication.

Offshore Developers: Meaning

Before we get to the first lesson, it’s a good idea to define just what offshore development means. In contrast to working with, say, a freelance developer in your own country, the practice of ‘going offshore’ involves hiring an outside organization to perform some or all of your software development in a country other than your own.

Offshore development vs. Onshore vs. Nearshore

Now that we’ve cleared that up, let’s jump into the first section:

“Appointing an established offshore development team is easier than building your own distributed development team.”

We know what you’re thinking: “You would say that, wouldn’t you?” But it’s true.

Engaging a ready-made solution to your software development challenge will always be more straightforward than building out your own from scratch. Consider the reason why you’re looking offshore in the first place; chances are you want to save time and save money. Building your own team takes time, and – you guessed it – it takes money.

If you’re faced with a significant software project, and a pressing deadline, it makes more sense to work with an experienced team with a proven track record.

However, in the interests of balance, we’ve pulled together the benefits and drawbacks commonly associated with going offshore.

Benefits of working with an offshore team

1. It’s faster and more efficient.

Instead of vetting each individual applicant, negotiating, offering terms and perks, and handling tax, you are dealing with a company who’ll deal with all of that as part of their own day-to-day operations.

2. You’ll typically pay a flat fee.

Instead of dealing with multiple salaries and timesheets, you’ll pay the company a flat fee to deliver your project.

3. It’s often more stable and reliable.

Naturally, this comes down to the company in question, but you’ll generally have assurances that you will have a stacked and experienced team for the duration of the project. If someone drops out through illness, or moves on to another opportunity, they will be replaced by someone else in the company without skipping a beat.

They’ll also provide their staff with the necessary tech, fast internet speeds, and a stable working environment – something you can’t guarantee when putting together a distributed development team.

4. You can easily increase capacity.

If the scope of your project changes dramatically, it’s far easier to increase operational capacity with an established company than it is to take time out of your busy schedule and interview and hire more staff.

5. It’s your team.

You get to set the culture and expectations. This means that if you have a particular way of doing things, you can establish this from the outset.

Drawbacks of working with an offshore team

When you work with an offshore development company, you are giving up an element of control.

That’s to be expected, but it’s something that many business owners find troubling, at least in the beginning. It’s therefore crucial that you take some time before appointing a company and undertake a period of due diligence to make sure you find the best fit.

Hear from Gil Fartook of Credito about his experience of building an offshore team:

Where to Find Offshore Developers

“The talent is out there – you just have to know where to look.”

Asia

When you think of offshore development, your mind might immediately jump to India, a country renowned for IT outsourcing. However, thanks to the overcrowded job market, and the size of the population, it can be difficult to identify an offshore developer who’s up to the task versus one who’s only interested in delivering code as quickly and as cheaply as possible.

Instead, many business owners are now looking to emerging offshore development destinations as an alternative to the likes of India, China, and the Philippines.

Eastern Europe

Eastern Europe is one such region. A great deal of value is placed on further education, programming, and new technology, but cost of living remains low. What’s more, developers in Belarus, Poland, and Ukraine typically speak English to a conversational standard. These factors combine to produce skilled individuals with affordable rates.

Offshore development rates in Eastern Europe are currently between $25 and $50 per hour.

Offshore Developer Rates by Country

Ukraine: an offshore development powerhouse

Education is a major priority in Ukraine. In 2017 alone, 40,000 Ukrainians graduated with IT certifications, and 79% of citizens have completed higher education.

But it’s their interest in – and commitment to – emerging technologies that marks Ukraine’s developers out as ones to watch. Mobile development, big data, artificial intelligence, augmented reality, virtual reality, cryptocurrency, fintech, blockchain; the list is endless.

Ukraine also boasts a strong web development community, with many front-end developers specializing in C++, Ruby, JavaScript, and PHP.

This diversity of skill, coupled with the affordability and acceptable time zone overlaps, has placed Ukraine on an upward trajectory as an offshore development option. So, the next time you think of going offshore, be prepared to broaden your horizons.

Offshore Developer Rates

“Spending your budget wisely now will save you from a major headache later.”

The main reason many business owners are drawn to offshore development is to save money.

After all, it’s incredibly expensive to hire an inhouse team of developers, especially if you’re based in a major city such as London, Sydney, New York, or Los Angeles. The high cost of living in one of those cities demands that wages are equally as high. And competition for talent is fierce, with companies wishing to attract the very best spending more on perks and facilities.

Against such a competitive backdrop – and a seemingly major shortage of talented local developers – it’s understandably attractive to look abroad for a better deal.

But going offshore to reduce costs isn’t a decision to be taken lightly. Here are a few things you need to consider:

Pick your criteria carefully

There’s an old saying in software development about wanting it fast, cheap, and good – pick two.

Offshore Development: fast, cheap and good

If you go for the fast and cheap offshore development team, you’re inevitably looking at a lower standard of quality, which in turn will result in a major headache further down the line. That’s why spending your budget wisely now will save you from dealing with problems at a later date.

And while it’s true that using an offshore team can reduce costs, it should never be to the detriment of the finished product. Get to know your options when it comes to offshore developer rates, and hire based on the most important criteria to you and your business. In other words, don’t be reluctant to pay for proven quality.

Take your time and choose the best fit

Undertaking a period of due diligence before awarding a contract to an offshore development team could be the single most important thing you do during the entire hiring process. When you look back on a job well done, delivered on time and carried out to your exact specifications and standards, you’ll be glad you took a little extra time at the start to choose the best fit.

What should you look for when carrying out due diligence?

  • Examples of previous (and similar) work.
  • Strong testimonials and customer reviews.
  • A clear understanding of modern technologies, techniques, and methodologies.
  • A clear picture of the organization, key individuals, and overall structure.
  • A coherent approach to security and error reporting.
  • A demonstrable ability to scale and overcome bottlenecks.

Invest in training and cultural exchange

Lastly, you need to invest in training and cultural exchange to ensure that your appointed offshore team acts in line with your company values, and understands how you want work to be carried out.

If you have a specific process or new piece of technology that’s integral to the entire project, you have to set aside budget and make sure everyone is brought up to speed. And by bridging any sort of cultural gap at this stage, you will pave the way towards a smoother, more efficient workflow between your inhouse employees and offshore developers.

How to Hire Offshore Software Developers

“The hiring process is the exact same – but look out for important cultural differences.”

From your point of view, the hiring process for an offshore developer should be no different to that of hiring an inhouse counterpart. What we mean by that is, you’ll have to review portfolios, conduct interviews, gauge abilities and personalities, and make a final decision.

In fact, the only real difference will be encountering a different culture. And for that, you need to be prepared. It’s simply not possible to work effectively with an individual or a team offshore if you do not understand them, and vice versa.

That’s why it’s mandatory to actually meet your offshore team in person. This will give you an opportunity to discuss your project in detail, observe their offices and their workflow at close quarters, and spend some time getting to know the key people in the organization. Some of our clients will come and work with a team for around a week, sometimes longer, and larger clients will regularly visit our office throughout the duration of a project.

Watch out for these key cultural differences

Even if the hiring process is the same, a difference in culture (both personal and professional) can very easily trip you up as you seek to establish a solid working relationship with an offshore development team.

At the end of the day, you need to have complete confidence that your team understands your project, your specifications, and your expectations. This means you need to build trust from the outset, and have an appreciation of key cultural differences, such as:

Low-context culture vs high-context culture

It’s vitally important that you pick up on the difference between a low-context culture and a high-context culture. Essentially, a low-context culture (the US, UK, Germany, Eastern Europe) relies upon words and facts, while a high-context culture (China, India) places more emphasis on trust and emotion.

Here are a few other differences between the two:

Contracts & agreementsExpected, encouraged and adhered toFar less important, with oral agreements holding more weight

# Low-context culture High-context culture
Style of work Task-oriented Team-oriented
Deadlines Very important Less important
Decision-making Logical Intuitive
Feelings towards change Acceptance Reluctance

Development methodology

While you might consider cultural difference to be entirely about language and custom, you must also consider professional differences, such as the preferred development methodology.

In certain parts of the world, people work better when given well-defined instructions and a strict workflow to which they must adhere. That’s why, typically, when working with offshore developers in countries such as India, Malaysia, or China, you will often see the Waterfall Methodology being used.

On the other hand, for more complex development, the Agile Methodology is preferred and used by developers in the US, Western Europe, and offshore developers in Belarus, Ukraine, and South and Central America.

Agile vs. Waterfall

If you wish to save time and money when outsourcing development work, it makes sense to look for a company comfortable with your preferred methodology.

General demeanour and attitude

Finally, it’s crucial that you consider general demeanour and attitude when thinking about cultural differences. If you’re based in the US, you may be accustomed to a level of politeness and positivity in the workplace that you may not find offshore.

For example, people working in Eastern Europe have a tendency to be quite blunt and forthright, however this does not necessarily mean they’re being rude. They may tell you that something isn’t good in a less than constructive fashion, but it’s important that you tune your ear to what they’re saying, and not how they are saying it.

Likewise, in India or China, developers are far less likely to be confrontational, and will tell you that something is fine rather than risk upsetting you. Again, if you choose to work with an offshore team in one of these countries, you need to dig a little deeper to get to the truth.

This brings us back to the point made at the start of this section: Take the time to meet your offshore team in person. A return plane ticket will be much cheaper than the cost of hiring the wrong team and having to start again.

Time zones

In addition to culture, you must also consider time when deciding to work with an offshore development team.

When utilized correctly, a team in a different time zone could help you deliver a level of productivity that would not be possible with an inhouse team alone. And this, in turn, can give your business a massive competitive edge when compared to those unable or unwilling to outsource.

However, if you fail to plan how exactly you will manage – and communicate with – your team, you could end up with the opposite; a slow, unproductive, and reactive development process.

In order to overcome these time zone challenges, you should look to appoint a software team that comfortably overlaps with your own working hours.

Here’s an at-a-glance view of the difference in time between major cities in the US and Europe, and countries renowned for offshore development:

# London, UK Berlin, Germany New York, USA San Francisco, USA
Costa Rica is… 7 Hours Behind 8 Hours Behind 1 Hour Behind 2 Hours Ahead
Mexico is… 6 Hours Behind 7 Hours Behind 1 Hour Behind 2 Hours Ahead
Brazil is… 4 Hours Behind 5 Hours Behind 3 Hours Ahead 6 Hours Ahead
Poland is… 1 Hour Ahead No difference 6 Hours Ahead 9 Hours Ahead
Ukraine is… 2 Hours Ahead 1 Hour Ahead 7 Hours Ahead 10 Hours Ahead
Romania is… 2 Hours Ahead 1 Hour Ahead 7 Hours Ahead 10 Hours Ahead
South Africa is… 2 Hours Ahead 1 Hour Ahead 6 Hours Ahead 9 Hours Ahead
China is… 8 Hours Ahead 7 Hours Ahead 13 Hours Ahead 16 Hours Ahead
India is… 5 Hours 30 Min Ahead 4 Hours 30 Min Ahead 10 Hours 30 Min Ahead 13 Hours 30 Min Ahead
Philippines is… 8 Hours Ahead 7 Hours Ahead 13 Hours Ahead 16 Hours Ahead

Managing offshore developers

You’ll note from the table above that in some instances, there’s a very small difference in time, whereas in others, the gap is quite significant. This means that, if you’re based in California, working with an offshore team in China 16 hours ahead can be incredibly challenging.

However, that’s not to say that it’s completely unworkable. Even the largest of time differences can be managed if you can identify a suitable overlap. For example, 17:00 in San Francisco is 08:00 in Beijing. You can therefore run meetings to cover what has happened Stateside, and discuss your expectations for your team in China for the day ahead.

That being said, it’s easy to see why Eastern Europe has grown in popularity as an offshore development destination. For Western Europe, the time difference is minimal, and for businesses based in the US, the time difference is very manageable – even if it does mean a few early morning starts for those in California!

Use a tool like the World Clock Meeting Planner to pinpoint the best times to schedule meetings.

Offshore Development Team Structure

“Implementing the correct team structure is vital for results.”

Offshore Development Team structure

Another clear reason for appointing an existing offshore team over building your own is that the company is likely to have a solid, reliable team structure in place – and one that can be easily augmented with more or fewer developers as and when required. Here are the key roles within an offshore team:

Project Manager (PM)

The PM is the glue holding everything together. They’re your conduit to the rest of the team, making sure the project is coordinated and remains on target and within your specified timeframe. The PM works with the development team leads to allocate resource, set agendas and processes, spot and overcome obstacles, and provide you with timely feedback.

Team Lead – Front-end (+ Developers)

The front-end team lead is responsible for managing the front-end developers, who are in turn tasked with implementing the visual aspects of a software application. Supported by the back-end developers (below), the front-end team bring your project to life with a focus on graphical elements, user experience and user interface design.

Team Lead – Back-end (+ Developers)

The back-end team lead is responsible for the back-end developers, overseeing their work integrating the front-end development. They work on server-side aspects of the project, and typically write the code and APIs used by their front-end counterparts for software, web, and mobile app development.

Business Analyst

A business analyst’s responsibility to your project is to manage your requirements, carefully analyze your business proposition, and work to develop technical solutions to your business challenges. A good business analyst will help bridge the gap between a functional piece of software, and one that’s commercially viable.

DevOps

DevOps is a portmanteau (a combination of words, in this case ‘development’ and ‘operations’). The person in charge of DevOps is responsible for bridging the processes between software development and IT, so that software can be built, tested, and released faster and more reliably. A good DevOps engineer can help pinpoint and solve critical issues, and manage unforeseen demands.

Quality Assurance (QA)

Finally, your quality assurance manager will define and oversee the in-house quality specifications and standards, assessing your requirements and making sure that these continue to be met throughout the project. They will also work with the PM and developers to ensure your software release is tested and bug-free.

Depending on the scale and criteria of your project, your offshore team will at the very least include these six roles as its spine. And missing even one could cause the whole project to collapse in on itself.

How to Manage Your Offshore Team

“You’re only ever as good as your communication.”

So far, we’ve established that hiring a ready-made team is often more effective than building your own; that spending your budget wisely now will save you from a headache later; and that you need to plan carefully for culture, time, structure, and talent.

But all of this will count for nothing if you do not implement clear and effective lines of communication.

Here are some quick tips to help you do just that:

You’re all in this together

It’s all too easy to fall into the trap of thinking of your offshore team as entirely separate to your inhouse employees. However, to succeed, you’ll want everyone pulling in the same direction – remote or not. Make sure your offshore developers feel like they’re a part of the team, and give them an opportunity to share in your company’s culture.

For example, if you’re arranging a team building exercise for your employees in the US, set up something similar for your offshore team. It will keep morale high, and allow your teams to share their experiences and establish some common ground.

Avoid lengthy, frequent emails

If there’s one sure fire way of guaranteeing miscommunication, it’s sending lengthy, frequent emails. Instead, use email sparingly, and when you do, make sure you get to the point quickly.

It’s a good idea to keep important project management discussions and decisions away from email. Consider using a dedicated project management software, or something like Slack for ongoing communication.

Stay one step ahead

To effectively lead an offshore development team, you need to be proactive – not reactive. Stay one step ahead of the next day’s tasks, especially if your team is awake and working halfway around the world while you’re sleeping. That way, you can feel confident that when you clock in the next morning, everything remains on track.

Never assume you’re being understood

As discussed earlier in this article, certain cultures will seek to placate you in order to avoid confrontation. This can make communication challenging, and it’s therefore vital that you always seek clarification that you’re being understood. If you get the feeling that you’re only hearing “yes” because that’s what they think you want to hear, speak up and make sure you’re on the same page.

Set clear, measurable goals

Vague specifications and fuzzy deadlines won’t win you any admirers in your offshore team, so it’s a good idea to set clear, measurable goals from the outset. That way, you can monitor progress, identify bottlenecks, and overcome obstacles, rather than risk costly delays brought about by unclear objectives.

Synchronize schedules

Make sure you know exactly when your offshore team is available, and we don’t just mean their office hours. You should also have a note of their vacation times and local holidays so that you can build this into your project’s timeline.

Embrace collaboration

It’s never a good idea to keep your offshore team at arm’s length as you make big decisions over your project’s direction. You’ve hired them for a reason, and they’re at the coalface of your software’s development, so bring them in on discussions and ask for their expert opinion. Otherwise you could risk friction by taking an unpopular decision without first explaining it.

In Summary

The beauty of going offshore is that it opens up an entire world of possibility. You are no longer restricted by geography, and you don’t need to compete with other businesses over an increasingly dwindling pool of local talent.

And if you take on board what we’ve shared in this article, you could identify and appoint an offshore software development team capable of taking your business to the next level.

How Can Ignite Help?

Based in Israel and Ukraine, Ignite can provide your business with custom software development via an Agile methodology, all delivered by some of the sharpest, most talented developers in Eastern Europe.

If this article has convinced you to take the first step towards offshore development, we’re ready to take you the rest of the way.

Simply complete our contact form to get started.

Leave a Reply

Your email address will not be published. Required fields are marked *