It was 2009, I was sent to Canberra, ACT Australia for a 2 day Apple iOS Programming course as part of a special “Innovation to Commercialisation” (I2C) Computing Project initiative of the University of Western Sydney (now known as Western Sydney University). It was early on in my software engineering journey, and by the end of it I was able to flush out a program that created and randomly moved circles on the screen while transitioning the background into a rainbow of colours. It was far from impressive, but it was a start. Another developer on the other hand was able to create a multiplayer virtual tennis like game but the paddles shoot bullets, he was the worthy winner of the $50 iTunes gift card and I was awakened to the potential of iOS programming.
The short story of the in between years of University days to now, is that I’ve also been an Accountant, University Tutor – Statistics, Java Enterprise Computer Programmer & High School Mathematics Teacher.
Ten years later from that Canberra session I’m living the dream of working and learning full time as an iOS developer, traveling for work to attend WWDC, and occasionally diving in to build my own games and utility applications, in between husband and father duties. I guess being a natural “night-owl” helps in that regard.
So if I was to talk to someone who would be like my younger self what advice would I give them? I guess I would give them these 3 things and some more.
1. Stanford Standard: Take the Free Standford Swift course on iTunes U. It’s free and it’s Standford! Paul Hegarty does an amazing job. At my first iOS Gig the team grew to 15 iOS Developers and Swift was just coming out, we would gather twice a week to run through these lectures, and our coding skills and pull request comments improved significantly.
2. Me, myself & iApp: Build your own app. One thing that I believe got me across the line in to my first role, was impressing them with my first app “instaLover/iLover”, it got over 100,000+ downloads and made over $20,000+ (after apple tax) in in-app profits. It was an application that enabled users of Instagram to swipe like pages of photos rather than tap into each photo individually and then like them. It was a niche I discovered as I entered the needy sub-cultures of Instagram and I pounced, and it paid off. One of the best learning curves ever, this was also during the days before iOS had a JSON Parser, so I had to build my own. The proceeds helped fund a year worth of traveling (along with airline benefits – another story), it was awesome! However, once Facebook bought Instagram they created all these restrictions on the API which made my app useless. But have a go! Find something you’re interested in and try to build an app for it. Diving in allowed me to learn frameworks that became great discussion points in the interview.
3. Yesterday & Today for Tomorrow: Be respectful of the past, mindful of the present and expectant of the future. How would this apply to iOS Development? Learn Objective-C for legacy code, stay up to date with development tools and frameworks and continue learning. Keep the latest version of Xcode on your machine and keep track of changes in Swift programming language. https://swift.org/blog/. I remember while I was busy being a teacher, I let the iOS dream die down a little, and then I was suddenly called for an interview. The interviewer asked me “What’s the current release version of Xcode”… Stupid question, but I took a guess, and by the look on his face, it was wrong, and I looked like a fool. I doubt that would happen to any of you, and I wouldn’t want it to. But a small insight into why it’s pivotal to stay fresh, so staying up to date and keeping this dream alive is the way to go. For anybody that is new to iOS I definitely recommend learning Objective-C. Swift is still relatively new to a lot of the companies that heavily invested in Objective-C during the iOS boom, so a lot of the future work will be reading and possibly converting Objective-C code.