It took me an Advanced Diploma and a Bachelor’s Degree in programming to work out that I’m actually a designer. My HECS bill makes me nauseous. However, observing programmers closely over the years has taught me one valuable thing.
“Being a programmer means committing yourself to a life of continued education. ” -frustrated software engineer
Nothing is linear about technological progression. Only 66 years seperated the Wright Brothers from the Moon landing. Da Vinci’s Ornithopter flying machine sketches were hundreds of years before that. Take that speed of advancement, put it on steroids, and you have a landscape that represents the internet. This looks good on graphs and presentations when pitching to investors, but it’s the cause of much angst between passionate programmers and their tools of choice. By the time they get really good at using a hammer, the hammer is a screwdriver.
The masses cry out when facebook rearranges a few buttons or widens a sidebar. They stop whinging after 10 minutes of self-training and then they’ve forgotten what the old layout looked like in the first place. Languages, frameworks, plugins and libraries are continuouesly maturing. Pretend they are teams; the players are software engineers. It’s very competitive and most of them think they are backing the winning horse.
My first (and current) office is a co-working space which happens to be the home of some of the world’s best rails developers. Rails is a modern web application framework that is characteristic by its ‘convention over configuration’ ideology. It’s referred to as oppinionated software. This means that the programmer only has to write new code for the areas in which their application differs from the standard. In theory, it allows the programmer to focus on solving the interesting problems instead of doing repetitive mundane crap. It’s not so much the benefits or drawbacks of the rails framework that interested me, it was the community.
They don’t teach rails at uni. So straight off the bat it eliminates that large segment of people inspired by the dot-com bubble to get IT degrees to earn good bucks. Java and .NET developers are a dime a dozen. Also the barrier to entry with learning rails is a little tricky. PHP by comparison is fairly easy to get up and running. Some view this in the negative, or as arrogant elitism. I tend to think the high barrier to entry is innocuous and unintentionally weeds out those who arn’t committed to their craft.
After frequently meeting lots of rails devs, you start to see the correlation between the demands to learn this discipline, and the personalities that are attracted to it. If I had only a few words to generalise them, it would be curious, determined, intelligent, and collaborators. They also tend to be musically inclined; as in, a lot of them play instruments. These traits mean that I see the community as a fellowship of full-time learners. These traits also breed entrepreneurialism, and it’s no surprise that Twitter, Groupon, Hulu, Github and Yammer all enjoyed early success on the back of the rails ethos.
9 tenths of the things I learned in my degree have little to do with what I do now. Apart from proving to my early employers that I could stick something out long term, the real value I gained from tertiary education was the ability to stay focused and quickly learn things. I love my job but it often requires arduous crash-course tutorials and monotonous reading.
Never underestimate the importance of your ability to self motivate and learn. Even the most exciting projects contain mind numbing tasks.