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

Stack Exchange:

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.

And:

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.

Where’s the author’s obligation? To their employer, or to themselves? Is the company paying for the problem to be solved, or for the employee’s time?

To me, the “I’m doing something wrong” alarm went off pretty early on in the conversation. But not everyone feels this way. If the company has no obligation to keep the employee employed once the shortcuts are revealed, does the employee have the “self harming” obligation to reveal those shortcuts?