It’s been a year, give or take, since I started looking into iOS development, and I wanted to write a post to reflect on where I am and what are the next steps.
Progress on iOS to Date
I spent the first three months of the year learning Objective C and hacking on some small programs.
I spent some time experimenting with Core Data and MVC and trying to get an automated testing system up and running.
After the summer I came back to the app with a better understanding of MVC as implemented in iOS and Core Data and I started working on it again. I read up on TDD and started implemented tests using Cucumber and Calabash. That took me up to about October.
Work has stalled on it since then due to a combination of real life commitments from both family life and work. And also Skyrim! Curse you Skyrim and the hours I sank into it :)
Here’s where I am currently
App work: I didn’t get as much done as I had planned at the start of last year. I got diverted in other areas, namely:
Testing - TDD & BDD: I hadn’t planned to look at any of this but ended up spending a lot of time here and learning a great deal. Familiarizing myself with this way of programming was probably the biggest benefit I gained from the last years experimentation. I probably could have completed the app if I didn’t spend so much time on TDD and tinkering with automated testing setups on Jenkins. However I wouldn’t have learned anywhere near as much about proper programming techniques if I did.
On the iOS front I feel that I have a good knowledge of Objective C. However the issue is finding time to finish the app. Any time I was able to set aside a sizable chunk of time I got a lot done but getting that time is the key.
I think working on this side project has made me expand my horizons more as a developer. I couldn’t have predicted the areas that I would have become interested in at the start of last year. I don’t think it’s a coincidence that as I’ve started looking at more stuff outside of work, that my work projects have become more interesting. I feel like I’m able to bring so much more to a project now especially in the areas of TDD and design.
Admittedly I haven’t pursued the iOS work 100%, but I feel that the other languages I’ve been exposed to compensate for that. I think it was better to start out with iOS and then divert into other topics rather than not do any side work at all.
As regards the blog, looking back I am happy enough with what was posted in the past year. The main thing I’m not happy with is the regularity of the postings. The same things that have stopped me doing much software work, have also stopped me publishing much. In future I want to maintain a more regular posting rate. I aim to post at least once a fortnight and hopefully once a week.