Yahoo's biggest problem is the creamy middle layer of managers. They are usually lifers (as in, been at Yahoo for a decade), or fresh MBAs with a Stanford degree who think that just because they sat through Management-101, they know how products should be designed.
This middle layer is like a Turkish harem. They're busy backstabbing each other, politicking and fucking things up. BUT NO ONE HOLDS THEM ACCOUNTABLE! Some dick will screw up a project, and then when the team gets laid off, happily move to another one to fuck that up too. Too often I've seen engineers just get disgusted and leave; or they'll go into a depressive "I don't care" mode. Passive-aggressive behavior is the norm.
Blake, when he joined, said that "we say 'no' to nothing, and 'no' to everything". What he meant was: in a meeting, the manager will say 'yes' to everything; but the moment he steps outside, he'll think "I'm not gonna do that!".
Innovation is also hampered by these middle morons. Someone tries to do something innovative, and a middle cockroach will crawl out, whining that his 'team' is working on it, and they'll have something ready in (some future quarter). So you're told to back off. Then you wait. In the meantime, that middle manager will use this opportunity to ask for more reqs and expand his little fiefdom. Time will pass, and nothing will get done. And you'll be waiting, agonizing, watching competitors eat Yahoo's lunch as this middle manager fucks around.
And then there will be cycles of outsourcing to Bangalore and Beijing. Some middle beancounter decided that 3 engineers in India can be hired for 1 engineer in the US. (Never mind the quality of people; it's just the 3:1 ratio that matters). So now they're busy outsourcing to Bangalore. Even critical support tasks are outsourced to Bangalore. So what used to take a couple of back-and-forth emails and get fixed in an hour, now takes 3-4 days.
The list of Yahoo's problems are long; and C-level people are not high on that list. "Vision" is also not a problem for Yahoo, if they'd just let the engineers just do their fucking jobs!
Carol's biggest mistake was pissing Jack Ma off and losing Alipay. A person at that level should never, ever, make such a blunder; and she had to go.
I am from Bangalore, And I seriously don't understand this Bangalore and Beijing hate.
Why do Americans assume all Chinese and Indians are fools? Aren't you people shooting yourself in the foot by assuming your competition is weak? Outsourcing works for a lot more factors than mere money. But money is a major factor.
Here in India, we have usual set of good and bad engineers like everywhere. There a lot of very good talented and hardworking folks here, sure they don't come cheap. But they come cheaper than what a similar guy in the US would cost. I have myself seen a lot of quality work getting delivered at almost 1/10th the cost it would have taken in the US.
The US taught us ideals of capitalism, didn't you guys want the world to follow your way of life. Now when we actually do, you guys frown.. withdraw turn your back on the same principles you have taught us for nearly half a century now.
You have nothing to fear from the bad engineers here, trust me they are loosing out very quickly. What you must fear is good hardworking folks coming at cheap prices. That will be a big problem, because when some one sees quality coming for cheap they will go for it.
Also, Indian is a huge buyer of military equipment from the US. We spend billions buying stuff from you. But we never complain that those jobs are being outsourced to America. In fact we love America for the help they offer us.
We live in a globalized world, this is how its going to be in the future.
I apologize if it appeared that I was hating on Bangalore (or Beijing). I was not. What I am against is outsourcing based on the simplistic math that you can get "3 for the price of 1" in Bangalore. When we give Bangaloreans(?) work based simply on price and not on their core competencies (and how the outsourced team will work with the rest of the company), then outsourcing won't work.
I feel that outsourcing should be done where it makes most sense. For example: if there's any work that needs to be done for the Indian (or South Asian) market, then by all means it makes sense to do it in Bangalore! Or if we have a team of engineers in Bangalore that are rockstars in Android development, then give them Android work!
Basically: outsource work to Bangalore if you know that it's the best place to do the work; not just because they're cheaper! I feel that Yahoo has been doing the latter.
It's again a corollary of the mythical man-month attitude. It looks like managers really can't understand that often, at least in software development, less is more.
The problem, kamaal, is that to get reliably high quality software engineers and designers in India you actually do have to spend nearly what you'd be paying in most of the US (the whole country, excepting NYC, Boston, LA, Bay Area, Seattle, and a few other hot spots) and it's much more challenging to recruit than it is in the US. There are problems with candidates cross shopping offers, professional interviewees, horrendous private sector communications infrastructure, governmental dysfunction, inflation, sexism, and familial pressure to strive for ever-increasing job titles in household name companies.
I don't mean to say India doesn't make sense, and I employ about 225 folks in Chennai right now, but it is apples to oranges and decision makers do not often have the right data to make informed choices over where to hire. As an example of something completely removed from quality of personnel, the time difference can wreak havoc on its own, especially when the stakeholders and developers are in different hemispheres. This holds not just for the development process but also in post-deployment support. It naturally (and unfortunately) leads to situations where the one or two engineers in the same general location as the stakeholders end up usurping the responsibility from the remote staff just out of convenient and self-consciousness of the 1-2 day lag they've been burned by over and over again. I could write a book on this subject (I've gone from being an individual contributor developer to a senior director reporting to the CIO over the last 7yrs and have seen nearly everything), but let's not belabor it. The executive summary is that offshoring is hard and too many managers only look at it from a direct labor cost perspective, which is folly.
Yes, we live in a globalized world and it will only continue to shrink. At the point where everyone has a phone or tablet with wireless unfiltered gigabit internet everywhere they need it, we'll be in good shape.
I've had the not-uncommon US developer's experience of working with useless bottom-feeding con artist outsourcers, the kind who throw out deliverables and then drag their heels explaining why there are still syntax errors in code which had allegedly been tested. I've also had the privilege of working with some really sharp people in Hyderabad—the difference is that we had to open an office there and hire full-time to find them. Nobody good wants to be a code monkey implementing somebody else's finished design by rote, and they have alternatives, so outsourcing is going to continue causing trainwrecks as long as western management insists on doing design and project management separately and only offers the least interesting (yet not idiot-proof) work.
Yes, I agree on this. There is a huge problem of hiring good folks here.
In fact most of the work coming to India is somewhat in an area where you are required to maintain and keep systems up and running. In other words a few feature additions but a lot of maintenance and bug requests.
A lot of work is also on the lines package management, something like working on SAP, or IT support or even testing projects.
I would like to know if majority of the developers in west would be happy doing those jobs. Because such jobs don't have a good career growth path. And price at which they do that here, is just unimaginable in US, I know.
I think one key factor in the average quality of workers found in North America and elsewhere is the social aspect of career choice. In North America there's a pretty strong culture of pursuing jobs that people are interested in and enjoy. From what I've heard about India I think that there are very different social pressures that encourage people to choose careers for other reasons. Maybe this is not so, it's pure speculation on my part.
However if we assume that a similar percentage of people will be interested in computers no matter where they reside then there should be more than enough quality Indian and Chinese devs lurking somewhere. Perhaps they are more easily lost in the bigger sea of devs, but similarly they should also shine and stand out that much more as well. Could it be that those hunting for the lowest price keep stumbling on the less qualified devs and then perpetuate the myth that devs in India or China are all lousy?
(edit: I'm unsure if there actually is a higher average quality of developer in North America, it may just be a perceived difference. Raise your hand if you live in North America and have met at least one "developer" who you cannot believe is actually employed as one.)
For a lot of time now, Engineering and Medicine have been the dream careers to chase in India, the reason is simple. Before the FDI reforms started in 1992, the only way some one could make it financially big in our society was through ancestral property, a big family businesses, or plainly doing your engineering and medicine and then settling down some where in the west(immigrating).
After the FDI boom, the IT sector here exploded. People from middle class background became millionaires in no time. In fact that's how Indian IT got a fat inefficient layer of management throughout the country. Very soon there was an impression that you have to get into software to earn that high. So the mad rush to get into software started.
This is where the quality dilution occurred. A lot of clueless people got promoted to be managers. Because technology was not considered a good career growth path. Also there is a mad rush here to visit some foreign country. These are generally called 'onsite' opportunities. Trust me, you have no clue what sort of politics runs across to get those opportunities. You have a lot of good developers but they never get their due. Neither rewarded nor appreciated properly.
Good developers don't sort of get the stuff they deserve here. But projects generally run on work by 'task masters'. In a typical team you will have few little really good folks and a little average folks the remaining hardly do their job. In fact when we talk of good devs that's the kind of folks that we are talking about here. But they are available in pretty good numbers.
Coming to manufacturing, IT support. That's really more of process and procedure based. So I won't comment on that, may be that's a difficult area to compete with. Because there you have very little intelligent things to do.
A tl;dr version of what you're saying, based on my somewhat jaded view of purely US based software development (I've worked with competent Indians based in the US but none of any sort in India) is that software development in India is all too much like it is in the US, exacerbated even more strongly by recent history.
We too had a "gold rush" period in the dot.com boom and even before that most people who call themselves programmer couldn't program (e.g. write code/solve a problem on a dry erase board). Far too much of our software development management is clueless (Dilbert is Revealed Truth and it was well established long before outsourcing became big), software development/programming itself is generally not well respected, etc. etc. etc.
The current US perspective on Indians is biased by the purely cost driven outsourcing craze, which made all of the above worse by the universal service business model race to the bottom, time zone and cultural differences (the latter is something that good management could help) etc.
We don't hate Indians per se (as mentioned, I've worked with some ones in the US every bit as good as any native born developer, even helped to provide one with a horse for his downtown Washington, D.C. wedding :-), we hate the system that's developed that results in our having to deal with very long turn around times for critical stuff, that all too often delivers us code that takes as long or longer to debug or re-write than it would have taken us do correctly in the first place, the constriction of entry level job opportunities and thus the long term career pipeline, how all this has aided the terrible age discrimination in our field, etc.
And certainly many of us "hate" the H1-B etc. visa systems that were established pretty much explicitly to drive down US salaries and replace US workers with cheaper foreigners. If you're like me and have been replaced at some point by an H1-B visa holder (a brilliant Jamaican who was very good at the job and who was not happy about how the company was exploiting him (he was making 60% of what I was making)) that hate of the system is also based on hard, cold reality.
OP is right. I am worked at yahoo till recently and I am an Indian and I don't think people in Bangalore or Beijing are bad. During my career in India and in US I met quite a few good engineers . In early days of Yahoo! India the quality of Indian engineers are pretty good. Off late they are just hiring whoever send in a resume. I know people who are interviewing these candidates even when they say no the manager is hiring because they have fill up the req. Its really sad state you hire these so called "programmers" who can't understand basic things and its frustrating deal with and explain every small details and the work that comes out is completely different from what you wanted and than some more delay.
No one complaining about American or Indian engineering quality I seen bad engineers on both sides. Its about getting quality engineer. If you remove pretty good engineers or team here and try to hire below average engineers from India only because they cost less than its really fucked up you are not really saving up anything in this only to realize your product is delayed for an year and it turned to piece of crap.
Don't be so defensive about these comparisons not everybody in India are great programmers nor they are fools
Partly true, however there is another aspect to it as well. It's just that Yahoo and other blue-label firms have an exalted notion of who should work with them. They tend to go for the fashionable set; the english speaking, high fiving crowd of self labelled developers who cant code themselves out of a paper bag.
I know of at least one "dynamite" programmer whom Yahoo! India rejected because the guy didn't have a graduate degree. As usual, he was too busy coding to go get a degree. Well guess what, it's been pretty interesting working with him.
I don't think it is hate as such, it's more on the management of the outsourcing than their ability. As is said if there isn't a good chain of communication between them and the employees back in the states things that used to be quick can take far longer.
There are also cultural differences that need to be thought about before sending across a stack of work for them to do. Also you can imagine if the employees in the US working in the same offices as managers had a hard time getting things done the outsourced employees would have an almost impossible time getting approval to change things.
There are problems, Yes I agree. Both cultural and communication problems.
But on a grand scheme of things when you interact with each other for something like 2-3 years. Those differences are negligible. When I started out, I faced similar problems. But I became friends with a lot of Americans, after our daily interactions.
You do get to hear about projects that fail. But they are small in number. There are so many successful projects here that running for more 5 years and some time even decades. To blanket say that you are never going to get good quality from there, is just not right.
This is a touchy issue, I understand as people are loosing jobs. I would be equally emotional if I lost my job. But self reflection is also important at the same time.
> Why do Americans assume all Chinese and Indians are fools?
Why are you jumping to that conclusion? All I read was how fucked up the management structure was and how Yahoo managed to consistently hire bad managers who hired bad engineers who drove projects into the ground. It just happened that they found a lot of bad engineers in India. (And you admitted yourself that there are plenty of bad engineers in India, just like everywhere else).
> The US taught us ideals of capitalism
"Do as I do not as I say" is perhaps the new motto. What we teach is propaganda. That is for bed-time stories for kids, not for the real world. If you look at how external trade, tariffs, protectionism, subsidies for our various industries work, you'll quickly understand that it is most definitely not a 'free' and 'open' market. When we say 'free' trade and 'globalization' we actually mean 'you open your markets so we can flood it with our companies' goods'.
> I am from Bangalore, And I seriously don't understand this Bangalore and Beijing hate.
Again, why do you say there is Bangalore hate? There is hate at bad management decisions. Apparently Yahoo has managed to consistently hit the majority of bad engineers and an ex-employee was watching his company's projects go to shit because of it. Dunno, seems like a valid thing to hate...
> What you must fear is good hardworking folks coming at cheap prices.
Hardworking is not good enough. Compensating by lack of knowledge by doubling the effort, and writing, 10x as many lines of code, is the wrong way to do it. It is a sure way to fail. In a more sarcastic way it would mean "When unsure how to proceed, just keep churning large piles of code!"
Programming is not picking potatoes. You cannot substitute 1 good programmer with 10 average ones. It just doesn't work that way. When you pick potatoes, you can say, if I hire 10 pickers and they pick x potatoes per hour then I'll get these many potatoes -- awesome. Programming is like composing music -- a hundreds average composer monkeys won't be able to compose a piece that one good composer can. It just doesn't work that way. It is inherently a creative process.
> In fact we love America for the help they offer us.
Sorry to disappoint, I seriously doubt genuine altruistic motivations are the cause of this "help". India might perceive it as such, but I seriously doubt that's how American (or any) external policy works.
It's not a hate of people. It's hate that is created by process. I worked on Yahoo Mail's frontpage section for awhile. While I was developing the newer version for more advanced browsers the older version was being developed by a team in banglore. As far as I could tell they were writing code just as well as we were. The reason I hated working with people in banglore was that we were on exactly opposite schedules. I would have days long fights about bugs over bugzilla because I couldn't ever just have a conversation. When we did have meetings they were always at the least awesome time like 8:00 pm on sunday night.
I don't begrudge them working in their daytime either. Why should an engineer have to work through the night. I just think it exposes a problem with outsourcing work.
I think it's also because we tend to see outsourcing as management-sees-devs-as-interchangeable-workers. If good devs in Bangalore/Beijing were given ownership of products and allowed influence over direction of things I'm sure they'd do great. But outsourcing seems to go hand-in-hand with a business creates requirements, devs follow orders attitude.
My friend you mean well. But there is a quality problem in India. There is volume (i.e. high numbers of engineers). But quality is bad on an average and that's the honest truth.
To prove my point. Let's look at the topcoder country rankings [At HN, perhaps I don't need to explain what topcoder is. But if I need to then in one word. Its a place where you practice Dynamic programming :-) ]:
The volume of engineers thing caters to service industry very well. And the service industry mainly thrives for one reason alone. Don't listen to all the jargon all the titans of industry say. The reason is only one:
And that is:
1$ = 45 Rupees.
Service Industry is good in a way that it helps people have financial independence in a matter of 2 or 3 years. But some how, it has stayed there. Is there an Infosys like product company in India?
So there is clear lack of vision amongst the leaders in Indian IT industry. In other words very few high quality leaders. And all seem to be quite happy with the success they have achieved and now out to serve the nation. ... I hope I get proven wrong and in a decade we have Infosys quality product companies in India.
So although xyahoo is gracious enough to apologize. In practice it may be the case, that some exceptions apart, you will get low quality engineers over here.
I think, its the culture, which has been the issue.
It can be fixed but few things need to be done:
1) People have to stop using IITs and IIMs in the same sentence.
2) B Techs at IITs should want to continue with Masters at IITs, and not apply to US univs
3) More entrepreneurs have to stop cashing out midway (I often wonder, could bazee.com have been India's alibaba?)
4) The entrepreneurs have to move from a trader mindset to a creator mindset
5) More creators have to do their own startup than just feel pride in working for Google/Yahoo/Amazon
6) The VCs (in general) need to speak like tech-educated persons. Not act like fools who would rather invest in Real estate (one needs to control their urge to spill coffee on their suits)
PS: I noticed that I went on a tangential rant ... completely off topic. But I speak almost all of the above from experience.
EDIT: Added some spacing to make the points readable.
>> I hope I get proven wrong and in a decade we have Infosys quality product companies in India.
A couple of honest questions. Do you work for Infosys? What exactly do you mean by Infosys quality?
About the 'low quality engineers over here' part, it's a topic already beaten to death. And you are true about the exchange rate part. In the end, with bean counters in control, that's what governs everything.
I have worked for Infosys in the past. Now, following the path advocated by PG :-)
I mean that for the IT services Industry in India, Infosys has set a benchmark - Most respected company; Billions of dollars in revenue;great set of leaders who started it. So I meant that in the product space also, there should be Infosys quality companies in India. Or the Googles, Amazons, Yahoos of India, if you will.
I hope people with the spirit of an NRN Murthy, will start lots of product companies over here.
Another point is that most of these companies "also" derive part of their revenues from non US markets. I am sure that adds to their profits as well. It would be very informative if someone could come up with those figures as well. It will add a lot more perspective to the illogical India-China bashing.
There is a big difference between leadership and management. Leadership is about taking risks, while management is about mitigating them. They are thus often in direct tension.
Yahoo had a lot of management and not much leadership.
Just a single data point, but I noticed similar antics even from outside the organization. My company licensed our software to Yahoo for several years, but they stopped using it six months into the contract. The projects kept running and we kept collecting data, but nobody ended up doing anything with the data. Employee turnover in this division seemed like 6-12 months, and to my disbelief the Harvard and Stanford grad managers I interacted with had no idea what was going on or what they were doing.
I certainly don't think the concept of losing scope over the course of an enterprise software license or a project's life cycle is unique to Yahoo, but these corporate inefficiencies have been a serious eye-opener.
> The list of Yahoo's problems are long; and C-level people are not high on that list. "Vision" is also not a problem for Yahoo, if they'd just let the engineers just do their fucking jobs!
I've got to disagree with this. No one inside or outside of Yahoo seems to be able to concisely state what Yahoo does. There are dozens of properties and various initiatives, but no real statement of purpose. There's too much confusion about direction, about what Yahoo's goals are, or should be. I don't think the internal guidance is clear enough, either.
I think this is a distinct C-level problem. And if managers aren't being held accountable, that a C-level problem, too.
Yeah, managers are like salesmen. Don't trust 'em, and don't blame them if they become loose cannons.
Managers typically do whatever gets them the best ratings. The C-level execs must be giving them misaligned incentives.
I'm not saying there's not great people who work in management, but once the environment starts getting toxic (due to bad managers getting all the resources, or even being promoted to the point where they are managing the good managers), the good managers will turn bad or flee.
The C-levels just need to look at stock performance and profit to see there's a problem. There is nothing that a director level person should be able to say to a C-level to make them feel comfortable.
Stock performance is a not a very good indicator, as it reflects emotion more than anything else. Profits and profit-margin, OTOH, are ones to keep an eye on all the time - whatever they do, you better know why they are doing it. If you lose control of both, you shouldn't wait for the chairman to fire you - help the board find a replacement and get out.
As joshu said, well put. You hit the nail on the head.
Of course, there was also a serious lack of vision and real leadership at the top as well, but that wouldn't matter with all the middle managers getting in the way.
Agreed; unshackle the engineers -- particularly if you want to compete with Google and Facebook, which have engineer-centric companies.
But everyone still needs to row in one direction.
What about this for a unifying vision? Help users discover, personalize, and consume content.
Be the service -- mobile or web -- people turn to when they have nothing to do, when they want to find a cool article, deal, song, video, picture, restaurant, conversation, or event.
Today, Google is where you go when you know what you want. Yahoo! could help people upstream of search -- before people know what they want. Which, conveniently, is most of the time.
Lots of companies tackle the problem in different areas: Digg with news, Pandora with music, Yelp with local businesses, Instagram with photos, Groupon with deals.
With content proliferating faster than ever before, there is a need for some service to help people discover and consume content. Users don't want to hunt for content. They want the coolest deals, music, shows, restaurants, and news to come to them.
Qs: What if you killed 90% of the middle management layer? Are the engineers motivated and talented enough to pick up the slack? Killing one layer would produce insane chaos and devastate Yahoo! in the short term, but could the freedom and responsibility drive engineers to care again? If not, what would?
I totally agree xyahoo. As soon as a high tech company pushes all it's techies off into the mushroom patch and forges ahead with marketers and promoters and B.S.ers leading the way it's all over. And I'm a big Yahoo fan. Followed it from the start and had one of the first @yahoo email addresses.
I left yahoo almost a year ago. My experience was that I didn't even know what middle management did. I refere to it as the cloud. There was me, my team, and my manager. Sometimes I would know who my managers manager was, but passed that I didn't really every understand who made decisions to do what.
This might be a middle management problem, I can't be sure. I don't think most people at yahoo can be sure.
"It's better to be a pirate than join the navy." - Steve Jobs
When I think of that quote, I usually think about it in regards to wanting to escape a big stupid company and form a startup, but that was not at all the context in which Jobs said it. He was telling this to the Mac team, which had become a kind of splinter group with its own identity within Apple. Of course, it's not just better to be a pirate yourself, sometimes the empire needs to hire some pirates. The navy can't be seen robbing Spanish ships after all (or devoting lots of money to zany projects like a graphical user interface on a personal computer).
I wonder if big dumb companies like Yahoo could actually use the pirate mentality/method to their benefit. Why doesn't Yahoo take a few million dollars in seed money and start a bunch of companies under its own umbrella using some of its own people? Give all the power to the engineers and the designers, skip the MBA-wielding drones that you've described above and let people that can actually make stuff set sail. Would it still fail? If any of the ideas did thrive, would the companies just be smothered when incorporated back into Yahoo? Would anyone even notice that a couple of million dollars went to creating several radical new projects?
and who would "Give all the power to the engineers and the designers, skip the MBA-wielding drones that you've described above and let people that can actually make stuff set sail."? Only the MBA-wielding drones are in the position to give [away] that power, and they are such drones for precisely the reason that they aren't able to skip themselves. C-22.
You just described every large corporation I have ever worked at. Middle management is backstabbing each other, while ignoring advice and ideas from the developers, and driving projects into the ground with no repercussions. I never understood that.
I disagree. The c-level people are responsible for Yahoo!'s problems, not the middle managers. The C-level people set the company culture and create the incent-structures for the middle managers to do their work.
Yahoo's biggest problem is the creamy middle layer of managers. They are usually lifers (as in, been at Yahoo for a decade), or fresh MBAs with a Stanford degree who think that just because they sat through Management-101, they know how products should be designed.
This middle layer is like a Turkish harem. They're busy backstabbing each other, politicking and fucking things up. BUT NO ONE HOLDS THEM ACCOUNTABLE! Some dick will screw up a project, and then when the team gets laid off, happily move to another one to fuck that up too. Too often I've seen engineers just get disgusted and leave; or they'll go into a depressive "I don't care" mode. Passive-aggressive behavior is the norm.
Blake, when he joined, said that "we say 'no' to nothing, and 'no' to everything". What he meant was: in a meeting, the manager will say 'yes' to everything; but the moment he steps outside, he'll think "I'm not gonna do that!".
Innovation is also hampered by these middle morons. Someone tries to do something innovative, and a middle cockroach will crawl out, whining that his 'team' is working on it, and they'll have something ready in (some future quarter). So you're told to back off. Then you wait. In the meantime, that middle manager will use this opportunity to ask for more reqs and expand his little fiefdom. Time will pass, and nothing will get done. And you'll be waiting, agonizing, watching competitors eat Yahoo's lunch as this middle manager fucks around.
And then there will be cycles of outsourcing to Bangalore and Beijing. Some middle beancounter decided that 3 engineers in India can be hired for 1 engineer in the US. (Never mind the quality of people; it's just the 3:1 ratio that matters). So now they're busy outsourcing to Bangalore. Even critical support tasks are outsourced to Bangalore. So what used to take a couple of back-and-forth emails and get fixed in an hour, now takes 3-4 days.
The list of Yahoo's problems are long; and C-level people are not high on that list. "Vision" is also not a problem for Yahoo, if they'd just let the engineers just do their fucking jobs!
Carol's biggest mistake was pissing Jack Ma off and losing Alipay. A person at that level should never, ever, make such a blunder; and she had to go.