Programming Is About Doing The Job Right
| 9th July 2011 |
Was reading the article Programming: “It pays the bills” vs “It satisfies me” where Abou Kone writes about wanting innovative, challenging and current work in programming instead of the “boring” mundane tasks. But that is not possible in many software organizations that do mundane work and are not involved in innovative work. So it becomes a matter of working to pay the bills versus working for satisfaction.
Often times, we programmers have to sacrifice our urge to innovate by working on the so called “boring” programming tasks. This happens because as professionals we need to work on and deliver software as expected by our employers. The world needs many of the so called information systems such as Time Management, Appraisal Systems, Accounting Systems, etc. Developing these systems seems like a mundane repetitive task that involves updating a database and providing users an organized view of the data. And we all want to work on the cool applications like the iPhone or Google Maps. It comes across as working on something that users take for granted versus something that makes the users go “Wow”.
So as a programmer should we be satisfied with our jobs because it helps pay the bills or should we try to find a job that will satisfy us by allowing us to keep challenging ourselves? The answer is provided by several comments in the excellent article, Programming Sucks! Or At Least, It Ought To.
At the end of the day, the best programmers are not the ones who create the most beautifully-elegant, exceedingly-innovative code. The true rockstars can deliver software before deadlines, under budget, and that does exactly what the business needs. And those are the type we should all strive to be.
As the wise programmers mention, that if we find writing software sucks then we probably have wrong programming values. True programming is about writing software that solves problems for people. And the true satisfaction a programming professional should strive for is in doing a good job solving those problems.
Of course, we need to be innovative and challenge ourselves for motivation and improvement as a programmer. It is ourselves who need to take responsibility for our improvement as a programmer instead of restricting our learning to programming at our workplace. Working on projects that interest us and challenge us is the best way for improvement. With many open source projects available today, we can surely find something we could contribute to.
It may also happen that we grow out of the technology or the domain we are working on. If you are like me, you could be one of the people who like to move out of a project once we feel that we have learnt and contributed as much as we could. There is nothing wrong with the project and it may also be the so called innovative work but it just may be the time to switch to some other work perhaps to keep ourselves motivated.


