
Ask HN: Client replaced me with offshore team – what could I have done? - bemused_django
tldr: client has paid me $4k&#x2F;wk for internal tools. They’re replacing me with a team based in India bc they can get 1 US pm and 2 devs for $4k&#x2F;month. They think progress will be faster and less expensive.<p>They’ve been pleased with my results, and I’ve done everything from working onsite and modeling out their workflow to deployment on Heroku to Django api to front end development.<p>Without going into too much detail, what can I do to in the future to either 1) change my process so they don’t think this is a better option, or 2) suss out which prospects don’t have the stomach for the realities of developing their own software?<p>I’m not bitter, more just somewhat frustrated. I understand that from their perspective, that sounds like an obvious choice. I’m simply concerned with how I can operate&#x2F;communicate more effectively going forward.
======
Trias11
I am that client. Not exactly yours of course - but i am the client who is
going to replace someone with India provider within next month.

Here is the context:

\- Current worker is USA, Bay Area based and is good technically (4+ out of
5).

\- Current worker is local and it is very convenient for us.

\- Current worker is AMAZING talking to customers and putting off fires. His
"talking" skills certainly exceeding his technical skills.

\- The competing Indian provider is well tested, exceeding expectation in
quality and skills.

\- The Indian provider is very professional. We met him in person and had
interview.

\- The Indian provider charges 4 times less.

\- The Indian provider has capabilities to scale his capabilities. So there
are positive potentials for us.

\- The project can be executed by remote team (i.e. there are no restrictions)

\- Current worker (local) is employed by uncooperative consultancy who is
planning to raise the rate for current worker for us against prior negotiated
rate. Just because they [think that they] can. That same consultancy can (and
will) be a competitor as they can gain a valuable hard-to-get skills if we
continue to employ and train current worker. This is show stopper and we were
forced to stop giving current worker access to advanced projects, keeping him
currently on older projects.

\- Current worker been offered to join us but he refused.

Your context may vary - but that's a fair context from the real project.

~~~
Accujack
In my experience, the Indian contractors are going to be lower rated
technically, but for 1/4 the price you can question whether you NEED someone
who's a 4/5 or whether you can get by with a 2 or 3.

Determining what functions need top technical people is something most
managers figure out after offshoring, when the damage is already done.

Contractors are incredibly valuable in certain respects, but one thing they
don't do generally is write code for future maintainability... they're under a
lot of pressure to produce workable results quickly, which opposes planning
for the long term technically speaking.

Like offshoring itself, that may not matter depending on the company and what
it does.

~~~
Trias11
After desperately trying to find local consultants to do $75K gig, we hired
remote Indian person who did it for ~$13K. The delivered quality and timing
exceeded our expectations.

And honestly it changed the way i used to view remote offshore consultants.

~~~
southern_cross
Did you consider remote, on-shore resources? Perhaps work-at-home folks, or
those working remotely from other US cities? I ask because I've run into
people who would otherwise normally insist that their domestic resources be
local and in-house, but then would end up off-shoring stuff instead. WTF?

~~~
Trias11
I absolutely did and will. Local are often preferred.

------
Juliate
For once, stay in touch with this client, and get to know how they are doing.

It's not impossible they come back to you, sometime - not necessary either,
but offshoring is much much more to manage than just a lower price tag - and
perhaps they don't know it, yet.

~~~
mcv
My impression is that a lot of companies are moving away from off-shoring.
It's cheaper on paper, but you introduce a communication hurdle and sometimes
you simply get what you pay for.

I've got great experience with Indians working in Europe, not so great with
Indians working from India. My impression is that the best Indian developers
tend to move here, because they'll be able to earn European/American rates.

~~~
zach43
> I've got great experience with Indians working in Europe, not so great with
> Indians working from India. My impression is that the best Indian developers
> tend to move here, because they'll be able to earn European/American rates.

as an Indian developer working in the US, I have to say that this is a bit of
an unwarranted stereotype, despite being repeated often on HN and Reddit

There absolutely is a large contingent of good developers in India (as you'd
probably expect from a country with over a billion people), but they are
mostly working with locally-managed projects and teams. A lot of them wouldn't
work for outsourcing companies because of the poor pay and hours.

There is a bit of confirmation bias going on here: since western companies
will frequently outsource to the low-cost shops in India, they will mostly see
poor quality work. I don't think its fair to generalize this to all Indian
devs.

~~~
mrkstu
If the likelihood is that he’ll never actually get to work with the most
skilled devs, as per your own post, the de facto reality of his generalization
is going to be true.

------
throwaway867539
So, real talk on a throwaway from someone who's been there. The one thing you
probably could have done is to cultivate a better personal relationship with
your client. If you develop a real relationship outside of work, this is much
less likely to happen. If it's breaking up with your girlfriend instead of
breaking up with your laundry detergent brand, the activation energy is
different.

Second, keep it professional, fulfill your obligations, be slightly generous,
but not too generous. Follow up in 5 months. Indian outsourcing is usually a
disaster. The problem is that your client (your contact at the company) may
have gotten himself into a tight situation. If outsourcing fails, you need to
understand what he can do politically without looking like an idiot. One
option might be less hours at a higher hourly rate.

------
pengo
I had a client move a project to India because he thought it would be cheaper.
Eighteen months later he was knocking on my door asking if I could fix the
mess. Sadly for me, I tried to help him - I'd have been better to say "no",
either immediately or after taking my first look at what had been delivered.
The work that had been done (at less than 20% of my hourly rate) was shoddy
and not fit for purpose. A detailed analysis showed that the cost of fixing it
was about the same as the cost of building it again from scratch. The client
then included me in his generalised unhappiness with the consequences of his
decision, and I've had no further work from him.

~~~
cheez
One way to handle these is to say that you will do a review of the work and
make a recommendation, but that you will not be the one to implement the
recommendation. Bill them a few K for your trouble and make a few
recommendations on the types of people they might use.

------
logfromblammo
In my anecdotal experience, you can't do anything outside of the C-suite. If a
company is going to replace in-house employees and local contractors with
offshore contractors, nothing will stop that, except for a few months of
working with offshore contractors. If they get a good offshore team, they
won't ever go back. If they get a bad one, they might learn a lesson from it.

You can't save them from themselves. As an employee, keep your skills polished
and your resume ready. Build up a reserve of savings so that if you are ever
asked to transition your job to your replacement, you can more safely quit the
doomed job and focus on looking for a new job with a future instead.

As a contractor, cultivate a greater diversity of clients and ask for more
money than you think you're worth. Companies that squirm at the asking price
will try to replace you with someone cheaper eventually, so you might as well
make it easy for them to signal their cheapness as early as possible.

Also anecdotally, cleaning up the mess from an offshoring gone bad is not
enjoyable work. I wouldn't scream it from the rooftops, but other developers
in your network who might be tapped by that company to do it in the future
will probably appreciate a heads-up on what happened, to either avoid the
client or charge a premium. You could follow up with the company yourself, but
would you really want to?

------
gtsteve
I guess you need to figure out the company's attitude to what they're doing.
If they're trying to build a software product then they're often happier to
spend if they know they'll get quality.

If the company is not actually tech related at all, they likely see internal
tool development as a cost center to be minimised where possible. Likely they
do not know the difference between high and low quality code and might be
willing to take a dip in quality for a greater dip in cost.

Of course, I did meet up with a successful businessman not that long ago that
credited the high valuation and subsequent sale of his non-tech company with
their impressive internal tooling and management system. Despite not being a
tech guy (beyond being above-average computer literate), he totally understood
the value of it. So, it's not a hard and fast rule unfortunately.

------
JamesBarney
Sometimes these things just happen, it's difficult to turn down a price tag
that is that much lower. Things that help in the general case are doing a
great job(obvious), building up hard to replace domain knowledge, and
nurturing relationships with the client and personnel. But it's hard to know
how you could of done things differently without knowing more about the
circumstances.

Who made this decision and what was your relationship to them? (Sometimes the
people you interact with value you work, but people farther up the chain see
less of the qualitative advantages and more of the quantitative costs
associated with working with you.)

Another common sales tactics is client education related to disadvantages of
alternate offerings. So you can talk about the hidden costs(like managing 3
people in wildly different time zone is more difficult and time consuming than
1 person down the street) and developer churn associated with off-shored
software(and retraining associated with this churn).

Clients with expensive personnel will value on-shoring. For instance a law
firm won't wants to pay their very expensive lawyers to manage an off-shore
project.

But only sure fire way to find clients that won't offshore is to work
exclusively with clients that are looking to onshore after an off-shore
project just blew up.

------
phibz
$4k a week is top, top market rate where I come from, US Chicago, especially
for 1 FTE.

As an independent contractor your client relationships are paramount to
getting and retaining work. You should be aware what your client is feeling
and be able to anticipate their next move. Ideally they'll just tell you what
they're going to do but getting there takes time building mutual trust.

Consider spending extra time outside of your hands on work talking with your
contacts at your client. Build that relationship and do so with multiple
people in the company. When you work for yourself you are worker, manager, VP
of sales and CEO. You'll want to spend time in each position so the needs of
your company are satisfied.

Also clients build off each other. I've repeatedly gotten new work from
friends and business associates of my clients.

Consider this a lesson and spend more time on those soft skills or put
yourself in a job that doesnt require that level of self sufficiency.

~~~
asark
Mid-career developer rates in my much-smaller-market-than-Chicago city are
like $120-150k—salary, that is. $4k/week's the _minimum_ I'd need to even
_consider_ jumping to consulting/contracting, and even then I'd probably need
more like $5-6k/wk to make it a good idea.

~~~
badestrand
Just curious, how come Glassdoor shows just $82k for Chicago [1]? Are these
reported values far too low or is there something else at play? As your market
is $135k and you implied Chicago has higher salaries.

I am not from the US and just try to understand if all the high salaries that
get mentioned here on HN are reality.

[1] [https://www.glassdoor.com/Salaries/chicago-software-
develope...](https://www.glassdoor.com/Salaries/chicago-software-developer-
salary-SRCH_IL.0,7_IM167_KO8,26.htm)

~~~
asark
Salaries have gone kinda nuts the last 3ish years. IDK what's going on, but
that's the state of things. Still, even 3-4 years ago ~$70-80k was entry-level
around here, as far as places with actual money went. Maybe (unfunded)
startups or something else that's getting included in the stats (state jobs?)
drag the average down? I'd certainly assume Chicago averages higher than
here—we're very much a tier under them, so far as tech-hubbitude.

~~~
holy_city
Chicago isn't very much of a tech-hub outside of fintech, and the business
culture is completely different than the west coast and newer startup-focused
markets. Things are shifting a bit, but by and large its not a place dripping
with VC dollars looking to fund startups and burn cash on developer salaries.

------
davidkhess
Was the $4k/wk based on a billed hourly rate?

In general, the economics of working hourly don't tend to work in your favor.
On their side, it focuses the client on the rate and the hours and tends to
encourage them to micromanage you. On your side, you don't economically
benefit from increasing quality and reducing timelines.

It's hard and a lot of people are not good at it, but I recommend trying to do
project-oriented work with fixed bids. It's much easier to focus the client on
the long-term benefits of higher quality and shorter timelines in a fixed bid
situation. And you economically benefit from increasing quality and delivering
faster than you bid.

It's a lot easier to compete with offshoring when you set the context this
way.

~~~
rubinelli
Fixed bids work well with productized services, where both parties have a very
good idea of the work required and the end result, but are often disastrous in
the more general case.

~~~
davidkhess
With a well-written and comprehensive design covering 100% of the scope, I
believe any software development project can be safely fixed bid.

The problem is that most of the time, people who do attempt project-oriented
work/fixed bids do so without a comprehensive design – and it does indeed tend
to end up a disaster.

------
tmaly
In the past, the opposite happened to me. The replaced an outsourced team with
me for a project. But that was a long time ago.

The different timezone and lack of face to face will be a big challenge. I
think you should make it known to your client, if they are not happy with the
India team, that they should contact you to pick the project back up.

Let them know your the guy they can call in the middle of the night, who will
show up onsite.

You might even be able to negotiate a higher rate if they do take you up on
the offer.

------
cheez
You have not much to worry about. I tried to replace MYSELF (billing
$20K/month) with someone $5K/month. It was... shall we say, difficult.

Good help is definitely hard to find and if your client found good help, they
should do good help consulting.

------
jbarham
Tough situation.

It's still generally true that for offshore dev work companies get what they
pay for, so if the company really can replace you with 1 US pm and 2 devs for
only $4k/month they probably won't be very good. But they may be able to
maintain what you developed so to that extent you might have worked yourself
out of a job. At that rate it's also likely that the offshore team may not be
as good or as fast as your former client expects, so it's worth keeping in
touch in case they need you back.

Can you move higher up the "value chain" by doing more technically specialized
work that's harder to offshore?

Can you generalize what you developed for this company into a SaaS product
that you can resell to other companies into the same industry?

Realistically it's also just a fact of life that some companies, especially if
they're not in high tech themselves, think that offshoring is a silver bullet
to cut development costs without any side-effects.

------
raghavkukreti
As an Indian dev living in India, i'd like to offer a bit of background. I'm
currently doing my 3rd year at Uni and mostly do contract projects which
encompass building/maintaining/optimizing deep learning and machine learning
models. I also do a lot of data analysis work, data migration, etc, etc. The
developers I work with and who I am around will _never_ work for an
outsourcing company. The outsourcing companies hire devs for as little as
INR25000 (USD363.34) a month and use them for websites/native apps, etc.
Mainly a lot of grunt work. If you really want to hire good Indian devs, try
looking at LinkedIn and go for the younger, just out of a good Uni lot for dev
work. Consulting is a whole different outlook here.

~~~
mattmanser
Just out of uni devs are terrible consultants as they don't know what they
don't know.

So when they cock up, the really cock stuff up spectacularly.

~~~
raghavkukreti
Haha I do agree, but honestly, good devs aren't really hard to pick out. Out
of uni good devs are the ones who have the most potential to grow imo. I may
be wrong but it's my experience with my peer group.

------
dangerface
Outsourcing to India is cheap on paper expensive in reality. If India was able
to compete with local they would charge the same price.

Poor communication and lack of progress will frustrate them in 6 months.

Your client will be working with a local account manager who is clueless but a
good bullshitter, they pass on what they _think_ the client means to the
Indian team.

The Indian team is provided with a shitty brief they can't really work with,
and they don't have the communication skills to go back to the client so they
just build the wrong thing.

Since the team is in a different timezone all this poor communication takes
ages.

After a year of lots of back and forth the client still wont be any closer to
what they actually want and have spent a fortune on staff in meetings about
the issue that never gets resolved. Going local even if it is more expensive
will be cheaper in the long run and will produce the results they want.

There is nothing you can do about this, the customer has to scold their hand
before they realise that the oven is hot.

------
segmondy
Nothing, if they don't have the money, they don't have the money. The only
thing you can do is show you can do it faster and cheaper and perhaps offer a
fixed price.

~~~
sveng
They have the money. Don’t lower your prices. Keep looking for new clients
even when busy. I can almost guarantee that the offshore solution will cost
them more in the long run.

It’s a sign that the finance people are running the show. I’ve seen that
movie, and it rarely ends well.

~~~
slenk
This. In my experience the offshore outsourcing has always cost more in the
long run

------
Accujack
In my experience, offshoring is decided on entirely at the C level or just
below it by managers wanting to save money and believing they can do so this
way.

They want to believe so hard that it will work that they'll mostly ignore
warnings from the people whose jobs will change because of the offshoring.
That's just the nature of many businesses... if managers can't see a good way
to make themselves look good, they start contemplating things like this.
Usually, cognitive bias keeps them from putting the brakes on.

The kicker is that for some companies offshoring works well. It all depends on
what their needs are and whether they can efficiently adjust to the new scheme
of things.

Of course, if it happens to work, managers tend to take that as validation of
their point of view.

It's like using "the cloud" for all your IT. For some applications putting all
your data on someone else's computer works very well, and for others it's
impossible. Whether your company can migrate to the cloud depends on what you
do and how you do it, and I have yet to work at a company with enough self
knowledge to make a decision based on that ahead of time.

------
fakeElonMusk
It sucks to lose work when you performed well and had a good relationship with
the client. I feel your pain. Good advice in the comments here about staying
in touch - offshoring will most likely fail for them. Swallow your pride and
check in with them and/or offer to help in an advisory role. In the meantime
work on skills and build your pipeline for new work. There's always another
door...

------
detaro
For a), the big question is: _why_ did they think it's a better option? What
risks do your customers see in you/what did they dislike? A general feeling of
"not getting their moneys worth" can be treated differently than "we're
worried you get sick/disappear on a jungle trip/... and we're stuck without
the only person knowing what's going on".

~~~
megablast
This would be a good discussion to have. Do they think that 2 devs are going
to produce more work than the guy who created it? What do they need a PM for?
Even for 2 it is odd, unless they are going to work on other projects too.

------
tropo
There are clients are won't outsource to India. The ones with .gov URLs tend
to be that way.

Giving up the consulting to be an employee with benefits and reliable work,
maybe you want a USDS job:
[https://news.ycombinator.com/item?id=20330257](https://news.ycombinator.com/item?id=20330257)

Also try directly applying to various agencies and their contractors.

------
tmm84
First, why they are replacing you is based on the belief that these people are
the better deal. Changing a belief is harder than changing an attitude (being
able to spot an attitude vs a belief is a real challenge). So, anything can do
or could have done would need to change the client's belief that you are
replaceable with these competitors.

Like other comments suggest, stay in touch. Staying/acting professional will
gain you more than being salty/smart.

------
kovrik
Isn't it like a standard practice? Hire an expensive professional first that
will do all the heavy-lifting, then outsource bugfixing and maintenance
somewhere else where it is cheaper.

~~~
collyw
In my experience its the opposite. Hire a junior developer to create a bit of
a mess then have seniors come and keep the crap running a few years later.

------
hotdox
I think you underestimate quality of outsource workers around a world. I am
not talking specifically about India. For 10k/month you get a very good
developer for a short(1 month) gig in Europe. For long-term(3-6 month) gig
price is even lower.

From your side as a person who understands project you can propose technical
leading for a project, e.g. 1 day/week for 1 month. But you need to decide how
to handle conflicts. Outsourcers has no initiatives to follow your
recommendations.

------
thrownaway954
is there anyway you can stay on and become the project manager? You have an
integral knowledge of the application and projects, you know where all the
bodies are buried which will be a HUGE benefit for the offshore team to get up
and running. With some experience you'll be able to manage other projects
besides this one and put that on your resume.

As we say in AA, when one door closed, another opens.

~~~
quickthrower2
Sounds like it’d be a pay cut from 4K/w to 4K minus what the other 2 devs are
paid

------
jupiter90000
Was it discussed at start of contract about expectations of progress velocity
and cost? If it was and you met those, they may have changed their minds about
that and not much you can do to change that they did that. If it wasn't
discussed, in the future with new clients, discussing expectations around
speed of feature delivery and associated cost could help you filter clients.

------
southern_cross
If they survive this experience, there will probably still be good money to be
made helping clean up the mess which will no doubt occur here.

------
jasonjayr
What controls did you have in place so you were not a SPOF for your client?

I myself am struggling with this with a few of my consulting gigs: I need to
find someone as a backup who can stand in for me when I need to spend time
with family, go on trips, or am generally unavailable ....

------
guyromm
as you've witnessed, this approach, when applied well, has advantages, but
also suffers from increased communication overhead and roundtrip times. as a
result, prototyping and researching open-ended, not well defined assignments
is not ideal with remote, given that the required feedback loop between
customer and executor (you) is better kept short. maybe it would be best to
enjoy both worlds? say, once you've onboarded the customer and are delivering,
begin reducing costs for them by delegating units of work to cheaper, remote
resources yourself? this way the customer is happy and stays with you. this
has the added benefit of freeing your own time to take on new work.

------
raincom
If you have been with this client for a year, just move on. If it was a month
long, you need to devise a different strategy: don't be so fast with your
solution. Once you give your solution, offshore teams can take that solution
and chug along.

~~~
somecallitblues
I get an email a day from an Indian company offering their services and Django
and Python are never a part of their skill set. When I looked for a Django dev
on Upwork there were very few Indians coming up. Ended up working with some
Russians which were great but not much cheaper than local devs. I guess you
always get what you pay for.

------
epiphanitus
What's the market for Python devs like these days?

I know there is a lot of interest in the language from people coming from
other fields, but I realize that doesn't necessarily mean there are enough
qualified people to meet demand.

------
wolco
What could you do?

Lower your price. The gap between a team and you is 3x. Hire a 2k developer to
do the work and you manage project. Do this 4 times. If one client moves you
don't have all of your eggs in one basket.

------
randomsofr
Companies make stupid decisions to "save money", it seems like it was a budget
based decision, so unless you were willing to work for less money you did
everything right

------
quickthrower2
You could have used bad variable names and no comments :). Use clojure or rust
or D. Or R! Etc.

