I have been programming since school and this passion has not left me since then. Today is the right time to pen down my thoughts as yesterday (September 13) was regarded as Programmer’s day and tomorrow (September 15) will be celebrated as the Engineer’s Day, and I am a bit of both.
People say that Choose a job you love, and you will never have to work a day in your life. That is in a way true with my life. I love fiddling with technology and trying out new stuff and hack away solutions to the problems. Is it all about solving problems and feeling great about it? Is that all the joy the programmer gets? There is more to it.
When asked what does it take to be a hacker/programmer, the first answer that came to my mind was “Constant learning”. The joy of being on the edge of technology, trying out things that are really new, the neverending cycle of try-break-fix is the real fun in this field. It not only helps the programmers to stay up-to-date on technology but also helps them improve on their existing skills as well. Yes, it requires investing a lots of time and burning so much of midnight oil. But, trust me, it is fun when you get things done after a long struggle and that learning is the best souvenir.
Being innovative and being creative is the challenge of being a programmer. It is not just about writing code to solve a problem, but how creative a programmer is, in devising the solution, matters more. It involves as much creativity as any other artistic activity, to write a code that is easily understandable, which can accomodate changes in the future and reusable (even across projects).
Learning and innovation also comes by flocking with the birds of the same feather, people who share the same passion and thirst for technology. Being the part of the right group (not necessarily at work place, can even be through IRC channels or other social media) enables people to share and ideate more on the solutions. All you need is to be open for suggestions and healthy discussions. You do have the right to your own opinions, but it is always good to hear the other side as well for a broader view.
Getting involved with things you love:
The joy of being a programmer is that you get to give back to the technical community from where one has benefitted from. Are you interested in hardware programming? There are many projects that you can contribute to. Interested in Security? Yes. There are projects to contribute to. Testing? Automation? Yes. Mobile development? Yes. You can get involved with any of the challenging areas that you are interested in. There are tons of open source projects that one can contribute to. Or you think you have code that someone can make use of? Contribute. The more you give, the more you learn.
Make a change or be a change:
Giving back to the tech community is not the only joy of giving, how about making the world a better place through software? You think you can make a change to the community you are in by writing code, then why not do it? If you think your efforts can make a change, make the change. If you think you can change something through your efforts, be the change.
These joys of accomplishment, creativity, brain-storming, contributing back to the community and being a change in the society is the best joy a programmer can get. I believe, after reading this, at least a few people who share the same passion may think of doing this as their job.
Again, Choose a job you love, and you will never have to work a day in your life.