“At the end of the day, I’m being paid to write code.”
I have heard that hundreds of times in my career, from people of all ages, genders, and nationalities. It comes up when there’s a meeting that no one wants to attend. “I don’t have time to waste on this; I’m being paid to write code.” It comes up when there’s mandatory training for client audit purposes. “They can’t expect me to find time for this; I’m being paid to write code.” It happens when it’s time to write goals for the next fiscal year. “Goal: write more code. Find way to avoid stupid goal-setting exercises.” It happens when people are asked to do routine paperwork, like timesheets, expense reports, or task board updates.
“At the end of the day, I’m being paid to write code.” Everything else is useless garbage being imposed on you. The code is the core of your purpose.
Have you ever said this? If so, you’re wrong.
No matter what you may think you are being paid for, you are really being paid to support business operations in your area of specialization.
If your assignment is to develop an application, and you find one on the market that would meet all of your needs, and would cost less to buy and support than it would take to build and support it internally, you’re doing your job by bringing it to your boss’s attention, even if it means you don’t need to write any code.
When timesheets and expense reports don’t get filed on time, cost forecasting is happening off of flawed information. Not only does it make extra work for people who need to remind their employees to file routine paperwork, but business decisions way over your head are being made based on bad data. This happens when software engineers don’t do their job.
When task boards aren’t updated and daily records of work aren’t maintained, it takes more time and energy for everyone on the team to figure out what is going on. Reports made to upper management take trickier calculations. Calculations that should be simple and pulled straight from the task board are now fuzzier and harder to compute.
When training isn’t done, companies fail audits. Sales people and CEOs have to scramble to hold onto customers. Sometimes, revenue takes a hit. Other times, relationships are left strained. Other people have to cover for the people who didn’t do their training.
When people don’t attend meetings, or attend meetings and write code on their laptops, communication breaks down. Messages have to be repeated over and over again. People give up their chance to have input, and then don’t like the decisions that were made. This leads to more work for management, more stress for your coworkers, and a worse working environment for you.
At the end of the day, a software engineer is being paid to do her entire job, not just the part of the job that she considers most intellectually challenging.
What’s your job?