Way back in my high school days, over a decade ago now, I can remember being in one of my English classes studying Shakespeare. Anyone who’s had the privilege of experiencing his works whether through reading, performing or seeing them performed will attest that whilst it’s initially quite confusing (thanks to the language) eventually it will all make sense as if it was being spoken in plain English. For an engineer like me it took a good while and many performances to understand what the hell was going on but eventually I can remember being able to read Shakespeare as if it was modern day English, rather than the romantic gibberish as it used to appear to me.
More recently I had come to experience the same penny drop moments when learning the new platforms I wanted to develop on. I’d been a long time C# developer having cut my teeth on small projects at university but anything past a simple desktop application was pretty much out of my reach. After bashing my head against the wall that was ASP.NET I eventually managed to figure out enough to get by and eventually shift gears completely when I realised it wouldn’t suit my needs. I met with the same issues when I began working with Silverlight as its XML based UI design tools left me wondering how to do things that were so simple in the past. Again though after spending a few frustrating weeks stumbling through the code the click moment happened and development started in earnest.
I had to keep telling myself that I could do the same when programming for the iPhone. After dropping a considerable amount of cash on my shiny new MacBook Pro, registering as an iPhone developer and setting up all the tools I was ready to dive head first into building a program. Cue several days of frustration where I failed to understand any of the things going on (what the hell are all these release/retain things about) and utterly failing to understand why the tutorials I was following were or weren’t working I had almost given up on the platform completely. My loyal Twitter followers would have seen that I was contemplating HTML5 and Javascript as an alternative for a couple days although that just ended me up back in the same spot with a different technology. The click moment happened about a week later after trudging through the CS193P lectures on iTunesU from Stanford University when I got the fundamental base I needed to get any further with this platform.
What I’ve come to realise is that whilst I think I have these click moments when trying to learn new things in reality there’s no real turning point where I go from floundering idiot to competent worker. More it comes from building on previous experiences and using them to further yourself at an ever increasing pace. The click moment is really just that point of reflection when you realise you’re no longer struggling as hard as you once were to take those next steps. Additionally once you have enough knowledge about a certain area you’ll find yourself asking the right questions in order to find the information you require, rather than having to spend inordinate amounts of time dealing with information overload (which has become so easy to fall prey to in the digital age).
More and more I see that determination is the key to seeing something through to realisation. Whilst aptitude (and maybe luck) can play big parts in the process the drive to continue on with something, even when it seems pointless, is what will ensure that idea becomes a reality. I’ve lost countless weekends and nights of sleep pursuing what started off as just a simple idea in the back of my head which has now turned into a full on obsession fuelled by the desire for success, gadgets and not being a hypocrite when I tell people to chase their dreams. The process has left me with many of those click moments where things just started falling into place but the more I look at them the more I realise that it was sheer brute force, not inspiration, that brought me to that point.