I worked as the System Administrator/Software Developer for a smaller company (~35 employees). I architected and built out a multi-channel eCommerce solution that synced their ancient database (inventory, pricing, etc) to a modern SQL database that could be tied into Amazon, eBay, their own webstore (which I also built). Automatic repricing to stay competitive based on our inventory costs, custom pricing for custom sizes, bin packing problems, plenty of complex stuff.
Very very negative environment. Frequent company wide meetings where we were referred to as replaceable and disposable. Cost of living raises once every 24 months if we were lucky. Any time money came up, the company owner would go into a rant about how much each employee costs to employee.
Pay wasn't keeping up nearly enough with my increased responsibilities (even though my software was responsible for several million per year *profit*).
They haven't replaced me (have tried a few times, have a few friends who work there) and none of them worked out. Amazingly my software is still running after a couple years. The first major API change to any of the eCommerce channels will break it pretty bad.
Now I'm a Software Architect (with a heavy dose of DevOps) for a multi-billion dollar company making nearly 300% of what I did there.
tl;dr - Worked well beyond my job responsibilities, made the company a lot of money, they wouldn't pay me, so I left for a company that would pay me.