Why I Code.

Some days I ask this question over and over again. Why do I code? WHY?! Frustrated over old unmaintained applications. Systems that haemorrhage technical debt plague the internet. If you are a developer you will end up inheriting a number of these  lost causes. Hopes and dreams setup by ambitious developers and designers laid to rest on decrepit servers with no long term strategy or future budget. This typical mentality of “Set and forget” are the bane of the web professional.

Remember if you are building a website, once you have launched the website the job has just begun. Sure celebrate a launch, then watch the performance of your website, gather data then refine and improve your site.

It is easy when you are working on one of these archaic sites to lose your passion and enthusiasm for coding. During one of my bouts with a hairy beast of a website I decided to _name_ the things I love about my chosen career as a web monkey in the hopes that it would re-ignite the passion and fuel me for the next few matches. So without further ado, here are the 3 reasons why I code.

1.The Problem Solver

I’ve seen a lot of developers fall into the “Problem Spotter” faction. So quick to identify a fault, a flaw in a rough scamp of an idea. To me that is only half the fun. The real fun is when you find your way around a problem or challenge yourself and your beliefs in what is possible. Other times the solution requires you to redefine the problem.

2. The “Ah-ha” Moment

I remember my first year of studying programming and coming up against the tower of hanoi puzzle. It hurt my brain so bad. I was just learning about recursive functions and did not grasp the concept too well. The out of nowhere a lightning bolt and a euphoria only coder will understand, before I even ran my code I _knew_ I had solved the puzzle.



3. Lazy to perfection

A friend once told me, the best coders are the lazy coders. If you give a coder a repetitive task they are too lazy to repeat themselves. They will identify the patterns, formulate an algorithm and write a program to do the repetitive task for them. The agency I work for manages over a dozen websites, deploying to these sites was a manual task of logging into servers, backing up assets and pulling in changes. It was tedious, time consuming, prone to human error and repetitive. So to fix this we built our own deploy tool. Now any developer can deploy code once the code passes its code review.

What y’all thought

Have something to say?