So you love programming. And you want to be invaluable and be recognized at your job?
First, let me tell you a story.
Roger loves programming, he has been doing it for years. Programming is one of the few hobbies he likes, if not the only one! He is a developer in a company. He arrives early in the office and stays late. He has sacrificed a huge amount of his personal time to the company on innumerable occasions. He generally works after returning home from work. He is always one of the first ones to volunteer to work on weekends.
In the performance appraisal at the end of the year, he is told that he did a good job, but it was all expected of him anyway. So, he ended up receiving a satisfactory performance rating instead of the top rating. He goes home disappointed, not able to fathom how the manager could not recognize the efforts that were put in, all those sacrifices to make the code better, increase the code coverage, fixing bugs, making the code beautiful etc.
So, he devices a strategy. He is going to work harder than before. So hard that the manager just cannot ignore him, or so he thinks.
This repeats year after year in different companies Roger works for.
Roger now hates programming. He feels no one cares about his work. So he no longer cares. He is a beaten man.
Roger is over and out.
Lets face the reality - it is the business people that run companies. Heck, they even run the world! No technological advancement will see the light of the say if not for its business value. It doesn’t matter how beautiful the code is, how good the architecture is, what matters at the end of the day is the value it brings to the company and the end users.
Business people and your managers are never going to understand code. Accept that as a fact! They only understand the impact of work on people and processes.
They have no means to measure a programmers work. Well, it cannot even be truly measured. A salesman has figures to show, a call center employee has number of calls to show. You just have code that is Greek and Latin to everyone outside of your team. Trying to explain code to them is futile.
Software craftsmanship and good code is a means to an end, not the end itself. The final aim should always be about creating value. As programmers, we often tend to forget that.
Or in other words how to bring more value to the company as a result of your work?
You got to show them how your work is making a difference to their world - A world where $, savings and time to market has precedence over exceptions, design patterns and interfaces.
Listed below are some aspects that will definitely get you recognized as a programmer who goes the extra mile beyond and above the official duties.
In conclusion, I believe that a programmer should get involved in other activities in a company, not just coding. It serves two purposes - provide you insights from a non-technical viewpoint and an understanding that programming is not the center of the universe.
Don’t let Roger’s story be yours.