Imagine a world where things just work the way they are supposed to. The application never crashes, the deployment is always successful, every team member follow the rules, and the FedEx guy is always on time. This is what we expect from our day to day work and fortunately it never happens. What we call ordinary is out of the ordinary.
I went to visit my old job where I worked as a warehouse coordinator. When I worked there, the warehouse was synonymous to chaos. Merchandise moved every day. Almost always the delivery truck had a few items missing. And when all the boxes were there, you'll find that an important piece was missing from inside the box. And if everything was in order, I'd place the boxes in inventory only to have a salesperson sell it and enter a different item in his order. And if he sold the right product, the customer would forget pick it up, then 3 months later we will find the extra item in the warehouse and sell it to another customer. Then the first customer will suddenly remember, 6 months later, and decide to pick it up and we would be at loss.
But now my friend took over the job and they have a better tracking system. They have new computers, a new POS system that crash only rarely, the deliveries are handled locally so there is better coordination. In other words, it is still chaos. But when I asked him if it is still the same, he gave me an interesting answer.
I used to get frustrated. Every evening, I told myself tomorrow I will fix everything. I will create new sections for damaged items, for new arrivals, for display items, for sold items, and everything we will ever need to separate.
The next day will start well, I'd give each crew member a task and we start organizing. But by the end of the day it turns into chaos again. Things that are out of the ordinary happen and I have to allocate resources to different places to get us through the day.
But now, I don't get frustrated. I realize that's the whole point of us working in the warehouse. Everyday something will go wrong and the warehouse crew will fix it.
Something goes wrong and we fix it. Something that was probably not in the training manual. You have probably seen black and white videos of workers in the assembly line. Their job was predictable and nothing went out of the ordinary, so they were replaced by machines that handled the ordinary just fine.
In the software development world it is just the same. Programmers complain that they have to use old tech, that they get impossible tasks, or that the project is boring. But we don't get hired to work on fun stuff, or to work on new tech, or to do the easy things. If it was all fun and flowers, I'd rather do it myself than hire anybody.
We get hired because things go wrong in a way it was not described in the manual. The manager gets on the call because the customer is presenting a new problem. The developer work on a site because nobody else understands the confusing error message, him included. And the PHP guy gets called because the Perl code stopped working.
They all get an unexpected problem and do their best to solve it.