I currently work on a legacy system for a company. The system is really old - and although I was hired as a programmer, my job is pretty much glorified data entry. To summarise, I get a bunch of requirements, which is literally just lots of data for each month on spreadsheets and I have to configure the system to make it work, which is basically just writing a whole bunch of SQL scripts.

It’s not quite as simple as that, because whoever wrote the system originally really wrote it backwards, and in fact, the analysts who create the spreadsheets actually spend a fair bit of time verifying my work because the process is so tedious that it’s easy to make a mistake.

As you can guess, it is pretty much the most boring job ever. However, it’s a full time job with decent pay, and I work remotely so I can stay home with my son.

So I’ve been doing it for about 18 months and in that time, I’ve basically figured out all the traps to the point where I’ve actually written a program which for the past 6 months has been just doing the whole thing for me. So what used to take the last guy like a month, now takes maybe 10 minutes to clean the spreadsheet and run it through the program.

Now the problem is, do I tell them? If I tell them, they will probably just take the program and get rid of me. This isn’t like a company with tons of IT work - they have a legacy system where they keep all their customer data since forever, and they just need someone to maintain it. At the same time, it doesn’t feel like I’m doing the right thing. I mean, right now, once I get the specs, I run it through my program - then every week or so, I tell them I’ve completed some part of it and get them to test it. I even insert a few bugs here and there to make it look like it’s been generated by a human.

There might be amendments to the spec and corresponding though email etc, but overall, I spend probably 1-2 hours per week on my job for which I am getting a full time wage.

I really enjoy the free time but would it be unethical to continue with this arrangement without mentioning anything? It’s not like I’m cheating the company. The company has never indicated they’re dissatisfied with my performance and in fact, are getting exactly what they want from employing me.

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

  • 8
    Comments are not for extended discussion; this conversation has been moved to chat. Lots of interesting chat on this question, but it belongs there -- not as comments. – enderland Jun 27 '17 at 18:51
  • 134
    Did your employer agree to pay you for your time or the results? While it sounds like deception either way, if they agreed to pay you for results, then your argument based in delivering those results would seem stronger. – Nat Jun 28 '17 at 11:19
  • 25
    Also, after you insert the bugs and the other people inspect your results, are you subsequently verifying that they found all the bugs you inserted? Or are you allowing those to make it into the final product if they are missed? – rob Jun 28 '17 at 22:27
  • 24
    This question is currently on the front page of Hacker News: news.ycombinator.com/item?id=14656945 There's lots of interesting discussion happening there for those interested. – Ajedi32 Jun 29 '17 at 6:07
  • 39
    Before you comment - A chatroom exists for this question. Please take all forms of conversation, discussion, "me too" stories, random tidbits or points of advice over there. Comments should only be used for their intended purpose. We are actively deleting all comments that should have been posted in chat to avoid useful comments from being lost in the chaos. If you want to discuss this question you'll have to do so in the chatroom instead. – Lilienthal Jun 29 '17 at 8:25

28 Answers 28

You don't sell time! You sell results! But producing sub-par results to conceal the amount of time you actually work is unethical!

Despite what everyone says here, you do not sell 40 hours of data entry per week, you sell the result processing X spreadsheets.

Think about it this way: if you get distracted, and in one month make so many mistakes entering the data that the entire month gets lost. They would not fire you, but I'm pretty sure that you will face some kind of reprimand, despite working full time. Time in this case is a measurement of the work put in. If time would be the ultimate goal, you wouldn't have different consequences for different results but the same time. You show up for 40h and that's it. But because time is used as a shortcut to express a reasonable amount of work done by a reasonably competent person in that time, results are different based on the quality of your work.

I can't find the reference, but in one comment OP stated that the company made it clear in the beginning that they expect OP to work more than 40h per week if the need arises, which further reinforces my point.

Unethical is the fact that you introduced bogus results in an attempt to conceal that you are faster (unethical because is clearly dishonest, and because it may produce harm if people do not realize the incorrect result). You don't have to tell them, but you can't lie about it.


From a practical point of view, I don't think that if you tell them, it would be any risk to you. From the description, it's likely that they would not understand what exactly you did, they would not trust the process and they would not risk firing you without having a backup. However, telling them would open a strange discussion that you might not want to have.


Note that there's a difference between ethics and the law, contracts and currently accepted norms. None of them have anything to do with ethics. They are the result of negotiation between two parties, one of which, currently, has much more power than the other.

Also, because we are talking about ethics, I'm arguing that there should not be a difference if OP is an employee or a contractor, the difference is a legal and tax related one, not an ethical one.

  • 5
    Comments are not for extended discussion; this conversation has been moved to chat. – Lilienthal Jun 29 '17 at 8:04
  • 65
    I don't understand your argument behind underperforming and not selling time. If you underperform, you will still be paid for your time, but they will not consider your time to be worth the money they're paying, which leads to getting reprimanded or fired. If overperform, you're still paid your agreed salary for your time, but can be given promotions or raises since they consider your time to be worth more than they're paying. If you really sold results, wouldn't you be paid based on completion of tasks, not months worked? How do you end up at the conclusion that you're not paid for your time? – Dukeling Jun 29 '17 at 18:13
  • 18
    @Dukeling, note that in the US, if you are a salaried employee the law requires employers pay you full salary even if you only work 1 hour. To contrast, they also pay full salary if you work more than a standard work week. The number of hours is an indirect measure of results as Sorin is saying. – CramerTV Jun 30 '17 at 20:30
  • 15
    "From a practical point of view, I don't think that if you tell them, it would be any risk to you." This is just wrong. It's highly likely they'd just sack the OP. A "naive" little company doing data entry would have no clue about concepts like performance versus hours etc. Someone in the chain would just say "oh this only takes 2 hours a week and we've been paying for 40, sacked" – Fattie Jul 4 '17 at 13:52
  • Regarding the lead statement: "You don't sell time! You sell results!" For some - indeed perhaps most - employers, you are literally selling them time. Not results. The statement is much like saying "Oh, every office has a ping pong table!" It's true in "silicon valley startups" but is not true in general. – Fattie Oct 3 at 16:08

Is it unethical for me to not tell my employer i’ve automated my job?

A good podcast I listen to (Everyday Ethics) says this about ethics: "The difference between what you have a right to do and what's right to do."

  • You spend 1-2 hours per week working from home (to be with your son), but get paid for 40
  • You wrote the program 6 months ago but haven't told your employer yet
  • Every week or so you lie about what you completed
  • You deliberately inserted bugs into your program to aid in your deception
  • You are continuing to cause the analysts who create the spreadsheets to spend a fair bit of time verifying your work
  • You admit that "it doesn’t feel like I’m doing the right thing"

Although the answer seems obvious to me, perhaps your personal ethics lead you to conclude that this is okay. I suspect you know the truth though and perhaps this is more along the lines of a humblebrag than anything else. [Based on your edit, it now appears that you were actually just looking more for support of your decision to continue this practice.]

One way to check this is to ask yourself if you would be proud to let others (including your employer) know what you have done.

It’s not like I’m cheating the company

It's not?

Okay, then you should just tell the company what you have done and see if they agree. If you are right, they won't feel cheated, will say "Good job! Carry on." and will continue to give you 40 hours worth of wages for 2 hours of work.

Many years ago, in a college Business Ethics course, we were taught to imagine specific, personal scenarios when exploring the ethics of a proposed action. In your case consider: "Is this the kind of example you want to set for your son?" (for others: "How would your Mom react if she read about your actions on the front page of the newspaper?")

  • 3
    Comments are not for extended discussion; this conversation has been moved to chat. – Monica Cellio Jun 28 '17 at 18:08
  • 8
    I assume by "not cheating the company" the asker means that he is accomplishing the tasks he was hired to do. Which is an important point, but that's not the only way to cheat a company. You could steal money from the till, or (as in this case) lie to your manager. – jhocking Jun 30 '17 at 19:02
  • 10
    Maybe the analysts also work from home and run automated check on the data, and report manual hours. – alex440 Jul 3 '17 at 12:26
  • 126
    Is this the kind of example you want to set for your son?, I'd totally teach my son how to work smarter, not harder. – arielnmz Jul 3 '17 at 15:55
  • 16
    @arielnmz Of course it's convenient to call this practice "working smarter not harder", but clearly the point was not whether it was good or not to automate the task but whether to tell the truth to the employer or not. Exclusively that, telling or not telling. – SantiBailors Jul 5 '17 at 9:17

Here is how to get from where you are now,

to,

a better place.

Here's the specific language you need:

Hey guys, some good news. While entering the data over the last 18 months - and this has been great, thanks - I've been wondering if there isn't a better way. {OK, that's literally true.} I'm not sure if you realize, I'm actually a pretty dab hand with Excel / Python / machine code. Recently {note - not a lie} on weekends and so on {again - not a lie} I've been tinkering around with a system, And it's a great start! {Not actually untrue} It's an amazing time saver - check out the screen shot below. {Add an irrelevant screenshot, nobody will look at it anyway.} With a little more work, I reckon I can slash the time it takes for data entry. But I don't want to work myself out of a job, hah hah! {Self-effacing humor often the way to break news that you want more money.} What do you think of all this? {Always ask questions in negotiations, don't ramble on with suggestions - they'll get it.}

Everything will work out from there. Just personalize and hit send.

  • 18
    This answer is actually perfect. Plus, they will more likely keep you to do more things or rebuild their old system into a new one. You may just get a salary raise – evilReiko Jul 4 '17 at 5:36
  • 2
    If you want to discuss the post, use chat. If you have things to add, edit them in. If you have requests for improvement, use comments. – Monica Cellio Jul 7 '17 at 23:14
  • 1
    I agree with this approach. I've automated plenty of things like this before (though admittedly the controversy I hid was in regard to the amount of time I was spending on something that wasn't officially sanctioned) and I brought it forward much as this answer suggests to have it met with praise, and instead of reducing the amount of work, once people knew what could be done, improving it became a large part of my job. – Eliot K Oct 3 at 15:31
  • Let's say someone makes $3,000/mo doing this job that they've now automated. That's $36,000/year. How much do you think the employer would pay? $360,000 seems fair ($36k * 10) or how much they'd expect to pay everyone after 10 years. Likely, he'll get $0 and a lawsuit. – Theodore R. Smith Oct 4 at 15:24
  • hi @TheodoreR.Smith , indeed, to avoid trouble is why IMO the OP should approach it in the way mentioned here. – Fattie Oct 4 at 16:04
  • Don't insert bugs or pretend you're working when you're not. That part is wrong.
  • Just tell them about your script/process. It's actually possible that you'll get more work to automate.

Worst case, if you get "laid off" for automating your job, I'm sure future prospective employers will value that, even if your current employer doesn't.

  • 109
    Worst case, if you get "laid off" ... really? Easier said that done when you have to keep roof on your head and little mouths to feed. – Sam B Jun 30 '17 at 1:52
  • 10
    @SamB: He's a fulltime employee, and in the most of the western world, he will have paid notice period of couple of months. Especially in IT, that's more than enough to find another job. – Mladen Jablanović Jun 30 '17 at 8:50
  • 18
    I agree with this. I've heard of a guy at Dell who had to frequently update some 70+ pages of data in PPT's. He wrote a Python script to do it automatically but didn't tell his boss. They thought he was a superhero coz he got work done on time, on weekends and with no errors. He got bored and left eventually, and mentioned the entire thing in his interview with Adobe. And Adobe was impressed enough to hire him for 3 times his original pay. Sad part was that there was nothing for him to automate in Adobe. – Nav Jul 2 '17 at 7:20
  • 4
    @EricLloyd except that if a notice period is included in the terms of the employment contract, the "at will" provision alone won't allow a company to sidestep that notice requirement. – Dan Henderson Jul 3 '17 at 22:06
  • 9
    I have a friend that regularly automates himself out of a job. He never finds it difficult to find a new one, however, because the references he gets are quite good. – Jeff.Clark Jul 4 '17 at 16:24
up vote 132 down vote
+200

Lots of good answers here but I think there's another aspect to this that you aren't considering. You got a job that was supposed to be a programming job but wasn't and then you turned it into one. That, my friend, is called 'success'. You found an escape route out of the trap of a dead-end job.

But now, instead of parlaying your achievement into a real satisfying career, you are considering squandering it? This won't last forever. At some point this company and/or this legacy system will no longer be around. And then what? You put on your resume that you were a spreadsheet jockey for X years or do you tell them that you actually are a programmer but haven't been doing anything because you never told your employer what you were doing?

I'm a father too so I get that spending time with your son is important but you also have a life. I think you are wasting your talents and this will ultimately make you less happy. You work remote now. There are tons of jobs on SO that allow remote work. I think not telling your employer is the worst choice you can make here. At the very least they should employ you long enough to integrate this solution into the actual application. For your own good, you probably shouldn't admit to doing nothing for any significant length of time.

  • 1
    ^ This. While I don't think automating your work is wrong at all (though the practice of adding in bugs and such is), you should be using at least some of that extra time on your hands to add extra value. You don't necessarily need to tell you're employer how you got the extra time, but use it to work on side projects for the company. Perhaps you can replace this legacy system yourself with a custom app. That way, you don't have to feel guilty about getting paid for slacking off (because you won't be), and you can also do something fun and interesting (new development). – Chris Pratt Feb 2 at 18:39

I'll be the devil's advocate on this one: Given that as you say you've been assigned specifically this task and they're not a technical company so this is pretty much the one and only possible task they could possibly assign you, I see the following options:

  • Continue as you are, after all they pay you to get that specific job done, which you are flawlessly getting done as it is. You can perhaps get a modified contract the next time you sign one to mention the task being assigned and not total hours spent doing it to be 100% covered and not in a grey area.
  • Mention that you can possibly create an automation script and sell it to them (which, keep in mind, means you're taking the analyst's job down as well, not just yours, so its another ethical dilemma to ponder on). Notice I say sell and not gift it, since it was created on your own time while in parallel also manually doing the job on their time so it doesn't really belong to the company, your contract/country's laws should cover more specifics on intellectual property to be sure on this.

As I understand, you want to continue to be employed indeterminately to this employer for the time being (with your son and all) so to be in the clear in this case, you can potentially ask what other tasks you can perform for them in case you have time left from your main task (which you always will as we know). If you ask for extra work/long-term assignments and they have none by definition, then how you use that remaining time of yours after completing assigned tasks is up to you.

  • 2
    Comments are not for extended discussion; this conversation has been moved to chat. – Monica Cellio Jun 28 '17 at 18:05
  • 18
    "Mention that you can possibly create an automation script and sell it to them" - this seems like an extremely grey area. My reading is that the OP already developed this script on the company's dollar - or at least something functionally close - so the company would own the script anyway. Even if this script was strictly outside the terms of the OP's employment contract, ethically it seems a stretch, especially considering the vast amounts of underutilization he currently claims. – Mike Chamberlain Jun 30 '17 at 17:42
  • 1
    +1 for last paragraph. Letting them know you have some extra bandwidth for additional tasks is a good step to mitigating the situation. Especially if you follow through and actually do some of said tasks. – Rozwel Jul 5 '17 at 18:59
  • 3
    If you bring up automating it as a program and selling it to them then they might hire an outside contracting firm to do it cheaper. – deek Jul 5 '17 at 23:56
  • 2
    @MikeChamberlain: It seems far from a stretch to me. He developed code while not being asked or paid to do so on his own time. – Thomas Eding Mar 24 at 18:55

I'm not a single dad, but had often to take care of the kids, so I can imagine how you feel and what's going on inside of you. Stop worrying, enjoy the time you have with your son, and to have ethics you first need to survive, so would say keep going, but make it cleaner.

Concerning the errors you add, you should stop doing that slowly, so the analyst doesn't get suspicious. It's bad what you did, but coming clean now won't help anybody, especially your kid.

Then after a while tell them you have a little hours left every month and you thought that the whole system could be automated and you have an idea how. Depending on their reaction you can decide if you want to continue or not. If they say no, keep doing what you do or find another job.

I once learned that the price for a good is determined by how much the buyer is willing to pay, which is based on how much "value" it adds for him and it doesn't matter how much it costs you to produce the good. If you go by that theory, it should be fine for them to keep paying. They might be happy the job is done an not care about how.

Only difference to your scenario is that in an open market you have competitors who can also produce it cheap, so once the idea of automation is out, they might try to find someone else to do it, a real developer instead of a data entry guy, so give them reasons to take you, like you know the system, you know the pitfalls.

But, whatever you do, don't run around bragging, don't ever tell them, just do it right from now on (or don't if you suspect to end in unemployment).

You should also look into freelance jobs where you can do this kind of work and get paid "ethically".

My 2 cents, your mileage may vary

  • Out of curiousity, what are some examples of freelance jobs in this area and how does one go about getting these types of jobs? – MPath Jul 3 '17 at 10:55
  • This is the only vaguely supportive answer here? OP has no obligation to do better by a company than that company would by him (and there is no reason to believe they would). The best long-term solution would be for them to contract in the extra time that they have and make more money for an earlier retirement or for such a moment that they do want to come clean. – Alper Jul 3 '17 at 21:31
  • (..) the price for a good is determined by how much the buyer is willing to pay (...) it doesn't matter how much it costs you to produce the good. Except the fact that, when you buy a $10K car which cost only $3K to produce, you did NOT sign a contract with the car company that stipulated they should spend $10K producing the car. The OP however does have such a contract with his/her company. This is a big difference. – Radu Murzea Jul 4 '17 at 13:54

I think you may have lost track of yourself here.

Lets summarize what you're doing:

  • You wrote a script that near 100% automates your "full time job with decent pay"
  • You wrote your script deliberately to falsify some of the records so that it's more believable (If you have to do this, reconsider what you're doing, this is open deception / fraud)
  • You're collecting wage for 40 hrs/week when in actuality you're working at most 2.

You're defrauding your employer. Yes, you would argue that someone else may have not figured it out. Yes, you probably really like getting paid to run a script once a month. No, that doesn't change that you are essentially defrauding your employer.

I'd suggest you come clean with this immediately and hope that they'll see it as a demonstration of your value and give you other work.

Depending on how laid back they are they might even go "good for you, we don't really care how it's done as long as it is". But that is not your place to decide. They're paying you to work full time, you're not.

What you want with the company is a contractor relationship, not an employee one. Contractors are paid to do a job and have full leeway to do it how they want, to even sub-contract the task to others, while employees are paid to work, specifically for their time.

You need to look at your contract and possibly talk to a solicitor who specialises in employment law about how much trouble you could be in and what can be done to mitigate it. They can also advise on negotiating a more contractor-based role.

There is also a third option: you sell them the automation. As you're at a less-IT focused firm they probably do not have clauses that grant them ownership of the software you've created, so you may be able to sell it back to them, but it does leave you looking for new work. Again, talk to a lawyer about this.

Ultimately, your job is at risk no matter what you do, but you do hold some cards here: you are competitively performing the role you're engaged in, something that others may not be able to do easily. If there is no competition (whether by the obscurity of the work or any other reasons), it's not unethical to make that kind of money for the work you're doing; supply and demand dictates that the work you're doing really is that valuable as they're willing to pay for it. However, there is always a latent risk that someone else may discover the potential for automation independently and undercut you. Remember that companies will automate workers out of jobs all the time: it's not unethical, it's just business, so the trick is to not get screwed in the process.

The thing to remember is that, while you're currently enjoying the benefits of no-one else knowing about the situation, there are plenty of ways for that to change that require no action on your part. Whatever your choice, you do need to take action now, whether it's to guard against what happens if you're discovered, or potential loss of business down the road.

As for the ethics, right now it sounds like knowingly or not you've put yourself in an unethical position. Some will argue that now you know, putting it right is enough. Others will dismiss any ignorance and insist that amends should be made for the entirety of the violation. The water could be really muddied if we try to throw in the ethics of mothers being made to work full-time to support their children against whatever wrongs you may have done and colour your actions as a lesser evil.

You have to balance your principles with your own self-interest and the interests of your dependents. Your relationship with the company will be far less decided on ethics directly and instead on law: what has been agreed to and can be demonstrated and proven. Ethics affect your reputation and conscience.

  • 7
    Easily the best post. OP should rent his system, and then he can expand if he wants. I would give my employer options: "I have created an automated system to do all this work in two hours. I own this software, but I am willing to do the following. 1) Sell it to you for X, X being the cost of the work/money being saved in the remaining time they intend to use this system. 2) I will allow you to rent the system. I will make a login and some sort of monetizing boilerplate. You can keep the software on premise, but you have to pay me X. 3) I remain employed and I use the software on my own." Easy. – EvSunWoodard Jun 28 '17 at 17:36
  • 3
    Not rent - just ask the employer if he can transition from employed to contractor. Problem solved. Plus he can use all that free time to find new clients, watch Netflix, hire other people, whatever. – Prof. Falken Jun 29 '17 at 7:21
  • 25
    Please be careful here - in most cases, anything developed on employers hardware, during paid time, related to work is automatically owned by employer. Trying to sell things you have developed during your paid time is a big no. (I have been in companies which were even trying to own anything you have developed on your private PC, during free time and not related to work, but thats separate story). – Artur Biesiadowski Jun 29 '17 at 11:48
  • @ArturBiesiadowski like I said, you need to talk to a lawyer really if going down this road. There's a reason that the contract clauses exist because it isn't that clear cut without them. I'm not sure who the onus is on to prove that the development was done where and when either, but if there's no agreement it would mean a legal battle. – Danikov Jun 29 '17 at 13:17
  • There's a rush the employer thought it couldn't be automated or didn't realise it could. Instead they hire a contractor for a week to do it leaving you out of a job. I'd try transitioning to paid contractor I think of I were starting from that position. – pbhj Jun 29 '17 at 13:49

Yes. You're deliberately spending time to simulate bugs and human error to obfuscate that you've made yourself redundant.

If you have a decent notice period suitable to finding a new job then I would skip the bugs phase next month and then say:

Look after months of doing this job I've figured out a way to automate it. I've implemented this myself on the side and verified its operation over several months. I'm confident now that it can do this job without supervision. Do you have something else for me to do?

If they give you something else to do: Great, you've made a good impression and still got a job. If not: You've made a good impression that should be helpful when looking for a new job.

Now I assume you don't have this luxury. So I understand that you hesitant to disclose the facts and be laid off immediately. In that case I would use your free time to find a new job. Then quit and tell them.

  • 10
    Agreed, but the approach is "too abrupt". There's absolutely no need to state "I've done this. Now fire me or give me a raise, today." Just ease in to things. – Fattie Jun 27 '17 at 13:32

In my view it all boils down to answering the question:

Are they paying me for my time? or Are they paying me to get work done.

If you feel it's the former then you should just tell them you've optimized the process and it's taking you less time now, and if they have something else for you to do.

If it's the latter, then you're good. You're doing exactly what you're being paid to do (sans the bugs part which is strange to me). Even better automating usually leads to reduction of mistakes, so you are (probably) doing a better job then the guy before you (again, sans the intentional bugs, because WTF?).

This question is the sole reason why so many philosophers (and even whole religions like Amish), advocate against trading time for money, they advocate trading services for money, because then all the improvements, automations and innovations benefit the person who has made them.

So realistically and practically: if you feel like you're a contractor hired to do a job, you're fine. If you feel of yourself as an employee that sells time, you should talk to your manager, explain that you've improved the process and ask if there are other things that benefit the company that you can work on.

PS: There's a bunch of practical considerations:

  • What country you're in, laws differ from country to country, especially related to copyright.
  • Are you a full time (though remote) employee, or a contractor.
  • In most western countries, copyright is automatically transfered if it's a full time employment, however stays with a contractor unless there's an explicit assignment.

As a consequence it might turn out that if they fire you, they lose a right to use the software you've created, and to which you've retained copyright.

Usual disclaimer: IANAL.

  • Question was about the ethics, which is not exactly feeling, but often boils down to hwo you feel. I tried to answer both: If it's ethical (that depends if the Author feels like a a contractor or an employe), and what he sohuld do practically. He stated that he's a contractor working remotely, so on that basis he's in a clear. The thing is again it often comes to 'handshake' agreements, many tiems someone is hired as a contractor formally but understanding is that you are beeing paid for hours. So again, it often comes down to what you feel is right thing to do. – Marcin Raczkowski Jun 28 '17 at 11:39
  • Please keep in mind that if this was more practical question there's also the issue of copyright rights, it's also possible he could simply sell them the code (assuming by law copyright stays with him - eg. in most work-for-hire agreements, except if there's a clear and explicit copytright assingment). That's a reason why so many corporations won't hire contractors - by default copyright stays with a contractor. Finally many contractor contracts will have explicit copyright assignments for everything you create during our contract, which gets funny when you have more then 1 client. Also IANAL. – Marcin Raczkowski Jun 28 '17 at 12:03
  • As Joe said, it's not about how you feel, it's about the terms of the contract. Apart from that, this answer is spot on. – Fabio Turati Jul 5 '17 at 7:42

Is it unethical? yes.

However there are other considerations here. It would also be incredibly unethical if the company were to dump you after you saved them so much hassle (once you give them your solution they have the job they wanted done and a worker who can do another 39 hours of work for the same price they were happy to pay for the job as well saving others from having to check so closely for errors) and you have to consider the personal cost of losing your job (especially to your family).

I would float the idea that you are looking for other projects. Basically say you have a small amount of free time and want to know what else you can do. You never know, there might be a few things you can do and it is a risk free way of bringing up the subject.

If no new projects come along you can safely say there is a high risk of the company being unappreciative of your work (at least with the high cost it could entail to you). Find a new job that is suitable for your needs and hopefully a bit more entertaining. Quit only once a suitable job is found.

I don't feel this is the most moral way of doing this but it is the safest and you have to look out for yourself and family. I would stop bringing in the bugs though, that seems a bit more dodgy and leaving them out just makes it look like you have a way of checking your work.

  • I did not say it did. I more meant if the OP finds out the company would likely let them go after some investigation (asking for more work) then there is less of a dilemma as the company would act in an unethical way. Unfortunately it would be a far bigger loss for the OP to test the company's ethics for real if they don't act ethically. Maybe I explained it badly. – Christy Jun 27 '17 at 15:29
  • Thanks. Fixed the next one as I guess I should be clearer and pay more attention. Meant that if the op gives the solution then errors are reduced, given they had to be introduced manually, they don't need to give this boring job to anyone in future and they essentially have the job they were willing to pay for and close to a full employee for free (a full employee less 1 or 2 hours for this job). – Christy Jun 27 '17 at 15:52

You're not doing right by the company but should you?

I'm not so sure you should have to come clean as some of the other answers suggest, if you're afraid your job is at risk - it may be "the right thing to do" by the company, but what's the right thing to do by your son? Your mom would have a good point, you're in a very lucky position - are you a single dad or was that an assumption made in one of the answers? If so, then spending time with your son is very important and this is a good opportunity to do that.

Imagine you found a load of gold buried in your back garden that could easily be extracted. All you had to do was dig it out, clean it up a bit and you could sell it. What you're asking is, would it be unethical to sell it at standard the gold price?

The same question applies to any high-margin product. It could be argued that it is wrong to charge a high price for something you produced at low cost, but that is how the capitalist society we live in works. Market value is set by how much people are willing to pay.

Here is a question, if the company you work for invented some secret which allowed them to produce a product / service very cheaply and sell it to customers for a high profit (but had to keep secret how it's produced and how easily it's produced), would they?

What you're doing is following standard business processes - i.e. trying maximise income while minimising cost.

You certainly aren't showing loyalty to your company, but the question is what value do you put on that?

  • 1
    If you say that you got the gold somewhere else at a high cost, you are being dishonest. Specially if they buy your gold only because of the lie. – Enric Naval Jun 30 '17 at 17:39
  • 1
    i totally agree except you missed the part about him deliberately introducing bugs. that's dishonest. – Walrus the Cat Jun 30 '17 at 18:06
  • @EnricNaval - I'm talking about selling at the standard price, just not telling them how cheaply I got it and not reducing the price because of how cheaply I got it. – colmde Jul 6 '17 at 7:51
  • 1
    @WalrustheCat - True, I was concentrating more on the "not revealing how easy this is for me" bit... The OP could, I suppose, always claim he created a script or something that checks for errors which he then corrects... – colmde Jul 6 '17 at 7:57
  • @WalrustheCat Maybe OP can leave a bit of data entry work out of automation preferably not very "deep" in the process, at the same time stop introducing deliberate errors. Some errors are naturally bound to occur, even though less than earlier. This will keep things in control. OP can complete some certificate courses which will enable them to seek a new job, as and when needed. This need could arise anytime so OP has to be ready. As this answer puts it well, no need to tell them. But someone like an intern might be put on an automation project. – DS R Nov 7 '17 at 7:16

There is nothing wrong with automating parts or even your entire job. As long as it is done according to your employer's satisfaction, you are good. Do not introduce deliberate bugs.

Contrary to what is being said here, what you are doing is valid. If it wasn't, the entire IT industry would collapse and most sysadmins would be fired.

Please note that the script is your employer's property since it was created while you are employed by them, for the specific job and on their time. The rest is completely valid.

  • 5
    not true sysadmins still monitor systems and are paid to do monitoring. In this instance OP is being paid to do work. If he has run out, he needs to find more. – SaggingRufus Jun 27 '17 at 14:39
  • 7
    @Scrudge There's nothing wrong with automating the job. There is something wrong with being paid to work 40 hours, pretending to work 40 hours, but only working 2. – marcelm Jun 28 '17 at 19:43
  • 2
    @marcelm 40 hours is more like availability to take calls etc. it's an arbitrary number introduced by henry ford at the tail end of the industrial revolution and doesn't have anything to do with the company's decision to pay this person some money to receive even more money. if they're happy with their rate of return, why does he have to skimp on his own value proposition in order to make rich guys richer? – Walrus the Cat Jun 30 '17 at 18:04
  • 3
    @marcelm how would one define "working" 40 hours? – Walrus the Cat Jul 2 '17 at 20:08
  • 2
    Intentionally putting in wrong values to deceive is NOT valid. – WGroleau Jul 3 '17 at 0:38

As someone who did data entry meant to be manual, and automated it, I can answer this

In my case I could have had a mindless data entry job for half a year, guaranteed. Instead I automated the process and publicly disclosed this to my employer. I'm now assigned to a department that suits my talents and abilities. Below is why I disclosed it.

Straight answer is: Yes, it is unethical (I'd also add purposefully making it buggy to make it seem human is even more unethical).

Long answer as to why it is:

Their finances, your long-term employment

Your company's survivability is down to the productivity of it's workers. Contrary to expectations, (good) companies don't fire workers who automate their tasks and make things efficient. If you get fired and they use your program to replace you, either they were already in financial dire straits or they're an evil company. The program isn't what's talented, you are.

Your code, your problem

Any smart company wouldn't fire the sole developer of a piece of kit they don't fully understand. If it goes wrong after they fire you, how do they fix it?

If the company benefits, so does everyone else working there

Are any of those colleagues your friends? You might be able to reduce their own workloads too, either directly (by giving them the tools) or indirectly (by taking off what might have become their workload). If your program can auto-validate work, it means the validators have less work to deal with. Less stress for them. More success for this company. Everyone's jobs improve.

Not disclosing holds yourself back

By not disclosing you solved what they perceived as a complex problem with a straight-forward solution (that could be saving them many working hours), you ultimately hide your own talents from view, which means they cannot reassign you to a better position, or allocate you more challenging (and thus more interesting) work. In my case, by disclosing what I had done, I went from a data entry job (which turned out was going to be canned anyway) to a leading edge department whose sole goal is to automate and modernise a lot of the systems.

It hurts your self-esteem

If you have to hide your talents all the time, and pretend you're dumber than you look, whilst having the guilt of 'cheating the system', it psychologically negatively impacts you.

The real reason you ask

You don't ask if it's unethical, because deep down you already know that (you even say it doesn't feel right). You are trying to weigh the pros and cons of disclosing something that might put you out of a job when you're concerned about having enough money to feed your child. The real issue you're having is 'how can I maintain job security when I've automated my own job?'.

This boils down to two points: either don't bother automating the task in the first place (which becomes tedious), or, ultimately, you take a risk of losing the job but finding a place that better suits your talents. In my case, my disclosure saved me from job redundancy (I walked out of a department that saw four redundancies) and I was only there on a temporary basis (IE I had zero job security).

Weigh the pros and cons. You know it's unethical, but that's not what is bothering you, otherwise you wouldn't have done it.

  • 2
    +1 because I can confirm all of this, having followed the same process (automating work and getting assigned to automate more). And they didn't fire developers of work they couldn't understand--instead one of them quit and one died and I had the "privilege" of figuring out how to keep it running. But the OP has put himself in a tough position. The advice to reveal the automation is complicated by the fake bugs. – WGroleau Jul 3 '17 at 0:46
  • The main problem with this answer is that it assumes the OP wants more interesting work, or any more work at all. They seem to enjoy the working rhythm this has created for them. – Weckar E. Jul 5 '17 at 7:13
  • @WeckarE. The answer doesn't assume anything. It shows the OP what can be the outcome of the action. If they wanted the work they're presently doing now, as my answer says, OP shouldn't have built the automation in the first place. Unless you're suggesting the OP likes the rhythm of purposefully introducing bugs for people to find, then I'd count that as dishonesty (possibly even criminal damage as it's purposefully tampering with data). – SSight3 Jul 7 '17 at 12:22
  • @SSight3 I meant the rhythm of much free time for pay. – Weckar E. Jul 7 '17 at 16:20

First, the main ethical questions:

You are deceiving them by introducing errors. This is blatantly wrong. You knew this when you asked the question, so it's not news. Just because it's not 'harming anything,' doesn't justify the deceit. The harm is to the implicit trust in employer/employee relations.

Is it wrong to create a system to do your job? No. But, is it wrong to get paid an hourly wage for 38 hours of no work a week?

Second, the really important issue:

What would happen if they found out what was going on? Would you lose your job? Maybe. By pretending to work when you're not, you have damaged the relationship, as the pretense affects your behavior.

If they have a claim for the process or tools you have created, they could take it and 'replace you' with it. So, it really depends on whose property the code is.

If your contract covers 'intellectual property created in due course of employment,' then the code is legally theirs, whether or not they know about it. If you are a contractor or consultant, you may own the tool you created. If so, you could negotiate a license (and possibly a maintenance agreement) for it in lieu of salary.

  • "You are deceiving them by introducing errors. This is blatantly wrong." Says who? Everyone introduces errors, I don't think intention matters, pragmatically. – Patrick Jul 5 '17 at 22:10
  • @Patrick - he has a deceptive purpose for introducing the occasional incorrect data point. He wants it to appear as though he is doing the work the old way, in order to hide the fact that there is a virtually error free machine doing the work. From his point of view, they are not errors. They are incorrect entries that he intends someone else to see as errors. That is deceptive and wrong. – HardScale Jul 5 '17 at 22:28
  • Again: 'Says who?' - but maybe you're right, and that is why I like OP's question. OP is both 'right' and 'wrong' on so many different levels, it's like his question has a huge, "Argue about ethics!" sign taped to its back. – Patrick Jul 6 '17 at 0:33

Obviously inserting bugs to deceive your employer is wrong.

I understand your hesitation about being laid off which is why I would suggest letting them know that you finish the work in a fraction of the time that they think you need and therefore you can take on more responsibility.

Unless they ask, I see no reason for you to mention that you automated it, and even less of a reason for you to send your scripts to anyone else.

The company would be paying for someone to do this job 40hrs/wk without you, I see your ability to automate and maintain tasks as an opportunity to increase your worth to the company as opposed to a reason you would be laid off.

  • 5
    > I see your ability to automate and maintain tasks as an opportunity to increase your worth to the company as opposed to a reason you would be laid off. — employer might have a different opinion, and OP cannot know in advance – Sarge Borsch Jun 27 '17 at 13:58
  • @SargeBorsch Why would employer laid off someone who can automate the jobs? Even they get the script, they don't how to config and maintain it. They may give you more jobs and laid off others though. – Joshua Jun 29 '17 at 9:23
  • 4
    @Joshua It's naive to expect all people to be reasonable – Sarge Borsch Jun 29 '17 at 9:53
  • Its possible that this is the last task the employer thinks should be automated. The question indicates that there's not a lot of IT work going on. It is totally possible that upon receiving the automation, the company then feels it to be appropriate to lay off the human. Unless you are expanding your business, IT systems almost always are undertaken to reduce human wages. – Graham Jul 6 '17 at 18:39

A lot of answers here focus on whether you are paid per hour, or paid based on results. A lot of answers also focus on errors.

I whole-heartedly agree with the idea of eliminating any known bugs. Making intentional errors may bring about risks of penalties, including termination or worse. You don't want to get into trouble with the law.

By eliminating the bugs, people will assume that you found out how to eliminate errors. Whether that is through manual efforts, sharpening your mind, or using automation really doesn't matter.

As for whether you charge per hour or per result: does it matter? Are you sure you're not working 40 hours per week? Keep in mind that if you are working at home, you may have extensive leeway on how you do your job. e.g., who is to say whether the data entry is done by having your fingers press keyboard keys, or having software do it? If you note that between 8am and 10am you made sure that data entry is complete, that can be 100% accurate. Is anyone micromanaging you to see how many times you got up from your chair while you successfully achieved your task?

I even insert a few bugs here and there to make it look like it’s been generated by a human.

See, a lot of people are assuming you are trying to cover your tracks. However, you did say:

in fact, the analysts who create the spreadsheets actually spend a fair bit of time verifying my work

From what you said, I suppose it is possible that you are just feeding the analysts, to make sure they are doing their job of catching the errors.

Okay, so maybe I'm giving you too much benefit of the doubt here.

Whether your motivations were perfectly pure or deceiving, either way you're better off eliminating the errors. They threaten you with more harm than any good for you they may appear to serve over the long term. (Note that I'm saying they don't promise much good for you. They might give someone satisfaction that the analyst's time is being useful. But if the need to have analysts check the work so thoroughly is a need that is reduced, because people stop thinking that your work needs to be analyzed as much, because you work is trusted, that doesn't harm you in any way I've seen yet.)

Your best approach may be to tell your employer that you've been able to do things more efficiently, and now you'd like to outsource yourself, so that you can continue to deliver results but so you can legitimately manage your time however you want, including the possibility of spending time serving another organization if you choose. Once you're out-sourced, you're absolutely in control of the process, and you can simply bill for results instead of per hour, so then there won't be any basis to claim ongoing dishonesty.

If they don't want to outsource you, just keep asking. Eventually, with quality results that allow them to see less of a need to keep employing analysts, they should eventually find benefit in cooperating, if only to keep you (the person who successfully handles a job that they need to be done) happy.

I will add a point, and delete this posting if there isn't enough meat. First, I am assuming the OP is in the USA.

If the OP created the automation on the clock, or using company equipment, then the company owns the automation software. So the OP is using a software asset owned by the company, and he has not informed the company of this asset. That's another ethical issue.

We know that if the OP told the company the full truth, they'd snatch it up and give it all to the first person who'd do it for a nickel less. Of course that should not matter ethically, but we're humans and it sucks.

If the OP were slavishly working for 39.5 hours/week to do the work, would the company be getting any additional benefit? Of course not.

So, what the OP is doing makes us feel funny, so it's probably wrong at some level. But I would like to say that there is are pure ethics and realistic ethics. Proponents of pure ethics will immediately say people who are "realistically ethical" are simply rationalizing unethical behavior. They are probably right in a useless sort of way.

Rhetorical questions:

  • What percentage of the population would admit the automation? You can get an idea just be reading this thread.
  • Based upon our experiences with management, what would those people do in a similar situation?
  • If you found an envelope containing cash and "loyalty card", would you hand the envelope of cash to the manager of the establishment, trusting that they'd check the loyalty database and return the money to the owner?

So you can see that there are purely ethical behaviors and then there are the things the general population would probably actually do.

My advice:

I don't see a need to be a "top 0.1% ethical person" at the possible expense of one's employment. We would all like to be 100% purely ethical, but the real world is a hard place.

However, the OP feels bad; he is not being true to himself. That's the rub. That's soul-killing.

So, let's be true to ourselves without being self-harming.

  1. Stop inserting false data right now. No ramp-down. Stop it. If someone asks you what you did to remove the errors, lie or mislead. Do not tell the full truth. "I created some automation to make sure these errors don't happen again." In the cosmic scheme of things, this is a minor transgression. There is no point in inviting punishment since you have learned your lesson and will never do something like this again. Right?
  2. Keep doing what you're doing otherwise - you're delivering great results for a price the employer is willing to pay.
  3. Don't hide that you've automated.
    "These results are shockingly clean!"
    "Thanks, I found a way to produce the results quicker and more accurately."
    "So you have some free time, eh?"
    "Well I am surely spending less company time making fewer error-prone
     hand-edits than before, so yes."
  1. Continue to own the process. The ownership doesn't stop when the file is delivered. It stops when there are no more questions to answer, and when there is no chance you need to make a tweak for whatever reason.

  2. All that being said, this is a golden opportunity to grow. Perhaps the analysts will let you start doing some of their grunt work? If they did, would it improve your future hire-ability? Find more work, especially one that teaches you a new skill.

Is it unethical? NO.

The fact is that there is not one ethics, but many different ones. There literally dozen different approaches to the same problem that would lead to different conclusion.

Ethics is used to tell apart what is wrong and what is right, but the fact is that there is no absolute way of doing it, because what you consider right could legitimately considered wrong from a different point of view. Furthermore, what is considered correct today, may be wrong tomorrow.

For what concern your particular case, I see the situation in the following terms,

  • a company has decided to keep a legacy system (saving the huge cost to substitute it with a newer one) by hiring a person that has to do a specific job, for which a budget has been allocated.

Is the job done every month? Yes.

Is the job done correctly? Yes (the bug story is not important, since they already pay someone to check for them)

Even more important,

Do the contract that you signed specifically says that you have to manually handle data? Unlikely, but if it specifically mentions it, you should tell them; otherwise, you are not doing anything wrong, just the job that they hire you for.

The company is not making you a favour by giving you a job, but it is paying for a service that it needs, and that you are correctly providing. How you do that it is not relevant. So, obviously do not tell them anything, and congratulate yourself for your skills (since they have not been able to do the same for years).

I would argue that you've crossed the ethical line with supplying them with work you know to be incorrect and not supplying them with the results as soon as they are available.

So I would change that, and see if they question it. As far as "automation" goes, my suspicion is that if you suddenly start producing work faster, they either won't notice, or won't react with a firing.

It's highly unlikely, unless you sit them down and explain how to use the software, that they'd want to do so. So you could even explain that you've found ways to automate some of the process, hence the speed-up.

As far as "it's only taking me 1-2 hours", I don't see you have an obligation to tell them that (you're being paid to produce results they consider worth X, not to fill time), but I do think that you have an obligation to provide them with results as soon as you have them to hand, and to do your best to produce the results as bug-free as possible. Deliberately injecting errors is right out.

I didn't find anything unethical in your question until

I mean, right now, once I get the specs, I run it through my program - then every week or so, I tell them I’ve completed some part of it and get them to test it. I even insert a few bugs here and there to make it look like it’s been generated by a human.

I think, you have spoiled it all by this.

Employer wants actually one thing - have things done. Period. They are willingfull to sacrifice part of their income to reward the ones who do this. If you are contractor, you have an contract and you are paid pr this one particullar task. If you are an employee you are paid for your work or by hours.

If you are paid for hours you are estimated to earn $X / hour, therefore the employer will pay you $Y / hour. Or your task will earn $X and you are expected to work on it for Y hours and your saalary is estimated from that.

In your particullar case you are expected to process X spreadsheets per week when working 8 hours a day. You are capable, because of an algorithm you made by yourself, do the same work in several minutes. Take it this way, your work is valued by hours expected times wage per hour. Creating the algorithm actually increase your value for the company! The walue may be astimated by dividing the value of your work by the actual time needed for that.

What is the problem here is the willingfull introduction of errors to mask programmatic input as human. Why did this idea even crossed your mind?

What can be done with the minimum damage to all involved?

Contact your boss and inform them you have significantly improved your productivity and ask for new work. If asked, you can say, that your algorithm was tested for 6 months without problems. You can offer making some user interface or improve it more.

Tl;dr

Improving your productivity by writing macros, programs and other workarounds is ethical and shall be rewarded. It shows your interest in the work.

Using such aid and claiming it was your work solely is unethical and shall be evaded. It shows your interest in outsmarting your employer.

All the answers above are contain excellent points. So I'm going to turn the question on its head for the sake of philosophical discussion: what if instead of a human data entry job, we were talking about robots doing a human's work. Here's your question rephrased:

I was hired as head of department X as manager of a large team. My first job was to build a robot to do my work. Now the entire department runs itself. I don't have to manage anyone -- it's all done by the robot, while I keep getting paid my full salary for putting in just a few hours' work here and there to check it is all running smoothly. I've even programmed the robot to make a few mistakes here and there to keep everyone happy and give them a sense of purpose by making them check its work.

Is that cheating?

My point here is: you've asked a crowd of IT professionals that value actual work as "getting things done in the time it takes to do them". What if you had asked a crowd of CEOs? Or a crowd of salespeople?

In other words: according to most answers above, it is unethical to automate your job and getting paid full time; however when you rephrase your question and substitute "programmer" with "team leader" all of a sudden it does not sound so wrong.

Or does it?

  • I love that this question got +3 and -3 :) (and no explicit negative comments!) – lorenzog Jul 16 '17 at 22:02

One instructor comment from an ethics class:

I commented that someone had said of romantic relationships that hiding things was a red flag and probably indicated a problem even if the concealment was not of itself wrong.

The professor commented that this wasn't just a feature of ethics of romantic relationships: in general, in ethics, if you're concealing something, you probably need to take a look in the mirror. A long one.

I don't see it as particularly an issue that you automated your job; I have on a much lesser scale automated parts of a job, and kept my boss in the loop if it seemed worth mentioning. I've never gotten in trouble for automating activities that I remember.

However, your failure to bring your boss major relevant information is wrong, and actively hiding by adding fake data entry errors is a whole new level of wrong.

You know whether your actions are right or wrong now.

The question is whether or not there is a clear agreement between you and your employer on what you are expected to do for your compensation.

I would question the ethics of your immediate supervisor's lack of understanding about what you do on a daily basis. You didn't invent this system. These tasks were handed to you. Only a poorly run company would get rid of employees who prove they can make their job better and improve their level of efficiency. It's rare for someone to completely automate themselves out of a job.

Part of your role as the technical expert is to be the insurance policy against things that could come up. Business rules and regulations can change at any time and it may be worth it to your company to pay someone to do nothing just in case you are needed. We don't want fire fighters to encourage fires or for police officers to encourage crimes.

The problem with trying to conjure up more work is these types of activities are rarely important or you'd already be doing them. When real work is needed, there is a risk you will be spending your time on these wasteful activities instead of tending to the bigger problems. Everybody would like to think you'd know the difference and as an honest employee will make the right decision, but it's obvious your boss wouldn't know the difference.

The key question is what you do with your free time and what they would do of it.

Is the business you work for ethical itself?

In the vast majority of cases, this is a very tricky question to answer, because the impact of a business over its environment can be very positive, very negative, and most of the time is in a gray area where the answer calls for subjective values rather than universal ones.

Some companies made a living out of enslaving their customers. Some companies made money by great innovations that made everyone's life better. Some companies treat employees well. Some try, but truly don't.

What you are doing is certainly not loyal to your company, but regarding ethics it is completely unclear. What you did is shifting value from your company to your own hands. Is this ethical?

If you were using your 35 hours to work for charity, I doubt anyone would say you should ask for replacement tasks. If you were using it to play video games and generally have activities that only please yourself, I doubt anyone would say what you do is ethical.

Clarifications

It seems to some people commenting this answer the complexity I added could serve as a justification of something they find obviously unethical, but let me add to this complexity argument with personal experience with why I find the "You lie, this is unethical" to be overly simplistic.

In one of the company I worked for I faced an authoritative management style which happened to, at times, prove itself wrong and inefficient. Before I eventually left, I've been led countless times to hide initiatives I've been taking for the company because they were considered as waste of time, not being part of my missions, being something I would do for comfort, when truly I tackled many problems my manager was underestimating (such as misleading ergonomic) or unaware of (such as technical debt). I wasn't trusted for any responsibility and since I was managed by someone lacking competence, I was often in front of a the choice to either follow an irrational order or cheat to do things in a way that was more beneficial to the company.

This is an example of a situation where being loyal and ethical can be opposite things.

Adding to this, I have mixed feelings about "doing my job well". As a programmer, results of my activity include destroying jobs to enlarge productivity and financial profits inside a country which knows massive unemployment. The outcome of the business is complex and its ethic is questionable.

Within this frame, it's never obvious where the ethical work position is. Sometimes, maybe there even isn't any. My personal conclusion is that the best thing I could do there is to earn money and free time to do thing I really trust as ethical - may that mean acting deceptively toward an employer. This is why, if I was in a situation I could automate my job, I would very seriously consider whether it can be ethically correct to lie and use the resources for another purpose.

  • 2
    Having no ethics or morals apart from what is "for the greater good" allows you to justify even the most despicable of acts (e.g. murder is okay because the victim wasn't a force for good), even more so if you happen to "fail" to take into account certain factors or your reasoning or facts is a bit off. So this is not a particularly convincing argument. – Dukeling Jun 30 '17 at 13:30
  • 1
    @Dukeling Greater good arguments can be dishonest but they are the way you can consider if an act is ethical or not. Conforming to expectations of hierarchy cannot be considered ethical as is - only a less responsible behavior. Slavers were following their society. People that dropped bombs over Japan had orders, too. How ethical was their conformism behavior ? – Arthur Havlicek Jun 30 '17 at 14:12
  • @ArthurHavlicek the greater good killed over 100,000,000 people last century – Richard U Jun 30 '17 at 16:27
  • @RichardU I don't think hyperbole is making your point any clearer. Automating jobs clearly never killed that much. – Arthur Havlicek Jun 30 '17 at 22:06
  • 1
    Frankly this whole discussion is ridiculous. Ethics and morals are BY DEFINITION finding out what is "for the greater good". That moral arguments are and were used to lead masses to do unethical things is a question of power and influence, which is either off topic, or precisely proving you should ask your judgment before following another man's call for ethical action. – Arthur Havlicek Jun 30 '17 at 22:22

Points not covered by other answers are in bold.

Yes, of course it's unethical to deceive your employer in the manner you are already doing, and you know that already. Otherwise you wouldn't have felt compelled to insert bugs.

The question to ask yourself is, if you were working from the office instead of home, and your boss could drop in at any moment to ask you to walk you through the file you're currently processing, would you say or do anything differently?

If you are paid hourly or filling out a time sheet stating how many hours you worked, you are lying, which is blatantly unethical.

Depending on your region, if you are salaried, it may be illegal for your employer to require you to work a certain number of hours. This is a protection against requiring overtime without compensation, but it is not a "get out of jail free" card.

Many companies only offer benefits to employees who work a certain number of hours, such as 30+ hrs/wk, and on the flip-side are required to offer those same benefits to all employees who are eligible. This is pretty standard in the US, as far as I am aware. Under some employers, you accrue PTO based on the number of days or hours you work. If you are taking advantage of any such benefits, you implicitly agree to work at least this many hours, even if that means sitting at your desk in your home office and staring blankly at the wall 7+ hours a day or doing your job manually. Failing to tell your employer that you have automated your job and are not actually working enough hours to be eligible for benefits is unethical, especially when a part-time employee working 10x as many hours as you would be denied.

If you signed an employment contract and it contains an intellectual property clause granting ownership to the company for any IP you develop, they already own the scripts and it is either implied or explicitly stated that you must provide them to your employer.

You have already stated that your scripts occasionally require modifications, so your employer will need to retain someone to maintain your scripts whether it ends up being you or someone else.

A truly unscrupulous person would try to repeat your formula with additional employers, to the point they are raking in multiple full-time salaries and working only 1-2 days a week.

Even if it weren't unethical, you are doing yourself no favors in terms of your career or professional development if you are not spending your time practicing your skills and training on additional technologies. There are careers in automation that value what you have done, and will pay you more than a job that boils down to manual data entry. If you just continue your current deception and spend the rest of your time on leisure, your skills will stagnate and you'll be screwed when you do eventually get fired or laid off.

  • 5
    this doesn't seem to offer anything substantial over points made and explained in prior 19 answers. See Back It Up and Don't Repeat Others – gnat Jun 29 '17 at 7:11
  • 2
    Perhaps I missed it but in those other answers I did not see anyone else mention how it would differ if he was working from the office instead, the fact that he may be claiming employee benefits for which he is not actually eligible, that his employer may not be technically able to require him to work a certain number of hours but that does not make this right, or that he could be even more unethical by taking another job while continuing to get paid for his current one. – rob Jun 29 '17 at 13:05
  • 1
    matters of hourly job were already covered in one of prior answers that was posted several hours before this one – gnat Jun 29 '17 at 13:19
  • 1
    no other answers mentioned benefits / PTO simply because there is nothing about this in the question. Responsible answerers base their posts on what is written there (see How to Answer) and don't take assumptions out of thin air. And if they feel that some details needed for answer are missing in the question, they first comment asking to clarify these and after this is done provide answers based on provided details (as opposed to inventing these out of their head) – gnat Jun 29 '17 at 13:35
  • 2
    I did ask for clarification on some points and am still waiting. The hours required for benefits eligibility is standard in the US AFAIK, and it is relevant within the context of identifying whether it is unethical to forgo telling his employer that he has automated his job and is only actually working 2 hrs/wk. Apparently there are very few "responsible answerers" here because they did not ask for any clarification: "if you are a contractor"..."if [the contract] specifically mentions it"...even the highest-voted thus far: "if the workload gets increased" – rob Jun 29 '17 at 13:54

A very analogous situation:

If you called the cable company to come to your house because you wanted them to install new cable lines for your house, and they quoted you a significant price (after all, it's a lot of work?)... then they showed up, only to then find an old line already existing (put there by a defunct competitor)... such that they end up being able to hook you up in 5 minutes... how reasonable would it be for them to maintain the major cost from the estimate? After all, your agreement was on the work being done, not how much labor it took?

It goes to highlight a bigger point. This world is one filled with people only looking out for their own benefits.
But in the end, everyone's a loser from that. The cumulative effect of those grasping at all they can is a world filled with waste and delays. A world slower to innovate, slower to cure disease, slower to build. A world founded on corruption. It may seem like the losses of another, when it is unbeknownst, are a clean getaway. But indeed there's always a victim. A streetcorner con seems to get "free money". But those truly in need often can't get the help they need as a side effect. And that money (and time) that could've been used for something useful ends up wasted. It may seem fruitful to you to take ease off the backs of those really working to bring benefit and gain, and enjoy use flaws to make profit rather than upgrades... but just do realize, if every single person did it (and why shouldn't they?), we'd be nowhere. It's indeed so true that companies often may not be looking out for the employees. Likewise most companies could in these days say that about their employees. And in the end it's a giant Prisoner's Dilemma

And, as it is for this situation... so it is for all situations; anyone can opt not to be troubled one bit by potential moralities.
Indeed ethics appear as fraught with subjectivity.

But in the end, the world requires axioms for living at all. And despite how much one may argue, he or she typically sees them, but just chooses to insert their own reality because it pleases them more. Yet, still that doesn't mean the axioms aren't true, nor that the person won't be held to account to them.
You may decide that the requirement to eat is simply a mirage, a false societal concoction. But you'll still be held to account for the consequences of thermodynamics. Indeed, ethics aren't typically proven in any conclusive way... but likewise one can no more prove that two points produce a unique line (in a given plane). One just subsequently shouldn't claim themselves too surprised if someday they're held to the ethics they claimed they couldn't be convinced of.

  • 1
    The initial analogy would work better if the old line had been installed by the same company instead of just being found there. – SantiBailors Jun 30 '17 at 10:07
  • 1
    I don't really see how the analogy would make anything clear to anyone, either because the 2 things are just too similar or because someone will just say "well, that's different because...". Most of your answer seems to say "we need ethics" in a very roundabout way, which is somewhat tangential to the question. – Dukeling Jun 30 '17 at 11:40
  • I'm struggling to find an actual answer in there... – Dan Henderson Jul 3 '17 at 22:23
  • 1
    I think Jeopardy is implying that the answer is obvious given the OP's obvious feelings of guilt. – Engineer Dollery Jul 6 '17 at 23:14

protected by Community Jun 27 '17 at 15:12

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.