Ask HN: Should I deploy my code and lay off 80 people?
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.
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.
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.
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's at least as effective as our analyst team in a majority of cases.
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.
65 comments
[ 1.8 ms ] story [ 106 ms ] threadYour role as an engineer is to write code. I wouldn't step too far outside of that. Let management do what they want.
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.
Present the tools to the analysts and let them see what strengths and weaknesses they find that you can use to refine your tools. Their inter-departmental praise (if such is the case) will lift your ship more than allowing your manager to claim credit for managing you to develop the solution.
>>Business is not a social justice exercise, especially not for engineers.
Says one person.
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.acm.org/about/se-code
It is his responsibility--I would say duty--to not be a shitty person. Whether or not the ramifications of his actions would make him a shitty person (and while I tend to think, in the case that has been described and assuming the unlikely case that he is right about its impact, it would not, that does not have any bearing on the greater, more important issue that you have stomped upon), it speaks rather well of him that he is concerned about those ramifications upon those around him. The advocacy of unthinking selfishness is one of the worse diseases of tech workers. Were it that everyone in this industry gave such a damn about the people around them, yeah?
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.
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.
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.
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.
Indeed. They implicitly apply domain-specific knowledge during the execution of the tasks that you observed.
It's great that your tool is as effective as the team in the majority of cases, but the flesh-and-blood are better in the minority cases - and that might be enough to prevent your script from being able to replace them.
The minority of cases might actually outweigh the majority of cases.
For example - your script might be able to reduce expenses by 80 * 50,000 = $4M/year, but that's not very good if a single mistake on one of the minority cases will cost the company $10M.
That being said, it seems quite likely that your script could at least be integrated into their workflow - which is great, and ought to get you big kudos.
To vorador: You could be overestimating what the software can do, and underestimating what it can do in a more augmentative role. Whether it helps the company at the expense of these workers -- or whether it helps everyone way more -- is all about how you position this software, and how people actually use it.
I'd talk to these users more, and be gradual with deployment. Find ways that they can use what they know along with what you have built in order to push the envelope on productivity or even explore unforeseen opportunity. I'd also slow this down and be more deliberate in how you approach and communicate the situation.
If you're not careful, you might be the one who gets fired first.
For example: 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.
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.
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.
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.
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, ...?
https://www.reddit.com/r/AskReddit/comments/tenoq/reddit_my_...
https://www.reddit.com/r/AskReddit/comments/vomtn/update_my_...
https://www.reddit.com/r/talesfromtechsupport/comments/277zi...
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+...
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.
Nevertheless, interesting stories in the replies to the stories. Thanks for sharing.
[0]: http://www.access-nl.org/living-in-the-netherlands/working/e...
People getting laid off is not your responsibility. If it happens, that's a problem with the company.
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.
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.
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?
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.
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.
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)