I don’t think people quite get it when I say, I love programming. or that code runs through my veins. I don’t blame them either.
I have often been offered sympathetic rolling of eyes from people when I say, I work in software industry. “Oh how you people are made to work long hours”, “isn’t it a stressful life”, “they say people can go crazy if they stay in this industry for long”.. I cut them short with a simple answer, some people are molded for this field and some aren’t. For me, I equate the joy of programming to the feeling of conquering the heights of mountains, the elation of touching the ground of the deepest abyss. The sheer pleasure of watching your sweat, tears and sleepless hours, come into life is nothing short of addiction.
Most often I find myself running through the labyrinth of xaml code, chased by data binding and logic, where classes are at constant war for the possession of data and variables. And yet I find myself full of awe when I see intricacies of point manipulation, the resilient but intriguing algorithm, how some write the most amazing solutions for a problem, or when your program run flawlessly 🙂
The life of a programmer is always at the edge, trekking up the treacherous code, uncertain of the changes to come, he is always vigilant as a tiger hunting for its prey but working diligent as an ant. For every line for code you write forms the building block on which the empire is built. To be constantly reminded of the unnecessary for-loop, initialization, or a simple if case which may cause the whole castle to tumble down like a pile of paper blown away in the wind.
Yes indeed, some days of a programmer is soaked in nothing but a pile of useless code, discarded changes, futile efforts and a bagful of frustration. There are painful days when no amount of debugging would give you the reason as to why the code is behaving like a lunatic! or why the program is crashing despite it working else where. It will befuddle your brain, leave you exhausted. You lean on the table, closer to the monitor, and scratch your head in bewilderment!!
But those clouded days are often covered by the bright and sunny ones with a rainbow at the end. Those days, when every line you write is a fruitful contribution to the existing code base, when your programming blitzkrieg brings out sweet win, those ‘aha’ moments when that tangled up code miraculously unfolds before you, when your code has resurrected from the ravages of consistent breaking down, bug fixing and restructuring to solve a problem brilliantly.
Every “wow” app/program is a display of superior craftsmanship. From a few lines of code, it grows feature by feature, slow and steady. Every feature is subjected to various factors like the visual appeal, functionality, intuitiveness. Hence undergoes umpteen number of surgeries of restructuring, modifying, testing, thus evolving into a remarkable experience. It then, coyly hold hands with the magnificent UI and steps into the app world!
Programming is a window to a different world, a world of the infinite possibilities. A million solutions to the same problem. Where you dive deep into the heart of the problem and emerge out with an ingenious solution.
So yeah, life of a programmer, is tough, it is not for the light hearted. 😀