Intern Insights – iOS recap

In case you were wondering if we interns have been abused to death by older nerds, don’t worry, we haven’t. But not everything is perfect around here. For example, we don’t have enough natural light in the old office and we don’t have a swimming pool… yet. That said, I’ve enjoyed everyday of my internship because I get paid to do things that I already love – learning.
I thought I would be working on rails web development, but since I also had some experiences with iOS apps, I was assigned to the iOS team. My mentor is Jon Rex, the biggest iOS nerd at The Nerdery, and I’ve been learning new things everyday since I started.
In the first week, I refreshed my memory about iOS development and finished the code challenge. All of the interns spent time meeting people from different departments who briefed us on what they do and what their missions are. I started the second week with nothing to do because Rex was on vacation. That didn’t last long because Annette Johnson, the Developer Advocate Manager, introduced me to another awesome iOS developer Mark Randell. Mark is a very nice guy and he helped me setup with a new challenge – Refactoring The Nerdery App. It’s an internal app that Mark started eight months ago as a personal project. Since he has been too busy with the client projects, nobody has been working on it for a while. It is a huge project – at least for me – with more than a dozen views, XML parsing and fancy UIs, all of which I have no experience with. When Mark first handed me the code and asked me to refactor the app to use Core Data from XML and fix some other bugs with the interface, I had no idea where to start. I stared at the code for just about the whole afternoon. When I got home that day, I downloaded all the slides from the Stanford iOS development class from iTunes U and started reading a book about iOS professional database development which I read last winter break and had since forgotten.
The next day, I started to see some traces about how the data is passed between the code. I started playing with it by writing NSLog()s. By the end of that day I had created the database schema and got the data updated to the database while the view was still pulling data from the old datasource at the same time. I hooked up the new datasource with one view on Wednesday, and I got all the views for all the Nerd profiles to pull data from the database on Thursday. On Friday, the only thing left to do was to the delete old code and to test my finished section of the app. Now it’s the end of the third week, I’ve committed to the depository a dozen times and finished basically all of the required specs and submitted to Mark for review.
So, yes, I’ve been pretty happy about my stay here thus far. Back to work. Cheers!
- Shaomeng Zhang is an iOS intern and graduate student at the University of Minnesota.



