From the dictionary over at Reference.com:
- Biology - a profound change in form from one stage to the next in the life history of an organism, as from thecaterpillar to the pupa and from the pupa to the adult butterfly.
It is said that education is a life long process, that you never stop learning. My experience holds this to be true considering, at a minimum, the last few years of my life. This experience has also taught me recently, that if you let your education change you for the better, it can magnify your abilities and your vision of the world around you.
For over a decade I had been working strictly in the realms of the IT systems administration world, dabbling in the arts of computer software engineering only enough to know what it was, that I wanted to do it more and what a lot of the basics were. This time as a sysadmin exposed me to many different software solutions of varying quality and scope. Sometimes I cursed the authors of what somebody dared to call a solution. Other times, I was pleasantly surprised by the ease in which my appointed task could be accomplished with an elegant tool.
Finally having my fill of 2am wake-up calls to go reboot a server, about 2 years ago I was able to begin the transition into full-time software development, fully shedding my sysadmin mantle approximately 6 months ago. I still run servers of my own, but nobody else depends on those servers to keep there businesses running. So, if they go down at 11pm on December 24th, they can stay down for a couple of days while I celebrate my holiday… Now I am fully experiencing the role of software engineer at a small company who’s primary role is software development. I am also learning what operating in a team of intelligent and capable people trained in similar areas is. That is to say, I am learning what it means to be a mentor and a trainee, all at the same time, contributing and learning.
This experience is also teaching me about communication and the art form it really is. Going back in my post history here you may notice that I am a little rough around the edges in my methods of delivery. Even as I type here I can’t help but feel clumsy and unpracticed. That can only change with repetition and analysis, which is both what I am learning, and what I am sharing today.
In what will likely be my next post, I will talk about some of the thoughts this has triggered on the nature of communications itself, much of which is not new, but is newly realized to me. For this post I will simply state that a few things have done well for me in the past 6 months:
- “The enemy of good is perfect” – This is a widely used saying in the engineering industry that I have taken to interpret as: If you settle only for perfection, you will never accomplish anything but continually tweak a project until it dies before ever seeing its purpose.
- “Never pass up the opportunity to write down your sparks of inspiration” – While probably a piece of advice given by many, this is one I have found recently is very important. The sparks of inspiration comes when you are doing the most minute and mundane of things. They tend to come not during your study and exploration, but afterwards when you let your subconscious take over while doing the more mundane things like yard work, sleep or even exercise. Study and exploration with a purpose, while not expecting the inspiration to come until later, is a great way to let the rest of your life assist in the creative process.
- “Communication is the most complex functions we as human beings partake in” – More of a realization lately as I have been exploring a particular idea, I have learned quite poignantly that communication consists of much more than the words that come out of our mouths or that we commit to paper. We must be careful to consider what we has already been communicated and what we leave out when we make an attempt to convey our messages. We must also use that same consideration when we are receiving somebody else’s message.
- “If you don’t see something that needs improvement, you aren’t opening your eyes wide enough” – A corollary to #1 being that while perfections is not generally available, that means that there are very rarely no improvements that can be made to a project.
I have more to say on this relating to what types of things I think young programmers should be doing, especially as I work through some of those ideas in my own path of education and growth. However, those will have to wait for another day, or at very least another article.