- Product Driven Newsletter
- Posts
- Why I Avoided Offshore Software Development... Until I Accidentally Used It
Why I Avoided Offshore Software Development... Until I Accidentally Used It
After avoiding using offshore for years, I finally figured out how to make it work
Software developers are everywhere!
We all know someone who hired software developers from India, Eastern Europe, and Latin America. And there are many other common offshore development destinations out there.
Early in my career, I would hear random stories from people who worked at big tech companies with developers in India or elsewhere. Those stories all had the same things in common.
They hated working with those developers for the same reasons that offshore development still fails today:
Significant language and communication barriers
Schedule adjustments for late-night meetings with the offshore team
Low work quality
Project managers can get in the way
The stories I heard over and over were ultimately the same:
“It was a pain in the neck to work with them.”
“It was hard to understand them. They didn’t follow directions, and we had to rewrite all the code they produced anyways.”
“It was easier to just do the work myself.”
If you have to redo all of their work, what the heck is the point? The stories I heard kept me from using offshore developers. For every ten people that told me how much they hated it, I would hear one that liked it.
Then, one day, I accidentally hired offshore developers.
Going East: How I Accidentally Hired Russian Developers
At my second startup, Stackify, we were building application performance monitoring software. We had to build support for both Windows and Linux servers. My team and I were C# developers and could handle the Windows side. We decided to write the Linux support in Java but struggled to find any Java developers in the Kansas City area.
A friend of mine owned a dev agency and told me he had Java developers. I worked with his company so a couple of Java developers could help build our Linux monitoring agent. We trusted him and assumed he had good-quality developers. We didn’t interview them or anything.
I will never forget the first phone call with these developers.
To our amazement, they were in St. Petersburg, Russia.
To be honest, I was kind of perturbed at first. I couldn’t believe he didn’t tell us they were in Russia. I was also surprised that we were paying Kansas City rates to hire developers in Russia (which I assumed would be less expensive).
(Please note this was in 2012. Long before the Ukraine conflict. As of today, I wouldn't hire developers in Russia.)
Nonetheless, the developers were awesome. Their English and communication skills were good. Their work quality was excellent.
I was right to trust in my friend’s judgment, after all. Russian developers or not, they were still great developers. They helped us build the solution we needed and get it to market.
We worked with those developers for a couple of years and had a great experience.
Going South: Trying Latin American Developers
Remember how I started this article by saying I had heard nothing but horror stories from other people using offshore developers? Well, after having developers in Russia, I had seen some success. I was ready to try it again. My friend’s dev agency was great but very expensive.
While my first experience with offshore developers was an accident, my second experience was not. Here’s how it happened.
This time around, I decided to give Latin America a shot. Countries like Uruguay, Columbia, Costa Rica, Brazil, and others were rapidly growing their base of development talent.
After some googling, I found a firm in Uruguay. I contacted them because I also needed help building a separate startup idea from Stackify. I wanted a separate team that could handle this entire business idea.
They provided something that was super critical for my business. And that I will never forget it: a proxy product owner.
I was the product owner; I had the product vision. But I didn’t have much time to dedicate to the project. So, having someone who could be my “proxy” made perfect sense.
This person on the team worked as the product owner and project manager. We had regular meetings to review requirements, mockups, the roadmap, etc. And he did an incredible job taking my ideas and iterating on them to build the product. This was important because it let me focus on my main startup company.
Ultimately, they built an MVP of the product idea, and I put it on the shelf. I was so busy with my main startup that I just couldn’t give this the time it needed to be successful.
I had a great experience with that dev agency. In fact, I hired a couple of developers from that same company to work at Stackify. They were also a great dev agency partner.
After working with two great dev agency partners, I was two for two doing offshore development.
For Stackify, our next big push was to build support for our product for multiple programming languages. I needed to hire 10 developers.
As a bootstrapped/lightly-funded startup, could I hire developers in the most affordable way possible?
Going West: The Philippines
My friend had developers in the Philippines. I heard how nice the people were and how amazing the talent from the Philippines was. I knew a couple of people from the Philippines, and they were the nicest people I had ever met. They had impeccable English.
But other than that, I knew nothing about the Philippines or Filipino culture.
Software development is all about communication. Being able to convey to someone else why we are doing this and how we need to solve the problem determines success or failure. Because of that, I strongly prioritize English and everything related to communication skills.
The Philippines was less expensive than Latin America. They had stronger English fluency and were the nicest people in the world. My friend also had some employees there already, and we could build our own team.
That was a winning combination for me.
The only negative thing I could think of was the time zone difference. The Philippines was 14 hours ahead of Kansas City time zone-wise.
But here comes the good news! It was common in the Filipino culture for people to work in the evening or overnight shifts for US-based companies. They shifted their work schedule to overlap half of their hours with me. That was about the same overlap we got in Russia as well.
The time zone overlap created another great benefit that my team loved. The team in the Philippines could handle on-call, which was a huge win!
In 2018, my friend and I got a small office there. I hired a team that eventually grew to over 20 developers for Stackify. That team ended up being a big key to the success of Stackify and our eventual exit in 2021.
Luckily, when we set up that team with my friend, we set it up as its own company. It worked so well for me that all my friends and connections also wanted to take advantage of accessing dev talent in the Philippines. We hired 100 developers in the first year. And that accidental business turned into Full Scale.
Why Offshore Development Worked
After hearing nothing but horror stories about offshore development early in my career, I have had positive experiences with it three out of three times.
Why did everyone else have so many horror stories? Why did I have success with it?
Reason #1: Location
One reason is that I likely did it in Eastern Europe, Latin America, and the Philippines. I avoided India, which seems to be the hardest place to do offshore development and get it to work well. For whatever reason, people struggle to make it work in India. And those struggles are what you usually hear about.
Reason #2: Teams, Not Projects
I used offshore to do staff augmentation, not do project work. Most offshore collaboration fails because people simply hand a bunch of requirements over to an outsourcing firm. Then, they expect to get back a successful project.
Offshore works much better when you hire talent to work directly for you on a long-term basis. Don’t hire them just for a project without having an idea what developer is doing the work.
Reason #3: Team Structure
Another key to my success was mixing local talent with the offshore talent I used. I always had my lead developers local, and they were able to break down the word and direct the offshore teams.
This hybrid mix of local and offshore worked very well. At Stackify, we had up to four teams going at a time. The lead developer in Kansas City manages more or less 2–5 offshore developers.
Why I Love Offshore Development Now
I started my career avoiding offshore development due to the horror stories I heard from everyone else. Then, I went from accidentally using offshore to loving offshore (once I figured out when and how to use it).
Offshore isn’t right for every scenario, though. And I still believe the best answer is a mix of local and global talent. If your company can afford it and you have existing local talent, I think augmenting them with offshore is always the best formula.
Does offshore development work?
Offshore absolutely works. Since I built my own team for Stackify, I have helped over 100 other companies build offshore teams in the Philippines at Full Scale.
There is software development talent all over the world. You must remember that 90% of software developers do not live in the United States. If you want to tap into global talent, the key is finding the right offshore development partner.
Please check out these articles for more tips on managing remote teams and offshore development.
This article was originally published on the Full Scale blog.
Reply