You're going to be asked to do it.
At some point, if it hasn't happened already, your coworkers or your boss will ask you to do something foolish. Something you know will make things worse for you, your coworkers, maybe even the business itself.
If you're like most developers, you do it anyway.
That's what most will do, right? It's better to keep your head down, avoid making waves and simply do what you're told. Job security isn't a thing anymore, but that's one of the best things you can do to keep your job, for a while at least.
This is the problem.
Most employees want to keep their jobs and their clients. They don't have the leverage or control they want over their own careers. They need their job. In fact, most people are terrified of losing their jobs.
This has a cascading effect.
Research shows the fear of losing your job creates job dissatisfaction and a lack of commitment at work. This, in turn, affects job performance, negatively increasing the likelihood that you will lose your job. It's a vicious cycle that seems to repeat itself over and over.
But there's something worse than the fear of a job loss.
It's the misplaced confidence or expectation of job security, the kind of confidence that crushes you when you're actually let go. Both of these issues are a problem, and both of these issues are continually ignored.
Why is it a problem?
Because 78 percent of employees live paycheque-to-paycheque. This includes workers making $100,000+ per year. This is the real reason why most employees have no leverage, no ability to say no. This is the reason most developers won't fight with their coworkers.
What do I mean by "fight?"
I'm talking about the ability to explicitly confront anyone, regardless of status, about their poor behavior. At some point, you'll be asked to do something you know is wrong. It isn't always a moral issue, sometimes it's a logistics or planning issue. Other times it a performance issue. Here are a few examples:
- You're asked to do something questionable
- You're instructed to subtly alter or manipulate your end-users
- Your boss or a coworker requests work that will break something somewhere else
- Your boss or coworker requests work that comes with negative consequences in the future
- You're told to ignore, reject or avoid a problem that needs immediate attention
- You're asked to cover up a problem or minimize a mistake as a personal favor to someone else
- You're implicitly expected to side with a boss' or coworker's bad idea
- You'll be expected to push out shoddy or low quality work to meet a pressing deadline
- You'll be asked to promise something everyone knows you can't (or shouldn't) deliver
- You'll be pushed into situations where you're expected to choose between two very bad outcomes
Okay then, how do I expect developers to "fight?"
Most of the time your conscience tells you. You know when you're supposed to speak up in some capacity, whether it's for yourself or for others. You also know how you feel when you don't.
Fighting could be as simple as: