Where are the Best Software Developers?
Writing an article on where in the world to outsource software development can be tricky. After all, it involves making sweeping statements about the characteristics of entire populations. There's a real risk of overgeneralizing, not to mention being politically incorrect.
Nonetheless, I'll say it: based on my extensive experience in the field, I'm a firm believer in software outsourcing to Eastern Europe. In this blog entry, I'll explain why.
The Case for Offshore Software Development
Before I get any further, I need to address one question: What's wrong with American developers?
First of all, let me say that there are some great software developers born and bred in the United States. I attended a top engineering school and met plenty of brilliant engineers who seemed touched by divine intervention. (Admittedly, I don't fall into that category.)
The problem is an issue of quantity, not quality. The engineering profession is simply not as admired here as in some other countries, and it's a path that fewer young people choose to pursue. To cite just one example, Ukraine, a country with about 1/7 of the population of the United States, produces about half the number of American engineering graduates each year.
The economic result is that American software developers — even the mediocre ones — are too expensive. So unless you are Facebook (or have convinced investors you're the next Facebook), the cost of exclusively sourcing locally can be prohibitive. After all, overspending on R&D puts a strain on any business and forces "perfect execution" on company goals, which is a dangerous requirement.
This situation reminds me of Moneyball: The Art of Winning an Unfair Game, Michael Lewis' book about baseball's Oakland A's. Spoiler alert: the book tells the entertaining story of an under-resourced team that used statistics and evidence (instead of tradition and superstition) to win against much better funded organizations.
By outsourcing software development to Eastern Europe, you're playing Moneyball.
Eastern European Software Developers Are My Favorite
Over the past couple decades, I've worked with software developers from all over the world — Belarus, Brazil, Canada, China, Costa Rica, India, Poland, South Africa and Ukraine. My experience suggests that when it comes to producing great software engineers (sans USA), Eastern European countries have distinct cultural benefits over other regions.
For example, engineering is a highly revered profession in Eastern Europe. The math, science, and engineering disciplines are generally popular at the universities. Young people actually want to build careers in software development. And when they enter the workforce, they tend to be craftsmen who are eager to sharpen their skills by working on challenging projects.
In contrast, I've found that in many other cultures, engineering is seen as a stepping stone to becoming a manager. Young people are more inclined to put in the requisite time in an engineering role, but with management being their ultimate goal.
Eastern European software developers also tend to be highly logical and vocal in identifying problems earlier in the development process. I greatly appreciate both of these traits. An important Scrum /Agile philosophy is accepting that all software projects have problems. The key is to find the problems as early as possible. Therefore, it's critical for remote teams to be proactive in pointing out problems, issues of concerns and areas that need more clarity.
Again, in contrast, saying "no" to the boss or to the client is difficult for people in many cultures — especially when there's a hierarchical structure. Notoriously, in some other cultures, "yes" can mean many different things: "maybe," "I hear you but don't understand," "I'll do my best," "I want that outcome too but it's not my responsibility," etc. For remote teams, this ambiguity can be disastrous.
Lastly, it's worth noting that Eastern Europeans are highly proficient in English. This is so important because it's easy for ideas to get lost in translation, even among native English speakers. I've always been very comfortable with the English skills of Eastern European engineers with whom I've worked.
Add it all up, and it's no wonder Eastern European software developers have been at the heart of many of my most successful teams.
Not All Developers Were Created Equal
To get back to an earlier point, I realize the dangers of making generalizations about the quality of a country's or region's engineers. Obviously, not all software developers were created equal. No matter where you're talking about, there will be some strong developers and some weak developers.
But in an era when worldwide demand for software development talent has given birth to countless outsourcing companies, you need to make an informed decision when choosing one. And at Newfire Partners, we feel great about our decision to place our bet on Eastern Europe. It's a big reason why we're well-positioned to help our clients bring innovation to market.
Stephen S. Hau is the Chief Executive Officer of Newfire Partners, based in Boston, USA with operations in Lviv, Ukraine. Since earning engineering degrees from MIT, Steve has co-founded software companies (PatientKeeper, Shareable Ink) and served in a variety of senior operating, advisory and board roles. Along the way, he has helped launch a number of products and put over $100 million of venture capital to work.
Sounds like you are self-serving. You might have to choose Ukraine because of your business contacts. I have lived and worked with IT guys in Ukraine. Are they good yes, But are they the best in the world, I do not think you have enough data to proclaim that statement?
I know for a fact the education system in Ukraine University is very poor. Much worst than an MIT. You cannot compare the two in education. You did not mention India, which has over one million IT people. I know you are going to say their codes are weak. Why are the largest companies in the world working with IT companies in India and not Ukraine?