Whether the last hop of the outsourcing is in India, Poland, or Spain is not that important if you still get what you expect. The problem is when you get a fraction of what you expected or pay for.
Interviews have been used as opportunities for evangelization, attempts to get technical assistance, or extract information about the competition or potential customers since forever. I haven't seen one which was overtly illegal but they're all certainly as shady as they get.
This was very odd to us, since our names wouldn't mean a thing to anyone on the client's end, but we chalked it up to red tape. Your explanation finally makes sense of it.
At most, it gets the A-team's PE stamps, so they're at least professionally liable for the quality of work, but first project coordination/ outline meeting & final review are all they usually do. Occasionally take a call from a VIP.
And when the project freezes indefinitely, so do the payouts.
I asked why they were doing it, but no one gave me a straight answer. I mean, I get for them it was Tuesday, but when a major contractor starts asking you to brush right up against the line of equivocating, I can't justify moving forward without some serious explanations and levels of frankness I don't think many recruiters are comfortable with..
After my first successful project for them, their biggest client started demanding that I be assigned to their next big project (or one of the external contractors). We both ended up taking jobs elsewhere, and that client quit using the developer.
And the client? They were a full-on shovel-ware developer that barely cared about game quality. They just needed a game that would run reliably enough that Nintendo would approve it. So to be fired as a developer by that company was really embarrassing...
Occasionally we’d get someone good but as soon as the consulting company figured out that they were good, they’d get rotated off our project and replaced with someone mediocre. They also never gave us any warning when they were going to switch someone.
Because what I've seen happen is a large company uses its size to negotiate really the cheapest prices, and the only way the consulting company can make profit is by hiring the cheapest people, and even with that, the margins are thin at best. So obviously, they don't exactly get the best.
The worst part is that all these D-tier, fresh out of school guys gain experience and some may even get good at their job. Unsurprisingly, these people start asking for raises and promotions, and the consulting companies tries to charge their customer more, I mean, we are talking quality now.
But the big company financial department doesn't like it, so they make a new call for cheap contracts, get a new round of incompetents, etc...
In the end, everyone loses. The consulting company makes little profit, sometimes even losses and the big company always get shit service, which usually costs them more than what they save. As for the employees, the work conditions are often terrible and they usually quit at the first occasion. But the financial department is happy, they have a lower number in the "expense" column.
Once the contract was won, we'd sub-contract to a local (to the region) contracting agency, who would in turn essentially do the equivalent of a craigslist search for a body, that we would interview to ensure that they could be taught, and then we'd take 30-60 days to teach them our product - depending on the initiative and experience of the candidate, the customer (who remember, was paying us $500k/year for an application engineer) - might get a recent-high school graduate that was making $30k/year and had never even heard of our technology a week prior.
I have trouble feeling sorry for the consulting company in that situation. If the budget your client offers is insufficient for the job, demand more or turn it down. Don't lie that you can do it and then bait-and-switch.
This created a lot of internal pressure to use contract resources as much as possible.
As an example, when we had our bathroom done, the guy they sent to finish things up couldn't even center and level the towel racks.
Especially when the customers are female.
Had to go with someone who I had a little trouble communicating with, but at least I could verify he knew what they were doing and understood my concerns about how the work got done.
I actually think it’s essential in medium+ size companies. The authenticity of having a highly technical person in sales works wonders.
Generally, you need the A-team at the start because there's a lot of very critical work that needs doing. After a while, it's mostly maintenance, so it's silly to keep your top people there... you can still call them in when they're needed.
This is just resource efficiency.
I honestly wonder how this place makes money some days!
And being able to scale on demand is a big part of providing a service. Otherwise you can't absorb any unexpected spikes in demand from already existing projects, or have to pass on lucrative opportunities, or you pay to keep a buffer of people on payroll.
But yes, bigger consultancies absolutely do this.
Can I ask, does that mean you got so worn out so you couldn't work, had to stay at home / away-from-work for some time?
I wonder what happened afterwards. Seems you now work as an independent contractor now? (looking at your external profile, I hope you don't mind)
But after working on the same problem set for that long I got interested again in solving tougher problems and went back out on the consulting scene.
But that job forever changed my views on work life balance so I am now very aggressive with balancing hours for people that report to me even if I don’t balance my own hours.
The clients though, they want to pay the consulting firm relatively the same price they would pay for a standalone developer employee, per hour. The entire industry is broken and a lot of it has to do with broken recruiting, the recruiting industry, the "consulting firms" (body-shops) that are just resellers, and onerous employment regulations that make firms prefer outsourcing to shady outfits instead of hiring in-house developers.
But then, after many months and likely hundreds of thousands of dollars are already spent, their bar for "mutually-satisfactory state" has been lowered to "I guess we will accept this pile of mediocre shit that the D-team built, because we already wasted months on this and we are desperate for something, and it would be too expensive and just waste more time to try and argue with the consulting firm to fix it".
I spent a long career as a consultant at one of the top "prestigious" firms. Consulting firms almost always prey on this hope that the clients won't complain too much, even though everyone knows the end product that is delivered isn't anywhere close to what was pitched during the sales phase.
When has that ever happened?
The problem is not that America has a monopoly on good coders but that the good coders in any country will not work for the Ed-Edd-n'-Eddy type foreign contracting firms.
This is now in my lexicon. I loved the show as a kid and this so perfectly captures how I feel about some shops.
Although the good contractors are SWAMPED for work, I definitely have to up my rate.
"I don't know. Wow what do all these words in capital letters mean?"
"Oh that doesn't matter. As long as you use the same words in the deliverable report, noone will ever double-check the code before the sale."
I was the bait, indeed I was nearly not touching the projects at all except if the replacement failed it hard and then my employer would send me few days there to fix the mess.
My working time was divided between pre-sales and fireman to save projects from total failure.
Every single time customers want to :
- Review the Consultant CV
- Interview the Consultant
- Accept no switch unless for the obvious reasons of sickness or holidays.
- And the team that starts is very much the team that finishes the project.
But a single person can be a "contractor" too.
(At big companies and non-IT fields, a contractor is often used for temporary professional employee-type labor for flexibly scaling the labor force that includes employees doing the same job, but a consultant is someone who provides a skill you don't have in house at all.)
Their flavor involves hiring people with a very high tolerance for complexity, and letting them propose the most complex solution to any problem. Eventually your own people get tired of trying to keep up with even the summaries, and just abdicate. Now that part of the system is only understood by IGS, and the rot begins to spread.
Nope. He kept pedaling this small, 10-15 person startup to me that I clearly wasn't qualified for and honestly was not interested in as there were some red flags. The commission must've been fat cause he didn't pitch me any other company and kept "circling back" if I changed my mind about them.
And my experience of those I've worked with, has been that the smaller projects that remove this potential to deceive (not profitable or large enough for bait-and-switch - not enough get-foot-in-door to be worthwhile to take at a loss). And by smaller I mean less than £/€/$ 500k, and not leading to multi-million deal later on.
And go away from the RFP process that sucks and is just trying to get the lowest bidder, for a fixed-end-goal, rather than bringing good and experienced people to support your business/organisation/project on achieving something.
I'm trying to launch this myself, and I feel you can get the best of both worlds: great talented people who you pay fairly with a scale model for (eventually needed) growth, and some cost control for mid/longer term projects as you can't really have a fixed price.
At the same time you have to remove some of the downsides like this lack of transparency (and honesty?), whilst having the needed support in place for projects to succeed!
That's not "Bait-and-switch"
That's smart business
The "most senior person" (or, more likely, team) is still available - they're just acting as an escalation point, not doing grunt work
Same basic concept as having a secretary to do the [necessary] grunt work of any specialized employee/team
You don't send Babe Ruth to fetch foul balls, you send Babe Ruth to hit homeruns
But without the ball boys going for fouls, Babe Ruth doesn't get to hit as many, or as fast
But how can you tell this is not just bait-and-switch itself? The most senior person with an impressive resume is vetted and proven to deliver value, but how can you know if the actual contractors you are getting from wherever are good?
You are defrauding the client by not providing the service and/or personnel advertised. How is this not, at a minimum, a criminal act?
It makes sense to have juniors do the work and seniors to oversee the work.
When the project falters, attempting to parachute the actual skilled people back in will fail because of both Brooks’ law and simply their mandate being to stabilize things to the point where they can claim minimal satisfaction of the contract requirements, which will likely not include fixing the deep architectural problems.
> When the project falters, attempting to parachute the actual skilled people back in will fail ...
The argument there seems a little inconsistent to me. The skilled people aren't going to be rushing from failed project to failed project - that is less productive than just getting involved to start with.
You're thinking about it from the perspective of the customer, not the an ethically-challenged contractor focused on maximizing revenue. If you have an A-team which you use to close deals, cycling them from project to project to close the deals which you will then staff with the C-team will generate more revenue than having them work on just one project as long as you don't have many disasters where you have to eat the cost of fixing the project.
If the client is either overly-trusting or made enough mistakes to plausibly share responsibility and the punishment for failure is more billable hours, you're _way_ ahead financially if you get to bill 14000 hours of C-team-masquerading-as-A-team instead of 2000 hours of actual-A-team.
Source: extensive experience on projects with Splunk proserve.
Nobody wants to touch the lead's code. The more of it there is, the slower things go. Or the more workarounds/end runs (duplicate functionality) you find in the code. It's best if the leads only stick their fingers into code that absolutely has to work, has a low expected rate of change, and relates directly to architectural or (better) operational concerns. Everything else they should keep an eye on, insist on quality, but otherwise butt out.
People write code that seems obvious to them. Very, very few of us make a conscious effort to do much more than that. You can write a great deal of solid code that is still write-only. Too much of this, and it makes it difficult to improve your bus numbers, and grooming people for growth is a huge investment of time, energy, and social capital (if you can do it at all). Rather than bringing the whole team up, people play favorites, because that's all they can afford.
This is not necessarily bad! The senior in this case is more like the "brand" of the operation.
And - sorry about going now into stereotypes - Good Eastern europeans are really good coders. Would not hesitate a second outsourcing any development to ukraine or romania if the contractors are vetted and proven to deliver value.