
Ask HN: Should I deploy my code and lay off 80 people? - nowherenice
Throw away account.<p>I work as a programmer at a medium sized old school insurance company in the midwest on an internal application which assigns documents to a group of analysts for review. Accurate data is very important but we frequently get missing, incomplete or incorrect data in our claims, insurance adjustments or estimates.<p>A few months ago I had the opportunity to spend some time in one of our analyst centers to learn how they work. We have a total 80 analysts who review and scrub data mostly based on experience, lookups, cross comparison or simply informed guesses.<p>I found the work rather mindless and depressing which immediately made me brainstorm how I could automate the process given that I saw most of the same patterns repeating over and over.<p>So...I spent the next few months after work writing a small component which uses the same heuristics, lookups, guesses and techniques used by the analysts to correct the data. From my testing and comparing already reviewed documents with my output, it&#x27;s at least as effective as our analyst team in a majority of cases.<p>So...what do I do now? Do I tell my management and potentially cost 80 people their jobs or do I just keep it to myself? I know some of the analysts are single mothers or people close to retirement.
======
vorador
Obviously, I don't know the details of the situation, but here's my 2 cents.

You're saying that your program is already as effective as your team in the
majority of cases. I've done my fair share of automation, and very often
people underestimate the amount of work required to bring a script to the
level of an human (which is normal! You're the person who wrote the script
after all). Your script is most likely going to be 30% to 50% as productive as
a normal person, at least in the beginning.

Another thing to keep in mind is that there's a lot of work that can't be
automated. These people may have domain-specific knowledge that you don't
have. Very often domain experts take decisions which look like guesses but
aren't.

What I would do in your place would be to redesign your program to be a tool
to supplement humans. You could sell it as such to your higher-ups, and help
some of those people keep their jobs.

Also note that it's somewhat unlikely to have a massive lay-off happen. Most
people will get reaffected to another role or a slightly different mission.
Managers don't like shrinking headcount.

Finally, don't forget to take credit for this. You've been toiling on this for
months after all, on your own. You deserve credit for it.

~~~
sdenton4
Yeah, I work on an Eng team that works very closely with analysts. Basically,
you can't build good tooling if you don't have your hands in the data, and
analysts are employed to have their hands in the data... You'll do best if you
can get the analysts using your tools, freeing them up to find new, useful
features, which eventually get worked into the tooling, and so on.

~~~
wavefunction
Not only is this a productive use of automation but a humanistic one. If you
can enable/empower other people your solutions will be far more successful
than simply trying to bring your existing solution up to parity with the
existing domain experts, as far as the job is concerned.

------
davismwfl
The reality is you won't be costing 80 people their jobs. Some might lose but
in a lot of cases the analysts will switch duties slightly to first validating
your output, then on to finding new issues etc. Some will likely be let go or
asked to move to a different position over time but it won't happen
immediately.

Either way, progress doesn't stop, so whether you do it or management hires
some firm in the future to come do automate the process it will happen.

I know it seems a little cold, but what I found through being a consultant and
automating processes like this is that rarely was there any significant layoff
of people. Usually instead people get reassigned after some proof that the
system works. And more likely the directors and managers of those departments
start finding ways to use those people to improve other areas, because they
can now, since mundane crap is off their plate.

------
ars
Historically, extra efficiency does not mean less work, but rather more work.

For example:
[https://en.wikipedia.org/wiki/Jevons_paradox](https://en.wikipedia.org/wiki/Jevons_paradox)

What you should do is talk to sales and let them know your company can now
handle far more business than before, at lower cost.

------
powera
I call bullshit on the "potentially cost 80 people their jobs". For any "old-
school insurance company", I'm confident there's a hell of a lot higher
standard for firing 80 people than some program "at least as effective as our
analyst team in a majority of cases" according to some IT guy.

~~~
vonklaus
> I'm confident there's a hell of a lot higher standard for firing 80 people
> than some program

From where do you manufacture this confidence? Insurance is a highly
competitive business and we/you know virtually nothing about this company. No
financials. No growth metrics. An unknown number of employees. Leverage? No.
Cash on hand? nah.

We have a few sentences from a narrator with less credibility than Holden
Caufield throwing out some lofty claim that sounds a lot more like a survey
disguised as a question, than an engineer wrestling with the magnitude of a
breakthrough. I would hesitate before projecting confidence with this little
information. There are many hypothetical situations I could imagine that run
counter to your appraisal, but I could never get comfortable with them because
with no data or info it would be quite baseless.

Caveat, I believe the main post to be utter bullshit. I would assume someone
thoughtful enough to build this system would likely have considered this
before working for several months on this without consulting anyone in the
company. Further, s/he doesn't participate in the discussion _at all_ which is
what I would expect from someone wrestling with an ethical issue. They would
have likely made a decision and tried to justify and defend it in the comments
section.

Sounds like they just whipped up a GUI using Visual Basic and used the IP
address to generate the TPS reports using _real-time-big-data-pattern-
matching-artificial-intelligience-NLP_.

------
olalonde
Give the software to those 80 people and let them chill out until management
finds out. But seriously, if your software does what you say it does, I would
setup a SaaS and try to sell it to insurance companies.

~~~
jdeisenberg
This. I wrote some software that relieved admin assistants at a school from
having to slog through spreadsheets to find room assignment conflicts. There
was no shortage of far less mind-numbing tasks to fill up the time the program
saved.

------
gardnr
During a period of my life I played World of Warcraft. I eventually got banned
for botting. After initially feeling anger, I felt free. Who wants to play a
game so boring that a robot could do it? The 80 people are probably
intelligent and reliable people. They will find something more challenging and
rewarding.

------
PakG1
A lot of great comments here. Firstly, we have to deal with an uncomfortable
truth that software is indeed eating the world. The consequences of that won't
be 100% layoffs, but the world will change, we can't stop it, and we have to
accept that. I can't add anything to what's been discussed here already
(again, a lot of great comments). So I thought I'd just point you to some
related stories and other corresponding discussions, one of them a classic.

[https://www.reddit.com/r/AskReddit/comments/tenoq/reddit_my_...](https://www.reddit.com/r/AskReddit/comments/tenoq/reddit_my_friends_call_me_a_scumbag_because_i/)

[https://www.reddit.com/r/AskReddit/comments/vomtn/update_my_...](https://www.reddit.com/r/AskReddit/comments/vomtn/update_my_friends_call_me_a_scumbag_because_i/)

[https://www.reddit.com/r/talesfromtechsupport/comments/277zi...](https://www.reddit.com/r/talesfromtechsupport/comments/277zih/that_time_that_i_automated_a_woman_out_of_a_job/)

~~~
wavefunction
We should write software to handle the mundane aspects of existing jobs and
empower our fellow humans to do more with their time than they could before.

~~~
PakG1
There are three uncomfortable truths that get revealed when we do that:

1\. Fewer people would be required to do the work, so layoffs would happen
anyway. To what extent depends on the way the software was written and the way
the tasks are traditionally done. But it happens.

2\. There are people out there who find it difficult to do anything more than
a mundane task. Issues of motivation and ability are rooted in personality,
upbringing, education, and even mental health. Doing this punishes those
people, sometimes fairly, and sometimes unfairly.

3\. Among the people who get fired, there is a subset who find it difficult to
retrain themselves for something else. They may not have a good life. For
another subset, the experience of getting fired is devastating, and
unemployment starts a long road of mental health issues.
[https://www.google.com/search?rls=en&q=unemployment+takes+a+...](https://www.google.com/search?rls=en&q=unemployment+takes+a+mental+toll)

If we want to be cold about it, it's survival of the fittest. Having done this
type of automation work before, I found that I was uncomfortable with that
concept when applied to society, even if it's seemingly true.

------
flashman
My gut instinct is that we're providing feedback for somebody's ethics
homework. That doesn't make this any less of an important or entertaining
discussion to have.

~~~
vonklaus
I 100% concur. If you look at PakG1's post above he links several similar
Reddit posts. The OP is active in every thread defending their decision/POV.

This thread is silent either because the troll got bored or because they
didn't want to influence the discussion as they would compromise the
objectivity of the exercise.

------
apryldelancey
Having worked at an old school insurance company I witnessed many cases of
inefficiencies that I could fix but they are VERY resistant to change. VERY.
Where I was held on to long-standing processes because "that is the way it has
always been done" and those people have usually been there 5, 10, 20 plus
years. Be very careful suggesting that you will put any amount of people out
of a job. Old school companies don't often appreciate someone disrupting the
way they have been doing things, especially if they have been in business for
a long time. I would approach it as you think you found a way to make jobs
easier and more efficient rather than boldly claiming your code will
immediately replace 80 people.

------
JacobAldridge
If you don't deploy it, eventually someone else will.

I agree that even if it implements perfectly, it's unlikely to mean 80 layoffs
(versus redeployments, or using those people for more valuable work).

However, if you don't release this solution chances are the person who does
will have discovered and implemented it at a competitor's company - and THAT
could lead to a lot of job losses where you work, including yours.

------
janbernhart
The odds that 1 script will make 80 expert analyst jobs' obsolete aren't big.
However, perhaps your script will make their jobs easier, automating the
mindless stuff freeing their time for the more challenging stuff. In that
case, perhaps in time the department can become a bit leaner, the analyst's
jobs get better. The analyst that aren't needed anymore can A) find a
different job in the company if they are competent people or B) find work
elsewhere of they are not competent people for your organization. Everybody
wins.

------
beatpanda
You should deploy it; you are more likely to gain a valuable lesson in
humility than cost 80 people their jobs.

~~~
hoodoof
There is some truth in this. Every time I have thought I knew how people would
respond to my brilliant ideas, I was wrong.

~~~
jensenbox
I fully and unequivocally concur.

------
charlesdm
80 people probably won't lose their jobs. Some will be reassigned, some
retire, others will leave, etc. However, you can probably achieve a
significant cost saving. Put together something compelling, i.e. take 5-10
reports put together by people and 5-10 by your software. Ask management to
pick the files put together by the team. Show your software is just as
accurate.

What you do then is you leverage the heck out of this opportunity to increase
your salary. If you can save the company $4M in annual staff expenses, ask
(read: demand) for a one time $2m bonus and a $500k increase in salary. Get
this stuff in writing. Make sure they can't screw you over and "steal" your
system if they don't want to give you a decent bonus. This has value.

Don't talk about money before proving it actually works.

------
id_ris
What do you _want_ to do? Do you want to be the lead person adding automation
to the analysts jobs? It sounds like you could catapult yourself up a few
rungs on the ladder and have a staff working with you to improve the analysts'
jobs with automation tools.

You do not explicitly state whether you created this software on company time
or with company equipment. If you did it with personal equipment, I'd try to
sell it to them. If that's unworkable, you could give the software to them and
then offer to be their consultant to keep it working and to add features, at a
hefty salary bump.

Ultimately we need to know what you are trying to optimize for: positioning in
the company hierarchy, money, ...?

~~~
cududa
I'm pretty sure OP wrote it for their own personal enjoyment

------
qq66
I'll offer my earnest respect for thinking about your actions in a broad
context, and not just looking at the neat code you've written, or the career
ambitions which you may achieve by deploying this code, but rather the
entirety of the consequences of your actions, both for the other employees in
the company, the customers, the shareholders, the general public, etc.

I think that kind of thinking is commendable, and rare, and we would live in a
better world if we had more of it, regardless of which path you choose to take
in your current situation.

------
tbrownaw
_" In the majority of cases"_

What happens in the rest of the cases? Does it get them wrong, or does it kick
them out for manual review?

What happens when the rules change? (Example: if your data involves ICD codes,
there's the recent ICD-10 rollout.)

It needs to fail gracefully, and it needs to allow for whatever amount of
manual review/supervision the "old school" people in charge are comfortable
with, and for that comfort level to change.

If it doesn't do those things, telling management probably won't get much
(except maybe "cool, can you make it actually useful?" or "quit sticking your
nose in where it's not wanted").

If it does... that's not what you're there to do. You'll probably still have
to fight for management buy-in etc. As an insurance company, they'll probably
be against taking unknown risks (like replacing a known working process with
untested software someone wrote at home).

If you really want to get them to use your project, you're more-or-less
dabbling in a somewhat watered-down version of enterprise sales (minus the
enterprise price point, since work-related software you wrote is quite
possibly owned by your employer regardless of being written at home during
off-hours). Is that something that actually interests you?

------
vonklaus
> I spent the next few months after work writing a small component which uses
> the same heuristics.

While not unheard of, I find it pretty peculiar you spent several months of
your personal time:

* Developing some speculative software which is very likely to be protected IP from your company.

* Not telling managers you were using proprietary data to build an application for which they are your only possible customers.

* Only after all of the leg work is done _building an app to process info_ do you yourself process the only info you had all along

> I know some of the analysts are single mothers or people close to
> retirement.

I mean, what were you doing this whole time where this didn't occur to you
until hundreds of hours later?

Just casually break out your GUI interface via visual basic, plug the ip
address into _heuristics, lookups, guesses and techniques_ [0] and get
missing, incomplete or incorrect data?

It's not an impossible task but in several months I find it hard to believe
you alone would be able to find the correct address for "Dan Palmer from
Kansas" or identify that he moved from the apartment a few months ago. I would
assume if you were clever enough to pull this off you would have been forward
thinking enough to consider the ramifications.

[0] list of arbitrary nouns related to prediction.

------
brudgers
As others have mentioned there's the risk of outlier cases consuming any
potential savings on the happy path. But what I think is more important is a
potential pitfall involving the company's mission. Saving money is not a core
business operation, making money is. Thus the disruption of changing processes
and laying people off is often not worth the opportunity cost of creating new
products or refining pricing models. Using the $4 million in wages per year
conjectured elsewhere, that's rounding error compared to a percentage point
improvement in returns when many billions of dollars of assets are under
management [as is typical for a big insurance agency].

There's also a role for queueing theory. The 'slack' staffing in normal times
can be redeployed in outlier events such as a natural catastrophe that spikes
claims and invokes fine print policy terms. Experienced claims reviewers might
be considered an in-house form of re-insurance. And insurance companies only
survive over the long term because there is re-insurance to pool outlying
risks.

Good luck.

------
rdl
Yes. That's your job. Or, you should quit.

People getting laid off is not your responsibility. If it happens, that's a
problem with the company.

~~~
hoodoof
Empathy. Look it up.

------
pfisch
Shouldn't you try and sell it to them? It sounds like your software is worth
at least 3 million dollars a year.

~~~
hugh4
Sounds legally fraught if you've already developed it using anything vaguely
resembling company time, property or data.

You could always go to your boss and tell him you've had an idea and that
you'll need two years on an increased salary plus two assistants to implement
it, though. Then spend six man-years implementing what you've already done.

------
adamseabrook
Speaking as a hiring manager I always look for achievements like this when
parsing a resume or interviewing a candidate. The best candidates always have
a few standout achievements that really grab your attention.

If you had to summarise your time at your current employer to just a few dot
points this one will immediately get noticed: \- In my own time I developed a
system that helped semi-automate the work of 80 analysts. Overall cost savings
in year one were X and time to delivery reduced to Y.

You could also look to launch a business around what you have built but it
sounds like it may be too small of a niche to just drop into any business
without extensive customisation.

------
nefitty
We find it's always better to fire people on a Friday. Studies have
statistically shown that there's less chance of an incident if you do it at
the end of the week.

~~~
dwd
Why not after Christmas? You avoid the suicide season.

Of course everyone's overspent and used up their holidays relaxing where they
could have been saving and job seeking.

Here's some reasons not too.

\- You did this on your own time - stop selling yourself and every other
programmer short by giving away your work for free. If this could save them X
in wages then the software is worth at least double that assuming a two year
ROI and if you only sold it to them.

\- You're not going to get a promotion or a raise for doing this. If a pat on
the back from management is going to be the highlight of your life, go ahead.

I would suggest holding off until you leave. Make it stand alone and
generalised. Anything that smells like their IP should be gone or containable
in an editable ruleset. Throw out the ruleset you have and make populating it
part of the setup and work with them to define their own rules.

License the system as a SAAS at a price that gives them a reasonable saving.

Find more customers and repeat.

~~~
wereHamster
You obviously didn't get the reference ;)
[http://www.imdb.com/title/tt0151804/quotes](http://www.imdb.com/title/tt0151804/quotes)

~~~
dwd
No, but thanks for reminding me that I really need to watch it sometime.

------
aws_ls
Do it. If not you, somebody else will do it, and that may make you repent
later on, if you don't.

Not to be insensitive to the loss of employment of so many people. But if its
possible to automate the process by you in spare time, then its likely that
few others in the company at the top, also know of that possibility, and are
just plain busy with other things, to think of it right now. Happens all the
time in companies.

------
rajacombinator
What you are looking at as saving 80 people's jobs is also costing customers
millions in aggregate. It's pretty clear cut what to do here.

------
Ch_livecodingtv
While some jobs may diminish with DevOps, others will emerge These people you
will likely be positioned very well for the next job, often with the same
company. Companies need their effecient people or they will not be successful.

------
onurozkan
You can convert your small app to "suggestion engine" to make your analysts
work easier. Maybe some review-tracking for their performance report, which is
win-win for you, your company and making 80 people life easier.

------
joshguthrie
>80 analysts who review and scrub data mostly based on experience, lookups,
cross comparison or simply informed guesses.

Nice to know you wrote IA. Thanks to you for emulating the complete
intricacies of the human brain!

------
braindead_in
You should just ask them to use your tools and sell it internally as a
productivity tool. Tell the management that it will increase the output by 10X
and they can get 10X more work done in the same time.

------
tmaly
If your going to deploy it, you should find a way to capitalize on it. Either
create a SaaS or ask for a higher salary.

------
hoodoof
Just pack up your code and put it away.

What counts in life is how many people turn up to see you off.

Look into your soul. You know what sort of person you are. Are you the sort
who needs a pat on the back for being clever (at the cost of the wellbeing of
other people), or do you need an inner, private satisfaction that you do the
right thing by other people.

It would be different if you were the owner of the company, you would then
have different obligations, but you're not.

~~~
steve19
> What counts in life is how many people turn up to see you off.

If you judge the value of your life based on other people's opinion of you,
you will never be happy. We all do it to a degree, but making it the ultimate
goal will only lead to failure.

How many great men or woman, who did wonders for humanity (on a micro or macro
level), died alone? Many I think, Tesla springs to mind.

Judge your life on how you treat others, for that is someone you can control,
not how popular you are at the end (something you can't control).

(Stoicism 101)

~~~
hoodoof
My point is that if you hold in your hand the fate of 80 people including
single mothers and people late in their career, and you choose to end the
income of those people when it is really neither here nor there for you
personally, then you are a jerk.

------
bvenkysubbu
hi nowherenice,

I think you should go ahead and tell your management about your component with
a certain mention that it is based on analysts' inputs.

By the time your component is production ready, the management should consider
repurposing the existing analysts or give them heads up to find new jobs.

bvenkysubbu (I write automations for my living)

------
joblessjunkie
Reducing manual labor through automation is the entire point of your job.

------
treebeard901
Be smart about it, or those 80 people may decide to lay you off.

------
onedev
You should just quit and build a unicorn.

------
a3voices
I would do whatever you feel is in your best interests. Don't worry about the
finances or jobs of other people, it's not your responsibility. Also don't
worry about the well-being of the company unless you have a large financial
stake in it. Who cares if they're wasting money on employing them.

Your role as an engineer is to write code. I wouldn't step too far outside of
that. Let management do what they want.

~~~
CyberFonic
Perhaps you should have gotten a go ahead to do the work. But now that you
have done it, demonstrate it to your manager. Present the pros & cons.

Doing so you demonstrate your initiative and abilities.

Then as already suggested, let management do what they are paid to do.

Business is not a social justice exercise, especially not for engineers.

~~~
micheljansen
> Business is not a social justice exercise, especially not for engineers.

Actually, ethics are _especially_ important for engineers, as they are often
the ones with the skills to bring about impactful changes to society.

Makes me think the IEEE and ACM codes of ethics should be more known: *
[http://www.ieee.org/about/corporate/governance/p7-8.html](http://www.ieee.org/about/corporate/governance/p7-8.html)
* [http://www.acm.org/about/se-code](http://www.acm.org/about/se-code)

------
angersock
Comedy option:

Go to _their_ manager, explain that your software might cause the loss of
their department/minions, and instead see if they're willing to pay you extra
for your tool/consulting on using the tool/guarantee you won't share your
tool.

Everyone can win in this situation.

~~~
rcfox
That sounds more like extortion.

