Afterthoughts from iPhone Boot Camp (Portland)

Monday, July 30, 2012 at 10:28 PM
Over this past weekend I was lucky enough to be sent by Nike to iPhone Boot Camp in downtown Portland.  It's a three day class hosted every four months in Portland (as well as other many other cities) with 10 to 15 people per class.  It's designed to give programmers with little to no Objective-C experience the tools to start building their own apps.  For people thinking about taking the class or others like it, I thought having some impressions might be helpful in deciding.

There are different trainers in different cities; the Portland one this time was led by Collin Donnell, a local independent iOS developer.  Collin isn't a professional instructor but he is, as far as I can tell, an expert in iOS development.  Even though I'm new to Objective-C, I've been a programmer for long enough to tell when someone has an intimate knowledge of how the magic happens and when they can just put together a nice Powerpo- er, Keynote presentation. I like to ask a lot of questions (probably to the point of being annoying) and Collin was able to give me the what, how, and why for every one.

Anyone can sign up regardless of programming experience so the class had people with a wide range of skill levels.  Some had been working as professional engineers in other languages for several years, some had just been playing with programming on their own, and some had very little to no programming experience. Coming into the class, you definitely want to have spent some time at least reading books on programming concepts or writing some code on your own. The course covers everything from if-statements to MVC, but if this class is the first time you're hearing about those concepts, you'll start feeling really far behind early on day two.  I've worked professionally in object oriented languages for several years and read a few books on Objective-C & XCode over the last few months so the first day was a little dull. By the second and third days, though, I was glad I came to the class with the knowledge I did.  If you feel comfortable writing your own apps already then the class won't be very useful to you but otherwise, the more you know going in the better.

While day one mostly covered topics I was already familiar with (object oriented programming and Objective-C syntax), day two was probably the most valuable day for me.  We spent a lot of time in XCode and Interface Builder exploring how to create interfaces and use them in our code.  This is where tutorials online have been tough for me to find useful.  There always seems to be a screen that the tutorial would show and I wouldn't understand how they got there.  With Collin right there to answer questions for us, I got to know really well the different buttons, views, and menus available in both XCode and Interface Builder.  We were given enough instruction to feel comfortable writing simple apps and learn how to write complicated ones- either through more instruction or exploring on our own.

The last part of day two and first half of day three was mostly spent learning about specific UI classes (like navigation and table views) and APIs (like Maps integration).  It was cool to learn about and get hands on experience with but probably topics I could have learned about easily enough through books and documentation.  The last half focused on more advanced topics like blocks (aka closures), threading, networking, and core data.  I found this extremely valuable to get exposure to and at least gave me a foundation for learning more on my own since the topics are too large to cover in a couple of hours.

Ultimately I'm extremely satisfied with my experience. I was glad to have an instructor that knew iOS development inside and out because asking questions was what made this course so much more valuable than a book or video.  If I didn't have my way paid by my employer I probably would not have gone; it's not a lot of money compared to other classes but I don't normally spend money on something I could get for free myself.  I could have eventually learned this stuff on my own but it would have taken a lot higher time investment (afterall, that's how Collin learned it).  That said, I'm grateful for the opportunity I had and excited at the possibility of starting my first app.


If only the promoters of the boot camp didn't spam every technical mailing list out there, people might be more likely to consider attending their classes.
Posted by Peter Bell on Monday, March 4, 2013 at 10:31 AM.