Engineers are problem solvers. We are paid to analyze a situation and come up with the best possible solution to achieve the desired outcome. When management hands down a directive without context or justification, it’s toxic. At best, it prevents us from doing our job of understanding and executing. At worst, it causes us to wonder if the decision makers are competent. It erodes our confidence in the future of the company.
Side Slack conversations proliferate.
Why are we being asked to do this? It’s not even possible without totally rebuilding X.
It’s a horrible decision. They have no idea what they are doing.
It’s going to blow up in the company’s face in ten different ways. Management must be completely stupid.
One day we were told that QA and application engineers were going to merge to a single role. Suddenly, senior QA people were expected to be senior java developers, responsible for implementing features and writing clear, scalable code. Senior java developers were now expected to perform QA duties, from UI scripting to black box testing to fuzzing. Two different jobs were smashed together and it was chaotic. Our product defects went up immediately and it took over a year to correct. Turns out the reason for the change was some exec heard that writing tests for your application code was important.
Another time the company decided they were spending too much on the third-party logging solution they were using. It was well-loved by developers and was considered best-in-class. Instead they figured they’d save money by spinning up a team to host a “comparable” open source solution. It was a shit show. Log ingestion was often delayed by an hour or more, which made it useless.
The thing is, most likely management labored over this decision and it was the best one they could come up with given the constraints. Do they explain this to the engineers? Nope. They throw the decision over the wall in the form of a “shut up and do this” order. Guess what that does for morale? Fucks it. What they should do is provide the relevant context behind the decision to the engineers. Explain how the decision came to be. See if the engineers come up with any other solutions that might solve the problem in a better way. After all, in a small boat, everyone needs to pull on the oars in the same direction. If the person at the head of the boat is telling one side to push the oars and the other side to pull, the rowers might wonder what the point of rowing in circles is… when really the task is to turn the boat to the left.