Building a Global Software Engineering Team

Putting together a global software engineering team can be hard if you don’t have the right scope. Here’s what you need to know before you start.

The Competition for Talented Software Engineers is Fierce

In the old days you could ignore the competition. You had the only cool company in town and wanted the very people who didn’t fit in the corporate environment of the day.

Today you have to compete with the big guys and the not-so-big-guys. And they all have more of everything than you: more brand, more mindshare, more money to offer, liquid stock, their products are used by zillions of people, etc.

So, what are the alternatives?

Think Outside the (Geography) Box

First of all, think outside your office. Do you really need everybody in your team to be sitting next to you?

Think outside your city. Does everybody in your team have to live in your city, so they can come to your office, and sit right next to you? Really?

For example, in Silicon Valley we believe that the people here are the best and brightest. And that’s a convenient myth, but a myth nevertheless.

Most of us are definitely self selected. We’ve moved here, away from friends and family. Most of us have a pretty high tolerance for ambiguity, and risk taking (sometimes to the point of gambling).

But we are not the bestest and brightest.

Consider Joy’s Law,

No matter who you are, most of the smartest people work for someone else. — Attributed to Sun Microsystems co-founder Bill Joy.

He said this about a company, but the same principle applies for any boundary,

  • Your office
  • Your city
  • Your country
Whatever the boundary, most of the smartest people are elsewhere.

There’s a whole world of talent out there. Embrace it as your own.

People live where they live for a number of reasons, including,
  • The high price of city living
  • They want to raise their kids elsewhere
  • With a better, less dense school system
  • Close to family
Some of these “other” places are well known as a source of talent outside the US. They are the traditional “offshore” destinations, like Eastern Europe and India. And places like Vietnam and the Philippines. In the Philippines, for example, college grads speak English. Finally, closer to home, we have all of Latin America.

So, the talent is “out there,” and it can definitely be made to work for you.

But there are differences, and you have to consider how they will play into your plans.

Are You Looking to Develop a Software Project or Product?

The first to be clear about is whether you are looking for help with a few projects or whether you need to grow your development team to expand your product or platform.

If we are talking about projects, then,

  • It is a short term engagement.
  • “They” can work on their own, without a lot of contact with you.
  • It’s probably simple enough that it can be specified in a short document.
  • Because it is a short-term engagement, cultural fit is not an issue.
  • Your main concern is to spend as little as possible.
When you add it all up, temporary contractors may be the right choice for projects.

In this case, Elance-Odesk or Craigslist may be just the thing for you.

To be fair, I’ve known people who have put together fairly serious software over time using this model, at times having three or four people working separately. However, that’s the exception, not the rule.

You may need to deal with, say, less than desirable experiences,
  • People “go away” halfway through a project.
  • Sometimes “the person” you start the work with gets replaced by another developer and you don’t find out until it’s too late.
  • When it comes to quality, “your mileage may vary.”
  • You agree on a price, but halfway through the project the price goes up considerably.
If you on the other hand, need help with your product, then you need a persistent team of skilled, committed people who share your values.

A few years back, a business guy had an idea for an iPhone app. He thought of it as a one-time project. He posted it on Craigslist, and a bunch of people responded. After talking with the most promising ones, he ended up contracting with a developer who had no experience developing mobile apps or Objective-C.

On the other hand, this fellow was otherwise a very experienced developer, very stable, and (AND) he was very up front about the fact that he didn’t know the iOS platform but wanted very much to learn it. He had been laid off recently (ca. 2008) and took it as an opportunity to learn a new, upcoming platform.

Long story short, they’ve been working together ever since.

So, what had started as a short-term project, ended up being a long-term relationship. And these are a few of the reasons why it worked,
  • They were both Americans and culturally aligned with each other and their market (i.e., the US).
  • They shared key, important values.
  • They were only two time zones away from each other (i.e., one in California, the other in Illinois).
  • They were also close enough that they did visit each other every so often.
  • They were honest and fair with each other from the beginning. For example, once their first app started to make money, they decided to change the model and actually shared the upside.
When you look at it this way, it is not a surprise the relationship worked. On the other hand, whenever any of these elements are missing or weak, then things will probably not work (i.e., even if you share an office).

Convinced already?

Let's have a quick discovery call. A 5-minute chat with us could add years to your life.

Partner with Encora

Co-located or Distributed Software Development Team?

Do you want your remote team to work out of a single remote office? Or can people work from their home or in a coworking space?

The co-located model is the standard model, so we know that works, albeit with some disadvantages.

What is the Right Engagement Model for your company

Assuming that you are going to grow a persistent, long-term team, then you need to consider the different ways you could do it at a remote location.

Are you going to do-it-yourself and hire them directly or will you get help from a local third-party?

If you do it by yourself,

  • You own recruiting at a remote location (i.e., you have to find people there).
  • If you are going to co-locate them in an office, you have to find a place, with connectivity, etc.
  • You must know the rules and regulations of the target location. For example, in Mexico, you have to pay severance to any employee you let go. In theory, you can skip this if you are letting the person go for negligence, but … you’d have to prove it, etc. So, in practice, whenever you let somebody go, you pay the severance.
  • You’ll have to learn to parse resumes from that part of the world. When I first started looking for people south of the border, I was totally misreading their resumes. People write CVs differently in different parts of the world, and I was, let’s say, naïve about it.
  • Also, you will miss out on good talent if you use English in every interview. For example, we first do an interview to make sure people can hold a fluent conversation in English. But then, we do the Profile interview and the Pair Programming exercises in Spanish. We want to get to the bottom of what the candidate knows, how she works, etc,
    • Does she know basic CS concepts well?
    • Does she know how, and, more importantly, “why” things work?
    • Does she know how to leverage her team or does she has to invent her own wheel every time?
    • Is she overly needy and can’t do anything unless somebody tells her how?

Interviews are high pressure situations and the “second language” factor adds to it. Worse, it prevents you from finding out about this person you are going to be working with.

You learn more about the person you are interviewing in their native language, no matter how good they are at their second language. Stuff comes out in their native language that would never come out when using their second language. Even people who are very, very fluent in English at work, may have a more limited vocabulary for topics outside work (e.g., their personal lives). And you want to learn about that as well.

In any case, we tried it both ways, and we found that once the person is past the “interview” stage and is now an accepted member of the team, then the focus goes back to the work to be done and the language comes natural.

If you decide to work with a third party, what do you expect from this company?

  • Do you need somebody to just provide infrastructure (e.g., office, connectivity, etc) and maybe help sourcing candidates?
  • Or do you want to partner with a company that works as an extension of your company and your vision?

Consider that, as a startup, working with a partner you can learn from can help you reduce costs, avoid mistakes, and save time in the long run.

Nearshoring Is
the Best Offshoring Option

Nearsoftians at Work

Eventually, you will be pushed to “go offshore” to save money.

The problem is that traditional offshoring does not work for software product development.

Product development is different from other forms of software development. It is a team sport and the team needs to stay in contact all the time. There are too many things that are discovered only through the creative process of building a new product, things that cannot be neatly written in a spec.

From that point of view, the traditional offshoring places are way too far in time, distance, and culture,

Nearsoftians at Work

India: 12.5-13.5 hours of separation; 22+ hours by plane (plus a couple of days of jet lag, both ways).

Eastern Europe: 9-10 hours of separation; 18+ hours by plane (ditto for the jet lag).

South America: once you get to the American continent, it starts to look more doable. I first looked at Argentina but it is four to five hours away from us and it’s pretty far and expensive to get there.

Central America: I considered Central America, but it has a tiny population that’s not well educated, and lacks in English skills. Costa Rica is the exception to this rule.

Costa Rica has the highest quality education system in the region. English is pretty prevalent in San Jose.

Like what you read?

Encora can augment your team with experienced engineers from around the world. Our glocal capabilities allow us to custom-tailor a software team to your specific needs. Encorians work hard to take ownership of their client’s products and make it a success.

Partner with Encora
Great Place to Work Wordblu Certified Freedom-Centered Workplace
© 2020 Nearsoft, Inc.

Let's Connect

All your info is kept private. We'll never spam you.

Send Your Resume!

Send us your resume and we’ll guide you trough the process of landing your dream job.