Why I am writing this
This weekend I got into a lot of discussions about the responsibilities of a programmer. I heard multiple times that a programmer cannot be held responsible if they are working in an environment that is toxic and forces bad behavior. While I do not advocate that someone threaten their ability to feed, clothe, or house themselves (or family) because of some theoretical responsibility, it is imperative to get out of a toxic environment.
This weekend I was in a conversation about a consultant that was described as abusive by the other employees and someone said: “They only fear for their jobs because they are too stupid to do the job right.” In other words, they deserved to be abused.
In another conversation, I mentioned that a programmer has a responsibility to do what is right. I was told that this was a pipe dream because of the toxicity of work environments. To me this translates as, “Offices can treat you any way they want because you are worthless.”
The funny thing is I have heard these statements before.
My mom married an advertising executive when I was 8. It turns out that he was a drug user who slowly revealed his nasty temper. I was often backhanded hard enough to knock me from my feet, and I got to watch as the same thing happened to my mom.
I heard the whispers of neighbors and even friends.
They sounded a lot like how I now hear people talk about toxic work environments. The words are slightly different but the meanings are the same. The fault lies on the victims. If they are being abused, then they deserve it.
It takes more courage, stamina and risk to stand up to an abusive person or organization than most people know. That chapter, in the end, was a small chapter of my life. My mom left that man one night and never looked back.
When we speak down on those being abused or make excuses for the abuse we make it even harder to do what is right. I implore you to stop this destructive behavior. Instead of making excuses for toxic companies, let’s do something about them.
Every software developer has some professional responsibilities, even when we are unable to perform them. These responsibilities include:
- We have a responsibility to produce bug free code.
- We have a responsibility to produce code that is inexpensive to maintain.
- We have a responsibility to produce value that is greater than our cost.
- We have a responsibility to help those starting in the profession to be better at what they do.
- We have a responsibility to share what we learn to progress the industry.
- We have a responsibility to understand our customer’s, company’s or client’s business well enough to make informed business decisions about the software we write.
- We have a responsibility to say ‘No’ to our employers if we are asked to do something that endangers time, profit, relations, information, reputation or money of an individual, company, community or ourselves.
- We have a responsibility to provide value well above our cost.
Doing that will cost me my job!
If you are in an abusive relationship with your employer, one or more of those responsibilities become impossible to execute without being fired. That is a tough and scary place to be. I am not saying for you to risk your job, and risk being homeless.
What I am saying is that you do have a responsibility to leave. Don’t quit your job without a new one. Look for help within the community.
Then share what you learn. Help the community understand what you did to find a good place to work. This will give hope to those who are in similar situations.
We need to use economic power to stop abuse.
These abuses are not illegal. They are immoral, but that does not give us any legal ground to prevent them.
Companies need to make at least 3x their operating costs to be successful. That means that a company sees at least 3x profit from your pay. YOU ARE WORTH A LOT MORE THAN YOU ARE BEING PAID! We have value. In today’s economy custom software makes and breaks a company.
If a toxic company could not keep their employees or better yet not be able to hire then they will not be able to compete against non-toxic companies. The problem now is that programmers stay in toxic situations. This allows toxic companies to compete.
Let’s stop this. Leave those companies. Leave them as soon as you realize they are toxic. Abandon them, and move to companies that are doing it correctly.