April 25, 2015
I have just delved into the world of iOS and have been met by a horrible feeling. Everything has to be perfect and anything short of the picture perfect code is not worth my time.
To be blunt, I believe this is due to the Internet. If you grew up before the Internet took over I am sure you’ll remember Little Timmy whose Uncle worked for NASA and knew of all these amazing ‘facts’ that he would spew at you on the playground each lunch time. That person doesn’t seem to be around much any more, I am sure after the fifth time someone simply pulled out their smart phone and swiftly called bullshit they lost their drive. Maybe I am looking back on this with rose tinted glasses, but, I quite miss the days where some things were a mystery or having heated debates over what film an actor has been in, now with IMDB on my phone it’s settled without a word.
Tinkering, trying, failing and frustration were all part of learning something new. Now they are slowly falling by the wayside, sites like StackOverflow mean you do not have to fail (and sometimes not even try if you’re clever with your questions!).
The last thing I recall doing on a whim with little to no research was weightlifting in 2009. I woke up one day thinking ‘this is something I want to do’, asked around for gym suggestions and turned up. Luckily I met a good trainer there who got me on a decent barbell program, but it was predominately trial and error. I did stupid things like eating contests (14 cheeseburgers, by the way, yes I threw up for an hour after), I squatted 100% of my max six days in a row just to see what it was like, I tried ridiculous diets, strange routines, I did not track my calories, nor did I stretch, I would train 3-4 hours (with a lot of talking) some days. Basically, a whole boat load of things that, with some research, you would never do. But the amount of first hand knowledge I gained is not measurable, I knew how my deadlift was going to feel based off of how I got out of bed that morning, I could control my moods, strength and energy through what foods I ate, I had a very clear outline of what I was capable of, but best of all, I knew exactly what worked for me. All of the hours I spent doing the ‘wrong’ things in the gym, are the hours people now spend on /r/Fitness crying about their body fat percentage. My number one piece of advice is just turn up, do that for six months then worry about what the optimal shoe for squatting is.
To an extent, the same thing happened with web development. When I first started, I had a friend who did PHP, so I started learning PHP. I did not search for benchmark tests, what frameworks PHP had, what the road map for PHP was or weirdly emotional posts on Medium about syntax. I just started learning the fundamentals and slowly came to my own conclusion that there had to be a better way (glares at PHP). I feel had I started web development three months ago I would still be sat here debating whether to use Ember or React, Less or Sass, Gulp or Grunt, Sublime or Vim (Vim, obviously, you animals).
I am sat here, having never done iOS, frustrated that I do not have the industry perfected pattern for solving these problems or a picturesque file structure and that’s pretty silly. Time I could have spent getting used to Xcode (the gym) has been spent on /r/iOSProgramming (/r/Fitness) trying to find the best tutorials (workout regime). Then there is a feedback loop of being frustrated that I am not #1 on the app store even though I do not even have a developer account yet. It is akin to turning up to the gym, not lifting any weights and being genuinely shocked nothing has changed.
There is no better time than now to flail around at the gym, or to mash your keyboard until you finally bring up the correct panel in Xcode.« Go home