Processing art by Dave Shea.
I have the utmost respect for highly technical people like developers. The things they can make technology do is simply mind blowing.
Think about how Google works. Put down your iPad and think about what Google actually does for a minute. Then consider the people who figured that out. They’re positively brilliant. The best and the brightest if you will.
I have a couple friends that are not only brilliant from a technical standpoint but they’re also gifted artists.
My friend Dave is not only a great web developer but also an phenomenal designer and artist. A while back he created the artwork featured above using computer software and some algorithms. That’s not photoshop or drawn out by hand. It’s art created through programming. Check out the other art he created using Processing it’s gorgeous.
Another friend of mine Hugh Bell is another one of those quietly brilliant people. He can render photo-realistic 3D architectural mockups, shoot a perfectly smooth steadicam shot, and create mind blowing aerial cinematography and make it look easy. In other words he can straddle the technical and creative divide with a certain flare just like Dave.
They’re both so talented it’s humbling and I’m lucky to count them as friends.
What’s this got to do with me you say? Read on internet friend. Read on.
I was never sharp enough to be a developer or programmer myself. For some reason I was “rebelling” in school and flat out decided not to learn physics, calculus, or anything useful like that. That was a ridiculously bad decision that I regret to this day. Live and learn I guess… I think I was too busy chasing girls or something.
Programmer I am not.
However, as mere mortals we can learn from talented developers and artists like Dave and Hugh.
In fact I’ve been thinking about how we can apply the basic tenets of good programming to our lives. That may sound bizarre but here me out.
Good programmers prioritize: Performance, Reliability, Robustness, Usability, Portability, and Maintainability. Notice a pattern there? Anyone who is a doing well usually has some combination of those traits going for them on a personal level.
Let me explain.
Performance refers to an action, task, or operation, seen in terms of how successfully it was performed. In computing it usually refers to system resources efficiently and effectively.
How many people do you know who are good at what they do? How many of them track and monitor progress in some way? People who thrive are usually tracking their lives in some way. Those who are not living the lives they want usually have no method for monitoring their progression or lack thereof. They’re just floating at the whim of whatever happens to them. I have a suite of tools that I use to track things in my life from investments to fitness. Some of the tools include rescuetime, runkeeper, garmin connect, mint, and evernote to name a few.
Robustness is being strong, healthy, and even vigorous.
Certainly we could all be a little more robust. Can you run for 30 minutes at a good clip? Are you a healthy person or even a vigorous person? Go for a run in the morning every day. Or play some sports. It won’t kill you to get our more and become more active. I think wanting to be robust is a great goal.
Usability is defined as “able or fit to be used”.
For a developer it refers to the ease of use of an application.
For my life I think of it in terms of how much utility I offer as a citizen of this planet. Seriously, how useful are you? Do you spend your time complaining or being negative or do you add value?
I try to provide usable information to others in the form of weird blog posts. Other times I like to write insanely long and detailed how-tos for friends on specific topics in email. For instance the other day I wrote about 4000 words explaining WordPress to a friend in an email. It was like customized documentation for a certain skill level. A few months ago I drafted an SEO strategy for another friend that was also many thousands of words. I like to add value and generally be useful to others. You may notice how effective people are often incredibly helpful because they’ve got their lives together. They know where they’re going and what they want to accomplish. That gives them time to help others. Always bring value. Whether it’s on email, IM, on the phone, or in person. Step it up a notch and add more.
Portability or able to be easily carried or moved often by being a lighter and smaller version than usual. In computing portability usually refers to running the same code on different platforms.
I think of portability like modularity. I like the idea of a modular or portable lifestyle where each element of my life is independent of everything else. For example having an income that is not tied to a certain location. Or doing work and that is not tied to a particular job or company. Set your life up so that it’s not Jenga.
This notion of portability (the traditional definition) also applies to how I live. The idea of lighter and smaller in particular is what resonates with me. I think we could have a lighter and smaller footprint. This could mean driving less or owning less. Things that are lighter and smaller are more flexible and nimble as well. That’s something to work toward in my book.
Maintainability for developers this usually means making something that is easy to maintain for themselves and future developers working on the same application. Sometimes programmers make their codes so intractable that they can’t be fired because nobody could ever figure it out.
I think of maintainability more in terms of how easy it is to maintain this way of life. Is my way of life sustainable from both an environmental and financial perspective? The last year has been positively abysmal from an environmental standpoint for me. I’ve been on way too many flights and I drove a relatively heavy vehicle all the way around Australia. I should really buy some offsets. In terms of the financials my lifestyle is so lightweight (portability) that I have lots of runway and things are good.
I haven’t really flushed out these ideas fully yet but I think you get the drift.
Other people have already figured out what you’re struggling with. Most likely in other fields of work or study entirely. There is much to be gleaned from them. They may even be friends of yours.
As they say, code is poetry.
Poetry we can learn from.