The same could be said of Argentina and some cities in Brazil, with the added benefit of being closer (timezone-wise) to the US. Don't know what's so special about Romania besides it being part of the EU.
A friend of mine (who recently moved down to Argentina) was saying Argentina would be a great place to recruit -- if you have any information about this I'm sure HN would be interested.
I'll tell you what so special about Romania.
1. We are learning foreign languages nowadays even from kindergarten (computers too). Even on the communism times we learned English and other foreign languages (myself I learned since I was 8 years old).
2. Strong theoretical learning in math and physics.
3. Proximity to Europe (this article doesn't address just the US market but also Europe)
4. Imagination and creativity of the people. We were used to not having things so we tried to be creative about them, make them somehow. I didn't have toys when I was a kid so I made my own toys (including functional model rockets and airplanes). We cam accomplish a lot with less resources and you don't have to micro-manage us (and I had bad experiences with micromanagement of some outsourced people from Asia - they couldn't do anything without me telling them in detail what to do).
5. Being part of EU and NATO is no small advantage. That means the country is secure and changes of regimes (like we see in South America sometimes) are not possible anymore (not to mention wars - how's Argentina doing with Britain?)
I know a great team of devs in Romania. They were really good and really moved my project forward. Send me an email if you want an introduction (I have no stake in it, I just like them and want to help them get good projects).
I don't understand why Poland is not mentioned in this article. I know a lot of Polish engineers working on H1B in a valley, but I don't know how exactly this number compares to Romanian engineers. What's more, at Microsoft, Facebook, Google and Nvidia Polish interns were the largest group of interns on J1 visa last year (as far as I know J1 is required for all countries except USA and Canada).
Also, a lot of arguments stated in this article also hold for Poland.
That's the thing, Romanians are also natural born 'poets', i.e. lateral thinkers. There is a lot to be said about Romania, place of real cultural confluence, turks, germans, hugarians, soviets, greek-ortodox, communist yet latin background, etc. It's not just about the codding.
Yes but they do vary in how they catch up with the developed world levels of compensation. Warsaw developer here - the IT job market here definitely feels the effects of the UK opening their market, not to mention local hiring by companies like Google (they have offices in Cracow & the more recently opened in Warsaw.) Curiously, not a lot of people seem to leave for greener pastures in Germany.
The long and short of it was that it was nice to put in requirements late in the day and have them done in the morning but overall the code quality was terrible.
We had a Romanian developer here in the States and he was great. He was in charge of the Romanian contingent so he could have been a bit better on the code quality control side but corralling 15 coders is not an easy task so I don't blame him.
I am sure there are a lot of talent around the world but a lot of them make their way to the States or other higher paying Western countries under visas and leave the average back home a bit depleted.
I've seen the same phenomena in Pakistan and India as well. Great Pakistani and Indian devs here in the States and mediocre coders back home.
I'm a Romanian and I'm still living in Romania, working remotely for U.S. companies.
First of all, I do not agree with what you're saying. A lot of people do not leave the country, simply because of our culture. We are used to live close to our families, we are used to live close to our place of birth. We are not as disconnected as other nations.
I have ex-colleagues that were hired by Google. At least one of them preferred their Zurich office to be closer, even though he is so capable that he could have chosen any of their locations. I also have ex-colleagues and friends that refused to work for Google or Facebook and that are still in Romania. Including myself.
There's something often not said whenever people talk about outsourcing to Eastern European countries: foreigners often come with high expectations, in exchange for peanuts. This article says that you can find a great developer for 2000 EUR. That's true, but that's also peanuts and those developers getting paid with 2000 EUR won't stay interested for long and if they do for the long term, they'll just put the minimum effort into it, while doing their own thing.
I very often get invitations from U.S. companies to join their projects. Because I like to stay up to date with the pulse of the market, I accept to participate in many interviews. However, because I don't want my time wasted, I talk about salary expectations early on. And I can't tell you how disappointed I get, as companies that have quite the reputation come to me with salaries that are somewhere between 1000 EUR and 2000 EUR ... which really, is downright insulting.
Also, companies that have a large development team in the U.S. tend to outsource the throwaways. This is another thing that's often not mentioned, and I'm sorry, but you won't get the best developers here with this attitude.
Now, do not get me wrong. I love working for U.S. companies, but do not offer peanuts or throwaways, otherwise you will get monkeys. And when reading pieces like the above, remember that context is everything.
"And I can't tell you how disappointed I get, as companies that have quite the reputation come to me with salaries that are somewhere between 1000 EUR and 2000 EUR ... which really, is downright insulting."
Ugh! That is /terrible/ for talent anywhere to have to put up with.
We have two developers, one Turkish and one Indian who worked for us here in the States for several years each. Excellent developers. Now they both remote in from their home countries and still make their original salaries. I think that might be a decent model for those that can do it. Move to a host country, develop the trust that only working in the same office can give, then carve out your own situation as you see fit, whether it is travelling the U.S. in an RV, or moving to the deep suburbs or moving back home even if that home is on the other side of the planet. Overall it will accelerate the trend to parity all over the world.
I suppose one has to strike a balance between wages and quality. For this reason I suspect Poland might be a better option right now; it is now the 7th largest EU economy and one of the fastest growing in Europe (in no small part due to a good deal of foreign investment). Practically, on the ground, that means people are not as keen to leave for the West as they once were, leading to an increasing number of quality developers.
I suspect Romania's time has not come just yet, though it's definitely one to watch in the coming years as this effect of investment travels progressively eastward.
IT people from Romania are not leaving for the West as much as the West imagines. And part of those that leave come back.
Working in IT in Romania is a good position socially and economically. You have a good salary and you are part of the middle class from the start.
If you just want to have a normal career and a family life there is no reason to leave Romania for the West.
So, the number of quality developers isn't influenced as much by this.
It's influenced much more by our education system which imho is failing and by the very same local (multinational) companies that want worker bees and don't know how to grow their own people.
There isn't a talent shortage. There's a shortage of courage to hire anyone with less then a Google-level CV and of will/ability to mentor them.
The 4 * 2 hour reviews + coding test + references + logic questions + firewalking culture is ridiculous. It might make sense in places where firing employees is extremely difficult, but not in NYC or SF.
%99 of the jobs supposedly in "shortage" could be filled by anyone with an attitude for programming, self motivation and a good mentor. Look at the current products of Silicon Valley - how many of these require much more than basic web development skills?
There's no economic incentive to hire anyone below the top decile. Assuming you believe the "10x" rule (which says that there is a 10x productivity delta between the best and worse developers), I get the best bang-for-the-buck by hiring the best developer I can find.
Even if compensation did scale linearly with productivity, two programmers with productivity X are still worse than one programmer with productivity 2X since communication costs grow as the team size grows.
I wouldn't be a prudent businessman if I didn't fight relentlessly for the best developers...
Of course you should hire the best dev you can find (though I seriously doubt its possible to tell who'll be the best for you - both in terms of skill and, as importantly, personality).
Personally I don't believe in the x10 rule. It might have been true when you had to code your own servers in Lisp to build a website, not when you build a Django CRUD app.
In any case, when you mentor someone, they may turn out to be that top %10 dev.
But..but..Everyone's told me that A players only hire A players, and hiring anyone else would sink my company. I'm an A player and only Linus himself will be good enough to write my CRUD app. I wonder when he'll be available..
Romania has some pretty smart people and their best do well in western environments.
However, I am reminded that when Sacha Baron Cohen needed to pick a country to film his movie Borat's scenes of a mock-Kazakhistan, something even more impoverished and backwards looking than the real Kazakhstan, he picked Romania.
Why is there not already a large number of Romanian startups producing high quality engineering? Well, as part of the EU since 2007, the most talented Romanians now move to Germany and the UK for software work.
The same principles are at work in the American Union as that of the European Union. There are many intelligent English speaking people in Alabama who have been to excellent schools established during the space program, and many parts of areas have very low wages. However, we do not see much outsourcing to Alabama because the talented tech people (aside from Marshall Space Center) are not actually telecommuting in tech work from those remote areas, accepting those low wages. They instead move to California and New York when they graduate college. This happens because in both the EU and US there is freedom of movement between member states.
Both states are part of a union with freedom of movement between states. Both unions have poor areas. In neither case can you rely on finding high skill talent and expect to pay low wages as the article suggests, because the talent moves from the poor regions to the areas that pay market wages.
I don't understand the purpose of this article. The article itself is very, very shallow, it lacks substance, and there's nothing specific to Romanians in it. When you have a pool of 20 million people to chose from, you will find experts in every field imaginable with any skill set you need.
There's actually another solution for the "talent war", and it will probably be exploitable for at least 5 years. Functional programming.
First, the median programmer who actually knows FP would be at least 90th percentile in general, and a strong argument can be made for 95th. If you're using a language like Scala or Ocaml and filter out people who don't actually know them, you can usually hire 50-80% of the people you bring into the office... which keeps interview costs down.
Second, people who insist on functional programming still have a tight job market, so there hasn't been the same bidding war and salaries have only gone up 20-30% instead of 50-75%.
A good (1.8+) Java developer costs $225,000 per year... because people who get to that level of skill in Java are just rare (and Google is buying them all). You can get that same level of developer in Ocaml or Haskell (and probably a better product, because it's a better language) for about $135-150k.
I can speak from first hand experience that developer quality in East Europe is excellent. When I first went to East Europe over 10 years ago there was very little offshore hiring so the local developers were resorting to local jobs, mostly around small businesss IT - things like accounting systems, POS, etc.
Today most of the developers have a good command of English, keep up to date with the latest technology trends and have a solid classical education background in math, engineering, etc.
The huge oversupply in talent meant that a lot of the best developers ended up working in black and grey hat hacking, online fraud, etc. There is a reason why East Europe is the epicenter for these activities.
There is no reason why startups in the West should not be hiring more people out of these parts of the world. It is definitely less competitive than other traditional outsourcing centers and the quality of people and work is excellent.
If anybody is interested in hiring in this region and would like some advice or someone to act as a bridge, be it to find full time people or contractors, feel free to contact me (details in profile).
Forty-five years of Stalin-esque communism meant sports and education were the only acceptable ways to compete in Romania.
I am just wondering what were acceptable ways to compete 15 years before 'Stalin-esque' communism during 'Iron Guard' times? http://en.wikipedia.org/wiki/Iron_Guard
(Edit: This was supposed to be a reply to a comment that seems is gone/deleted now. Please be kind if this comment looks like out of context :-))
DISCLAIMER: I run a small Django company in India, with more than half of the revenues coming from remote web development for US/Europe companies.
Remote development service can work very well irrespective of location if "cheap labor" is not the only reason behind it.
What I have seen is people hiring remote developers in East see remote developers as "us" and "them". As long as remote devs are not seen as a part of team working together like a machine which is working 24x7 - one part of the machine works, while the other part rests.
As someone(I don't remember who) once said, "if you are paying peanuts, you will only get monkeys".
Now, we have had times when we HAD to work(no other option) at as low as 7 USD. What is the problem with this? This is not enough, anywhere in the world. During those days, results were disastrous for us. Since we had to cut expenditure and eventually salaries, we lost 4 out 5 of our core dev team. In a way we had to build our team from scratch.
Remote development can work and we have had some amazing experiences. Here is what I have seen works:
- Have an in house dev team: For anything non-trivial have an in house dev team, even if it's a team of just one engineer. Hire a good one. He will help you in understanding/verifying the technical capabilities of the remote team. And It will ease up lot of communication difficulties and shorten the unending meeting over Skype/IM to a minimum and save boat load of time.
- Give them a small project for a week as a test of their capabilities. This way you will also keep out swindlers - companies/developers pretending to be good instead of actually being good.
- Stay away from unbelievably cheap labor: You can get devs at 5 USD but understand this; while life may be cheaper in east but it's never this cheap. You may get a good developer (with no other options) really cheap, but he/she will jump the ship without blinking as soon as a better paying opportunity comes. You will get an good(not great) developer for $20-$25 and really good devs for $35 - $45. If you are looking for "GREAT" engineers(which as rare here as anywhere in the world) they will cost approximately same(or may be 10 - 15 % less) as in US/Europe.
- Stay away from companies who claim to have expertize in every possible technology. Find companies who work in niche. E.g, Want a rails developer; find a company/individual that specializes in rails. These are the companies that generally have a project manager talking to you and you will probably never get to talk the actual developer.
- Don't do too many meetings: Meetings, specifically long ones and in the morning, drain out energy. When a developer has a meeting at 10 am to 12 noon, you just killed his and in turn your whole day of work. Have 3 - 4 short 15 min meetings per week and stick to them. Also do not generate unnecessary email traffic, long meetings and long email are the same thing - time wasters. Instead use ticketing systems to full advantage. Concentrate most of the communication on it.
- Learn about the remote team: If you have a remote team, learn about them. Learn about their culture. Learn about things that are important to them. Talk about things that interest them other than work. Always remember, a common developer(who is employed by an outsourcing company) is shit scared of the client paying in dollars. They will say yes to almost anything(specifically Indian devs - no matter how advance we claim to be, we as a people, are yet to shake out out of colonial mentality of "Yes Sir! As you wish Sir"). They don't want to offend clients and in turn their bosses. So get to know your developer team. A small amount casual talk will go a long way toward building the mutual trust and increase comfort level and in turn productivity. The target is to make your remote team feel as passionately about your product/project as you feel yourself. And it is not possibl...
35 comments
[ 3.2 ms ] story [ 35.8 ms ] threadWhat does matter is expertise, skills and learning, all other staff is completely irrelevant. (See http://www.computer.org/portal/web/csdl/doi/10.1109/TSE.2009...)
The long and short of it was that it was nice to put in requirements late in the day and have them done in the morning but overall the code quality was terrible.
We had a Romanian developer here in the States and he was great. He was in charge of the Romanian contingent so he could have been a bit better on the code quality control side but corralling 15 coders is not an easy task so I don't blame him.
I am sure there are a lot of talent around the world but a lot of them make their way to the States or other higher paying Western countries under visas and leave the average back home a bit depleted.
I've seen the same phenomena in Pakistan and India as well. Great Pakistani and Indian devs here in the States and mediocre coders back home.
First of all, I do not agree with what you're saying. A lot of people do not leave the country, simply because of our culture. We are used to live close to our families, we are used to live close to our place of birth. We are not as disconnected as other nations.
I have ex-colleagues that were hired by Google. At least one of them preferred their Zurich office to be closer, even though he is so capable that he could have chosen any of their locations. I also have ex-colleagues and friends that refused to work for Google or Facebook and that are still in Romania. Including myself.
There's something often not said whenever people talk about outsourcing to Eastern European countries: foreigners often come with high expectations, in exchange for peanuts. This article says that you can find a great developer for 2000 EUR. That's true, but that's also peanuts and those developers getting paid with 2000 EUR won't stay interested for long and if they do for the long term, they'll just put the minimum effort into it, while doing their own thing.
I very often get invitations from U.S. companies to join their projects. Because I like to stay up to date with the pulse of the market, I accept to participate in many interviews. However, because I don't want my time wasted, I talk about salary expectations early on. And I can't tell you how disappointed I get, as companies that have quite the reputation come to me with salaries that are somewhere between 1000 EUR and 2000 EUR ... which really, is downright insulting.
Also, companies that have a large development team in the U.S. tend to outsource the throwaways. This is another thing that's often not mentioned, and I'm sorry, but you won't get the best developers here with this attitude.
Now, do not get me wrong. I love working for U.S. companies, but do not offer peanuts or throwaways, otherwise you will get monkeys. And when reading pieces like the above, remember that context is everything.
Ugh! That is /terrible/ for talent anywhere to have to put up with.
We have two developers, one Turkish and one Indian who worked for us here in the States for several years each. Excellent developers. Now they both remote in from their home countries and still make their original salaries. I think that might be a decent model for those that can do it. Move to a host country, develop the trust that only working in the same office can give, then carve out your own situation as you see fit, whether it is travelling the U.S. in an RV, or moving to the deep suburbs or moving back home even if that home is on the other side of the planet. Overall it will accelerate the trend to parity all over the world.
I suspect Romania's time has not come just yet, though it's definitely one to watch in the coming years as this effect of investment travels progressively eastward.
Working in IT in Romania is a good position socially and economically. You have a good salary and you are part of the middle class from the start.
If you just want to have a normal career and a family life there is no reason to leave Romania for the West.
So, the number of quality developers isn't influenced as much by this.
It's influenced much more by our education system which imho is failing and by the very same local (multinational) companies that want worker bees and don't know how to grow their own people.
The 4 * 2 hour reviews + coding test + references + logic questions + firewalking culture is ridiculous. It might make sense in places where firing employees is extremely difficult, but not in NYC or SF.
%99 of the jobs supposedly in "shortage" could be filled by anyone with an attitude for programming, self motivation and a good mentor. Look at the current products of Silicon Valley - how many of these require much more than basic web development skills?
I also imagine there's plenty of talent in places in the US besides SV and NYC.
Even if compensation did scale linearly with productivity, two programmers with productivity X are still worse than one programmer with productivity 2X since communication costs grow as the team size grows.
I wouldn't be a prudent businessman if I didn't fight relentlessly for the best developers...
Personally I don't believe in the x10 rule. It might have been true when you had to code your own servers in Lisp to build a website, not when you build a Django CRUD app.
In any case, when you mentor someone, they may turn out to be that top %10 dev.
However, I am reminded that when Sacha Baron Cohen needed to pick a country to film his movie Borat's scenes of a mock-Kazakhistan, something even more impoverished and backwards looking than the real Kazakhstan, he picked Romania.
Why is there not already a large number of Romanian startups producing high quality engineering? Well, as part of the EU since 2007, the most talented Romanians now move to Germany and the UK for software work.
The same principles are at work in the American Union as that of the European Union. There are many intelligent English speaking people in Alabama who have been to excellent schools established during the space program, and many parts of areas have very low wages. However, we do not see much outsourcing to Alabama because the talented tech people (aside from Marshall Space Center) are not actually telecommuting in tech work from those remote areas, accepting those low wages. They instead move to California and New York when they graduate college. This happens because in both the EU and US there is freedom of movement between member states.
Both states are part of a union with freedom of movement between states. Both unions have poor areas. In neither case can you rely on finding high skill talent and expect to pay low wages as the article suggests, because the talent moves from the poor regions to the areas that pay market wages.
Admittedly, this is the first time I've heard all these names.
First, the median programmer who actually knows FP would be at least 90th percentile in general, and a strong argument can be made for 95th. If you're using a language like Scala or Ocaml and filter out people who don't actually know them, you can usually hire 50-80% of the people you bring into the office... which keeps interview costs down.
Second, people who insist on functional programming still have a tight job market, so there hasn't been the same bidding war and salaries have only gone up 20-30% instead of 50-75%.
A good (1.8+) Java developer costs $225,000 per year... because people who get to that level of skill in Java are just rare (and Google is buying them all). You can get that same level of developer in Ocaml or Haskell (and probably a better product, because it's a better language) for about $135-150k.
Today most of the developers have a good command of English, keep up to date with the latest technology trends and have a solid classical education background in math, engineering, etc.
The huge oversupply in talent meant that a lot of the best developers ended up working in black and grey hat hacking, online fraud, etc. There is a reason why East Europe is the epicenter for these activities.
There is no reason why startups in the West should not be hiring more people out of these parts of the world. It is definitely less competitive than other traditional outsourcing centers and the quality of people and work is excellent.
If anybody is interested in hiring in this region and would like some advice or someone to act as a bridge, be it to find full time people or contractors, feel free to contact me (details in profile).
I am just wondering what were acceptable ways to compete 15 years before 'Stalin-esque' communism during 'Iron Guard' times? http://en.wikipedia.org/wiki/Iron_Guard
DISCLAIMER: I run a small Django company in India, with more than half of the revenues coming from remote web development for US/Europe companies.
Remote development service can work very well irrespective of location if "cheap labor" is not the only reason behind it.
What I have seen is people hiring remote developers in East see remote developers as "us" and "them". As long as remote devs are not seen as a part of team working together like a machine which is working 24x7 - one part of the machine works, while the other part rests.
As someone(I don't remember who) once said, "if you are paying peanuts, you will only get monkeys".
Now, we have had times when we HAD to work(no other option) at as low as 7 USD. What is the problem with this? This is not enough, anywhere in the world. During those days, results were disastrous for us. Since we had to cut expenditure and eventually salaries, we lost 4 out 5 of our core dev team. In a way we had to build our team from scratch.
Remote development can work and we have had some amazing experiences. Here is what I have seen works:
- Have an in house dev team: For anything non-trivial have an in house dev team, even if it's a team of just one engineer. Hire a good one. He will help you in understanding/verifying the technical capabilities of the remote team. And It will ease up lot of communication difficulties and shorten the unending meeting over Skype/IM to a minimum and save boat load of time.
- Give them a small project for a week as a test of their capabilities. This way you will also keep out swindlers - companies/developers pretending to be good instead of actually being good.
- Stay away from unbelievably cheap labor: You can get devs at 5 USD but understand this; while life may be cheaper in east but it's never this cheap. You may get a good developer (with no other options) really cheap, but he/she will jump the ship without blinking as soon as a better paying opportunity comes. You will get an good(not great) developer for $20-$25 and really good devs for $35 - $45. If you are looking for "GREAT" engineers(which as rare here as anywhere in the world) they will cost approximately same(or may be 10 - 15 % less) as in US/Europe.
- Stay away from companies who claim to have expertize in every possible technology. Find companies who work in niche. E.g, Want a rails developer; find a company/individual that specializes in rails. These are the companies that generally have a project manager talking to you and you will probably never get to talk the actual developer.
- Don't do too many meetings: Meetings, specifically long ones and in the morning, drain out energy. When a developer has a meeting at 10 am to 12 noon, you just killed his and in turn your whole day of work. Have 3 - 4 short 15 min meetings per week and stick to them. Also do not generate unnecessary email traffic, long meetings and long email are the same thing - time wasters. Instead use ticketing systems to full advantage. Concentrate most of the communication on it.
- Learn about the remote team: If you have a remote team, learn about them. Learn about their culture. Learn about things that are important to them. Talk about things that interest them other than work. Always remember, a common developer(who is employed by an outsourcing company) is shit scared of the client paying in dollars. They will say yes to almost anything(specifically Indian devs - no matter how advance we claim to be, we as a people, are yet to shake out out of colonial mentality of "Yes Sir! As you wish Sir"). They don't want to offend clients and in turn their bosses. So get to know your developer team. A small amount casual talk will go a long way toward building the mutual trust and increase comfort level and in turn productivity. The target is to make your remote team feel as passionately about your product/project as you feel yourself. And it is not possibl...