Nine life lessons learned from programming

Published August 31, 2011 by
Sam Galope

Just like the life lesson cliche in Karate Kid on waxing-in and out, programming is a process when repeated often enough becomes a honed tool crafted to perfection. And much like Zen from which Karate originated from, a life lesson can be derived from it that may or may not improve the our lives.

Here are Nine life lessons learned from programming

Life lesson 1: Programming is democracy in action.

Programming is both science and art. It follows a set of unbreakable rules, but once mastered, the programmer is free to write in any way he likes. Just like haiku, this makes it a rigid but expressive language.

Life lesson 2: Scientific Expression is possible.

In the real world, nothing can be more disparate than art and science. Art is sensual, subjective, and feeling, while science is cold, objective, and ruthless. In programming, these two concepts exist harmoniously and co-dependently. While the syntax, methods, and the bounds of the language are fixed and rigid, the means by which code is written as well as the output is unlimited. In reading software code, the programmer’s mood, temperament, and even hubris can be derived as well.

Life lesson 3: Plan ahead.

A carefully thought-out plan software development goes a very long way. This can cut a lot of waste time and energy in the debugging and review phase. Likewise, it optimizes the flow of the whole endeavor.

Life lesson 4: Document. Document.

In the course of a seasoned programmer’s career, there comes a time where he looses track of the projects he has done and the code ninja efforts he has made. A programmer has only his thoughts as assets. It can’t be bought, sold, or stolen, But it can be forgotten.. So it is best to craft a documentation plan early. Also, source control monitoring systems such as Git addresses a lot of the documentation issues.

Life lesson 5: Those who do not learn from history, repeat it.

Connected to life lesson number four, being able to go back to previous projects and the thought processes that went into it, is an asset no programmer must neglect. Solutions are ephemeral, once they are forgotten, they are goneDo not reinvent the wheel.

Life lesson 6: Say less than what is absolutely necessary

In life, saying too much makes us look cheap. Verbosity exposes a person to say wrong things. Thus it is best to say less. This is also true in software code. Keep codes clean, clear, and concise.

Life lesson 7: Eradicate bugs as they surface

In life there are people who are just too irritating to tolerate. They may be a colleague, a supervisor, or even your boss. You cannot just shoot them to shut them-up, but you can irritate them back or just ignore them. Luckily, in programming, you can KILL them as soon as they surface. Doing this will save you lot of trouble in the future.

Life lesson 8. Avoid unconditional loops

In programming, unconditional loops are software constructs that do not terminate. They consume your computer’s resources until it crashes. Unconditional loops are the programmer’s vision of hell on Earth because they disrupt the creative mojo and at times fry the hardware. In life, “unconditional loops” also exist.

They are people who gossip about everyone around them, complain about everything, talk behind your back, and can’t move on from a disastrous situation. What makes it worse is that they rap about it continuously, unceasingly. They see problems in anything, and are the black holes and nega-stars. They provide a constant source of negativity and bad bad chi for everyone. The solution is get as far away as possible from tthem. Avoid the sad, sullen, and unlucky because they are contagious.

Life lesson 9. Keep It Simple, Stupid (KISS)

There are million ways to think, and another million ways to do things. In programming, it is best to keep everything as simple as possible to lessen bugs and increase maintainability. Keeping things simple may sound “simple” but in reality, this comes with experience and age.