Holy shit man. This was literally my experience with Accenture. I worked side-by-side with them on a massive IT project. Their team was like 60 liberal arts grads willing to work 80 hours a week configuring some COTS software and 4 managers making sure they don't go home. I think they just use India now instead.
Depending who you get this could be an upgrade. I've met some damn good Indian programmers who work for contracting shops (and, sadly make way less than they would in the states). But, I've also met some who literally don't know how to code.
The ones you encounter in the U.S. are the cream of the crop. It gets very spotty when you look at western-based outsourcing shops like Accenture or Deloitte and then when you go to Persistent, Capgemini or Infosys it's a shitshow.
Fundamentally, the problem is that these firms are used for work that is not valued by either the customer or the implementor. The primary concern is cost. If you are a developer for a tech company working on core products, you drive revenue and are important. If a feature you implement is marginally better than the competition, your firm can win the market and, due to economies of scale, the revenue gain will be huge. Because revenue is sensitive to small differences in quality, you want the best possible developers that you can afford.
As a result, developers viewed as part of the firm's comparative advantage are paid well and treated well. But if you are a DBA working at walgreens, then you are not a part of the comparative advantage of the firm. If you are marginally better at your job, revenues will not go up. You are a cost that will be outsourced in a heartbeat if the firm could save a dollar. Or like doing landscaping at Google. Regardless of how awesome Google is, they are going to look at their landscaping expenditures purely as a cost. Revenues will not go up if you do a better job. Thus they don't care about getting the best possible landscaping, they want adequate landscaping, like water running out of a tap.
That's the type of work that is passed on to these outsourcers. It may be technical in nature, but there is little to no perceived marginal gain in the work being of a higher quality than the minimum amount necessary to be fit for use: maintenance of products that companies no longer want to invest in, but they have service contracts in place that require maintenance. The goal is to minimize cost while not breaching the contract. Or bespoke work in the B2B space where you don't get the type of economies of scale that result in a meaningful revenue bump when one particular piece of code exceeds expectations. In all these things, the driver is the cheapest talent such that the output is adequate.
That means that these jobs are not rewarding to the developers who do them, and so these firms have huge problems with turnover and keeping good developers motivated. Those developers who remain are the ones who don't mind working on code that no one cares about, being paid poorly to do it, and being treated as expendable. In other words, the least motivated, passionate developers are the ones who remain. It is no wonder that they will tend to be the least talented.
> the problem is that these firms are used for work that is not valued by either the customer or the implementor.
Truth. I've noticed many contractors take specs _very_ literally. While that might be good in that the result won't be _wrong_, the product usually becomes quite brittle and can't "scale" well.
One thing I love about HN is the willingness of people to name names in stories. I don't always do it because of fears of repercussion, but I appreciate people like you who do. Thanks for saying the word "Accenture".
In this case, the names are completely interchangeable. I had precisely the same experience years ago on a large ERP project on which Deloitte was the lead consultant. After the beachhead team (which was good) rolled off the project, the backfill consisted of an army of fresh-outs straight from Deloitte's consultant boot camp, billed out at a rate a developer with 6-7 years of experience should have cost.
People have very public debates about consumer brands. Apple or Google or whatever. These B2B businesses can stay out of the spotlight and get far less press. There's an open market for their services and their value is based on reputation, so why not express some unvarnished opinions? Especially when I'm being anonymous online.
I worked for PwC BPO but observed the management consultancy before IBM acquired them (grey day). Take a graduate, any graduate, send them to boot camp to learn java for 8 weeks, deploy lemmings to client at a lot of money per hour, replace dead lemmings with new fresh lemmings. Those that could handle it would rise through the ranks via attrition. Great business model, awful code.