Programming Spiritually

Matt McCormick

2010/10/27

If you are a spiritual person, you may sometimes wonder how programming connects to the bigger picture. Working in front of a computer day after day can seem like an activity most removed from the world, nature and God. Here are some things to do to feel more connected:

Awareness of Thought

You are a complete individual connected to a higher source. This higher source offers answers to any question you throw at it. It is extremely important to be aware of your thought process while programming. Often running through my mind are questions like “Why is this not working?”, “Where is the problem?” and “How can I solve it?”. It never fails that I receive answers to my questions. Sometimes they come quickly. Other times, I may need to take a break and go for a walk so that I can be open enough to receive the answer. In cases of extreme disconnect, a good night’s sleep will relax me and let the answer flow in.

Untruthful thoughts should be avoided. These thoughts question and doubt the power within you. Some examples being “I can’t figure it out”, “It’s too complex for me to understand” or “The person who wrote this code is an idiot.” True, the code may not be up to par, but that is just an indication that the previous programmer could be lacking knowledge or experience, not that they are a stupid or bad person.

The Ripple Effect

Everything in the universe is connected in a vast web. Each created thought or action gets sent out as a wave throughout this web. It’s like dropping a rock in a pond. When you drop the rock, the water is affected the most immediately around the entry point. The waves start out high and become calmer and calmer as they get further away from the entry point until they are not noticeable anymore.

When fixing a bug, be aware that any changes you make are going to have an effect throughout the system. Before making the change, think about what possible effects this change could have on other parts of the system. Nothing is isolated.

When designing a system, one can help this situation through abstraction. Abstraction is like taking a big bowl of water - your system - and pouring it into several cups or glasses. Now if you drop a stone into one of the glasses, the ripple effect will be limited to just that glass.

Be Present

Use the power of focus to help you maintain a flow-like state. Email and IM notifications are a distraction which take you away from your present. Anytime something comes up, you should be asking “Does this contribute to my present?” I have always disabled email notifications and deal with my email twice a day at set times. This allows me to focus on my present and still get back to people in a timely manner.

Programming is your craft. Cultivate it. Your personality and character is expressed through your work. Make it worthy.