I love growing software. That is right software grows. Some software grows better than others. Those in the software development industry quickly begin to realize that development process is less of an engineering practice and more like art. I began to realize this when attending the Brigham Young University in Idaho for my bachelors in Computer Science. I am now working at Intergraph and pursuing my masters in Computer Science at Georgia Tech with their new OMSCS program.
Why does writing software exhilarate me to the core? Because it gives me a tiny glimpse of God’s mind. His algorithms are so advanced that we might not ever experience even a fraction of them in this lifetime. Take the shortest path problem as an example. It’s not really a problem anymore because we know how to find the shortest path given some nodes and vertices with corresponding weights. That is a good thing too because it keeps airfare prices down. But I’m sure God’s algorithm takes into account the unknown paths. Making his path even shorter. How can we take into account the unknown paths in our algorithm? Well we can’t because God’s thoughts are not our thoughts and neither are his ways our ways (Isaiah 55:8). Although that doesn’t mean we shouldn’t try.
Ask programmers what they do for a living and it can vary significantly. Put simply the answer is we solve your problems. More accurately we create your problems. That pretty much sums up every developer’s job out there. We solve your problem(s) and/or create new problems. Most people don’t even realize how much influence we have on their day to day lives. Or maybe that doesn’t bother you much. Well you should ask yourself what’s worse: Being paranoid or knowing you should be?