Hey, did you know that it takes an awful long time to get good at something? The precise number of hours can and have been heavily debated so I will not go further down that rabbit hole.
Even moderate proficiency will take a fair amount of focused work and determination. Not to mention to become a true expert. Expert, a label that in todays programmer day and age is quite casually thrown around in resumés and portfolios.
This is something I tell myself every day but still I often end up glancing at that next tool, technique or language that will somehow magically improve my spirit and my working life by at least tenfold. Rarely has this happened.
An unexpected journey
This seemingly erratic (and common?) behavior has given me several options that would not otherwise have presented themselves. For instance, I have through sheer curiosity gathered up enough knowledge about the IBM iSeries that I have teached a number of low-level classes on LPAR (Logical Partitioning) to paying customers.
I will not go that far to say this knowledge is not usable in other circumstances. On the contrary it has given me more understanding about that particular characteristic of hardware and software technology, about teaching and about myself.
That was however the end of the road on my IBM midrange journey, at least for the time being. I never got to that mental checkpoint that I was able to label myself “highly proficient” not to mention “expert”. I just learned a bunch of stuff on a path with to apparent destination.
I find myself glancing towards that new technology. Sometimes I even incorporate it in my next project. The gathered happiness is often very short lived and replaced by frustration and disappointment as that shiny new tool has only managed to contribute to additional mess inside what could have been an exciting project, disregarding the process of “learning something new”.
No silver bullet
There is no single development, in either technology or management technique, which by itself promises even one order of magnitude [tenfold] improvement within a decade in productivity, in reliability, in simplicity.
I find that this statement can and should be interpreted in a number of ways. For me currently, it gives me peace of mind to focus. I will turn that statement into a goal for myself. The goal will be make better use of the tools I already know and try to master at least a couple of them to degree that I may call myself expert in that particular surrounding. There is no one silver bullet.
This without getting distracted by that new thing.
But will this really work? Is not learning a part of being a good developer? Will I become bored?
All kidding aside, I find that focusing on solving actual business issues without getting stuck on a piece of technology that I do not know the ins and outs of is something I really want to do. And above all, become better at it.
Advancement in knowledge is not boring. On the contrary, by focusing I hope to discover the beauty of really understanding all aspects of the business, the people and the technology I am working with.
I recently ran across (thanks Pär (@iampwnies)) this video by Jonathan Blow (@Jonathan_Blow) that stuck with me. He is a truly bad-ass programmer with crazy efficiency and what appears to be a remarkable focus on what he want to achieve. He talks about improving himself not necessarily by means of learning new technologies, but improving what he already know and perfecting that. I quite like that.
Over to you
What technologies have you looked at in the past year purely out of fear that you might be missing “the next big thing” if you did not pick it up? What technologies have you felt guilty for not looking into? Do you have something that you wish you actually could proclaim “I know X, ask me anything”?
Why not try and double down on that piece of technology, methodology or technique and see what comes out the other end. You might be surprised! Let me know how things work out! @simonnordberg