Example: Had a chance to work with a team from Poland couple years ago. Great people with lots of experience and skills. By purpose or not, they were just not well integrated into the existing team. They were never given clear targets, nobody ever thought what they had to offer and how they could fit into the overall structure. A project later everything got blamed on them and many from that team disappeared - many left because of the whole negative experience, some were let go. I would not say it was their fault for under producing really. It's not that simple when you don't get to define producing what is valued and what is not and you don't have much authority over changing things.
I'm disappointed to see the same ingredients that led to failure with offshoring a decade ago now taking more firm root here than even during the dotcom boom: perception that 'coding' is a path to easy money and certain success, dime-a-dozen "coding boot camps" that teach how to make an Angular site but don't get into any fundamentals[1]. The perception existed in the waning years of the boom, but at least the most common path then was through a full degree.
While my perception is that the situation is improving in India (at least if you avoid the well known warm body suppliers), it's getting worse locally.
1. This isn't to say that there is no value to boot-camp style programs - but there are presently a whole lot more that exist solely to capitalize on a financial opportunity than focus on providing a foundation for skills growth.
edit: I should add that this was just an opportunity to express my general sentiment, and given the phrasing of the news from Twitter, I doubt performance was a factor.
Oh totally - much harder to find a good team in India if you are just another corporation looking to outsource. But if you are Microsoft, Google, Twitter or any other well known product company they have no trouble hiring the best and it usually speaks for itself.
I wanted to point out that you can do acceptably well with offshore teams by doing your research, hiring right people, doing proper planning, getting used to more communication than usual and encouraging the team take up authority. Most of these apply to any team but the communication part becomes of more importance when the team is offshore.
Point is if you want to have a remote team for whatever reason you can't expect it to magically save you money and do everything you need. It's a process, you have to have upfront investment in terms of efforts and trying things out. In my experience it works if you give it time and efforts and it can save you money if that's what you're after. And of course remote teams are not fit for every type of project either - so there's a trade off to be made depending on various factors.
A lot of the early outsourcing was on cheap bandwidth, early VOIP. This added to the misery of a Western consumer phoning up for tech support to that free phone number, to be on call for an eternity.
You might be right, but not the ones on my BigCo support calls.
I think only motivated people should be hired for remote jobs, because external motivation does not work well in remote environment.
But for the jobs that are moderately complicated and require a team - like in offshored projects for e.g. - giving that team their own local office to work, hiring a good manager to track their work/progress and provide local motivation, setting up communication infrastructure (Skype, Slack, Code Repositories, Bug Repos etc.), managing timing differences, having the team fly over to your main location or having your core team go visit them once in a while, identifying skill gaps and setting up training to address those, starting slow and initially giving team members clearly defined work which can be reviewed objectively and giving the team actionable feedback etc. can make it a whole lot easier down the line when workload increases and you can't afford low quality work. As an ongoing thing - communication becomes the main thing so making sure to have short, meaningful meetings to review, hear, appraise, provide feedback etc. are a must. (W.r.t communication - being clear and direct, not using culture specific lingo, making sure people understand what you are expecting from them and assigning timeline and ownership for key items verbally make a great difference.)
And there's still attrition to deal with but it can be worked around by having well documented processes and keeping a good work environment. It sounds like a lot but it's a one time thing and some of these apply to local teams too. Finally keep in mind that you can't really magically escape all of s/w engineering problems just by having a local team - there's going to be complacent people, people with skills issues, communication problems etc. and the issues are not limited to remote teams although they do get harder to manage.
The issues I ran into in the past were made worse by poor communication from both sides. However, once we got past those, the underlying lack of skills became apparent.
In these cases you really have to make sure you're hiring people with real potential as programmers, and that's easier said than done. Even after 20 years as a hiring manager I still get tons of false negatives and false positives.
Beyond that I think India imposes at least one big cultural landmine which is that subordinates are extremely reluctant to ever deliver any bad news. Effective management requires asking probing questions and reading between the lines, not something that every western manager has great experience or talent with.
The biggest problem with hiring experienced people for software development positions is the broad range of what falls under "software development". It's a very big field, and I think the breadth of the field isn't well appreciated by people working outside it -- including, particularly but not exclusively at large organizations, management and HR.
A good accrediting body might do a lot as a way of ensuring a baseline level of competence for new CS grads, and in particular it might help people coming from schools that are good, but not one of the "big names", by showing that their education is up to a consistent standard. I don't know if it would do much for hiring more experienced candidates, though. Too much hinges on evaluating the experience that's being claimed since graduation.
There is no discussion about how bad England's programmers are.
If anything this tells me the average HN user is racist and statistically ignorant.
In you example, the Polish team underproduced, not by being incompetent, but by being remote. That doesn't make closing it down a bad decision.
Of course not - but if management doesn't know the challenges involved in managing remote teams the incompetence is theirs. Blaming the team is not right in that case especially when they don't have authority that their managers do.
Time zone differences really hurt things. As much as we try to find ways to make the value the same, it isn't the people, it's the time.
My cousin has a 50-person team in India (dislcaimer: I'm of Indian heritage) producing mostly mobile apps these days and in the early days his apps were of poor quality -- looking at his latest efforts, his team has really progressed and are producing decent apps with nice UI/UX and functionality. This process has occurred over the course of 6+ years.
In my observations re: raw creativity and talent, Indian developers do lag behind their Eastern European/Russian and now South American rivals... part of that is the cultural. i.e. unwilling to take risks. My exposure has been small (less than 100 devs from all over the country) However, you can guide them to be productive and follow the right processes to success & scale.
I don't think its fair to comment on their performance without knowing the facts. Quite frankly, I'm surprised to see the "Indian programmers are terrible" prejudice common even on HN.
I wonder how much help Twitter is giving them in looking for their next jobs.
Don't necessarily disagree on the human impact, but this is a strange reasoning.
>Not producing by whose measurement?
Obviously by the one who hired them?
>Who defines that, they were obviously hired for a particular job and have been doing it for a while and pretty well if they weren't fired before.
Nobody is fired until they are fired. So by the same logic, everybody who wasn't fired immediately did their job "pretty well". Alternatives not considered:
(a) they did their a bad or mediocre job for a longish time, but company only ever cared to fire when money got tight, cuts needed to be made, performance review was completed and they came up empty.
(b) they did their job bad for a short time, and they're fired as soon as it was discovered.
Of course firing is can be also because they were hired for a specific project that they completed and now they no longer needed, or because the project went south or went out of favour with Twitter management and Twitter wants to kill it, etc.
Or they do their job perfectly well, but it doesn't bring Twitter the money it expected, so they are canned.
>I wonder how much help Twitter is giving them in looking for their next jobs
None? Like most employees? Besides maybe a good recommendation letter?
Anyway, just for those using this as india = underperf team train of thought, Google, Microsoft, Facebook, Amazon and every respectable company under the Sun has a India team, are they on par with mothership, I do not know, but if they are not, some one doing it wrong.
I'm all for employee rights, but how exactly is Twitter different than the average (or all?) employees in this, or in any other industry, in this case?
Do other employers actively help fired employees to find a new job?
If you're no longer employed by them there should be no expectation of support. Especially to spend resources to find you another job.
Nothing needs to change in the industry. Thats how the world works. You get fired, you find another job.