I took vacation to attend the Big Nerd Ranch iOS Bootcamp last year. It was my favorite vacation ever. That’s when I knew I was on to something.
Today, I start Hacker School. I’m taking this moment to look back and share my Big Nerd Ranch diary. Every night in rural Georgia, I came back to my cabin in the woods and wrote my impressions of the day. Here’s what happened during that week:
I’m in my cabin after Arrival Day at Big Nerd Ranch — I’ve been anticipating this trip for about a year but wasn’t sure what to expect. I’m impressed so far.
First, the staff at Historic Banning Mills are heroic. Although I grew up camping as a Girl Scout and once could survive on Mountain Dew and Skittles, I am a city girl at this point in my life and had a health crisis that scared the Skittles right out of me. The thought of spending a week in the woods eating hush puppies from the lodge kitchen didn’t thrill me.
When I asked about food, Big Nerd Ranch staff said they would ask the kitchen at Banning Mills what they could do. The kitchen said if I could ship food direct from a provider to them, they would cook it for me. That scored about 1,000 points right there. I used Boxed Greens, which ships organic food nationwide overnight. The food arrived a few hours before I did.
THEN the kitchen staff kind of got into the idea. They said they wanted to buy more food to complement the contents of the box. They’ve considered offering an organic option for students, so I think they viewed this as an experiment. In return for their awesomeness, I gave them carte blanche to create whatever seemed interesting to them. My first meal, this evening, was delicious: a kale/peach/cucumber salad, followed by salmon over lentils with kale, tricolor peppers, and onions. (The regular food also looked tasty — salad and then herbed chicken over mashed potatoes with asparagus.)
Now I’m in the cabin, relaxing. Speaking of the cabin, it is huge and gorgeous. More good things about today — the wonderful shuttle driver at the airport who did not leave anyone behind, and my fellow classmates, who are friendly. I’m looking forward to spending a week getting to know them better while my brain gets a workout in the class. It’s a challenging (grueling?) schedule, but I’m ready and plan to make the most of this opportunity.
Which means I’m going to sleep soon. More tomorrow.
Class today was surprisingly easy and doable — but I am so glad I worked my way through the BNR Guide to Objective-C Programming last year! Struggling with this book over four months helped me rush through half of it today. We cover the other half tomorrow. If I’d walked into this class with no programming experience at all, I’d be in trouble on Monday, when we dive into iOS apps.
I still may be in trouble on Monday. The reviews I’ve read say the pace picks up fast then, so the fact that I’m finishing challenges quickly puts me somewhat at ease, since I may be able to keep my head above water on Monday and Tuesday. After that it’s anyone’s guess, because at some point we will start covering material beyond the point I’ve reached in my BNR iOS Programming Guide self-study. Then I’ll be learning entirely new stuff. And that takes longer, but we’ll still be flying through the material. I’m hoping that by getting the basics down well in this weekend intro, I’ll be able to survive through the week with some understanding and real ability to get the most from the class.
Also, I learned that there is an advanced book for the advanced class! It is, sadly, not available on Amazon or in any bookstores. Another reason to possibly take the advanced class later this year or next. I’m hoping that between now and then, I can dive in and create some real apps for free on the app store, just to test the waters and see what happens.
Anyway, more tomorrow. I was surprised not to find myself tired or burned out by 9:30pm, when I came back to my cabin. Maybe it’s a good sign, but I’ll wait and see how tomorrow goes. Food was delicious, as it was yesterday, but I am afraid my statement that, “I eat fish,” was received as, “I eat fish at every lunch and dinner.” In truth, I eat fish a couple of times a week. If fish continues to appear at every meal, I may have to say something — but what can I really say, anyway? They are preparing custom organic meals for me! Today some little potatoes and wax beans appeared — I think they are shopping for me, to supplement the stuff I sent in the box. Amazing kitchen, amazing place so far.
My brain is starting to get tired. We rushed through many topics today, and while I understood most things, they are starting to jumble together in my mind. I’m hoping my mind can sort it out by the end of the week, and that I don’t end up dreaming all night about coding, because that would be about 20 hours of coding per day, which is a lot more than 12, which is what we are essentially already doing.
Today we finished the Objective-C book and I reviewed the documentation for NSArray, NSMutableArray, and NSDictionary. Tomorrow we dive into iOS Cocoa Touch programming.
I am loving the class, despite my brain-whir, and found myself wishing I could attend for two weeks or a month and really delve into more and more advanced topics. We’ll see how I feel on Thursday and Friday; if I still feel the same, this may be amazing for me.
The classroom is light, bright, and free of awful bugs. There were some small winged creatures on my desk this morning, but I let them be and they flew away (or my neighbor squashed them while I was in the bathroom).
More good conversations with other people who are here to learn; I love being in a room full of people who are mostly there by choice, since the attitude is amazingly good and therefore so is the experience overall.
Organic food from the kitchen continues to be good, although also salty; today I learned that this is not limited to my dishes. All of the food is very salty/spiced. I keep drinking water; can’t bring myself to complain about it. Lunch was shrimp escabeche — over red cabbage with a tomatillo sauce (I’m not sure what was in the tomatillo sauce, but it was awesome). Some delicious cauliflower with dinner, and nicely cooked yams, plus more fish. I don’t know if I will eat fish for a while after I get back.
It rained today so there was no nature walk. I did see zip-liners breezing past through the pouring rain.
Day 4 of my adventure, Day 3 of class. This is where the blogs I’ve read have dropped off, and now I see why. We covered a prodigious amount of stuff — nearly 200 pages of the iOS Programming Guide. I am getting a better understanding of some things that confused me the first time around, but I still wish I had an extra day to put it all together — the basics, the new techniques — but we just keep steamrolling forward. I don’t have time to do all of the Challenges in the book, and I really wish I did, because I’m learning a lot and I’d learn even more then!
I think I’m keeping pace reasonably well. A few people are behind me, some people are ahead of me who have a lot of coding experience, and some are about on pace with me. I think this is a marathon and not a sprint so I’m okay with it.
I do feel gratified doing something for my own self-improvement that is also productive and useful, potentially, for others who might use my apps someday. I hope I can build a lot of productive and useful apps upon returning home. I certainly feel like I’ll have a running start.
This is a good environment for learning. I have almost no time to myself, which is weird, but I’m getting a lot done and reminding myself that this is temporary and necessary. What I am getting is time to concentrate, even among others, which almost never happens. I forgot how much I enjoy super-focused days.
The food remains delicious — and today it was not salty, since when they asked me what I wanted to eat, I said I would eat anything they made for me but please to go light on the salt. It was a great food day.
It was a great learning day. I wasn’t tired at 10:15 and only left because I knew I had to get some sleep to keep up the pace for the remaining days here. I found a centipede in my bed when I came back, so I called to ask the front desk if it was poisonous. They said no and also sent a nice staff guy to pick it up and remove it from the cabin. It was a nice little creature, I guess, if I were used to creatures.
More tomorrow. Bedtime if I want to get a full 7 hours of sleep. (First night: 9. Second night: 8.5. Third night: 8. I see the pattern. It stops now.)
Unbelievable amount of learning happening today. I’m starting to connect the dots, and know why I need to make a change. Even when I make a mistake I understand what the mistake was after it’s pointed out to me. I still make mistakes nearly all the time; but I also do some really cool things, like find a method the instructor didn’t know about, and try to figure out how to make it work; or set up new functionality to make things more efficient — and it works!
I’m a little bit on overdrive and finding it hard to sleep, but it’s good — it reminds me that it’s still possible for me to feel alive when contemplating work tasks, and to concentrate hard on something for several days at a time. I spend most of my regular workdays so interrupted by multiple tasks that I feel like I never get anything done. This is a refreshing change. At 10pm tonight when I still wasn’t physically or mentally tired, I realized that this is something that’s been missing from my life for a while.
I’m going to sleep now so that I can function tomorrow morning. I want to hit the ground running — again.
I am in nerd heaven. I think I may have tapped into something really important for me — other nerds.
Today was the first day I felt tired, and I struggled to keep up. We were on a rushed pace to try to make up some time, since we’d fallen behind by about one lecture. By day’s end, we were caught up — but that meant about an extra 2 hours of time. Lectures ended at 8:15 and I wasn’t caught up until 10:30. Lots of other people were there too, and we were kicked out of the learning room around 10:40 (after a few well-deserved games of Typeracer).
There was one point in the afternoon when we were implementing an involved piece of code that only worked on a single image thumbnail and only on the iPad, and I just realized that if I spent time to understand what I was doing I would never get to the *really* cool stuff — Core Data and touch gestures — so I just started typing. Type type type. I implemented the thing, realized I might need to look back at this someday, and moved on.
At points during the day I could hear the instructor talking but couldn’t focus. Maybe it was just an off day for me; but I think my head is so chock full of new iPhone programming knowledge that it needed a bit of time to process it all.
I’m going to bed now to give myself the best chance of recovering and hitting the ground strong tomorrow. I’m still keeping up with the class, but I don’t feel the sense of mastery that I felt yesterday (and yes, I realize that mastery is a good way away — but I was putting all the pieces together yesterday).
Back on track today. We went at a slower pace, I absorbed nearly everything we covered, and I was able to implement some pretty cool apps, especially one that allows drawing. I now have the skeleton of something I actually want to implement when I get home. Exciting!
Class was fun but I can feel the pace winding down. I’ll miss my fellow classmates but have enjoyed the opportunity to spend a week with other nerds doing one of my favorite things on Earth — learning.
I’d love to be back for the advanced course in November, but we’ll see how the year goes. Will I use these skills in the next six months to build apps? Will I push through the frustration when I can’t make something work, and figure out how to persevere, work through the syntax and search the documentation (and Stack Overflow) to find solutions?
We’ll see. More tomorrow — and the next day, I hope.
I’m ready to go home but also not ready. I did better in this class than I expected when I walked in the door. I want to put my new skills to good use and produce apps that are productive for users and for me.
I’m a Big Nerd.
Back home. We had class until 12:30, then lunch and then quickly piled into the shuttle back to the airport. I spent a few hours waiting for my flight there and then got home around 9:30.
I expected to feel mentally drained and tired, but I feel mentally turned on instead. This is awesome. It says to me that I did the right thing, and I love feeling this way. I’m going to keep working on the programming at home, and see what I can struggle through and make in terms of apps. I feel like the BNR class gave me the tools I need to keep learning on my own, and to work out problems when I run into them, because I’m starting to understand the underlying patterns and logic of programming.
Starting to understand. That’s key. There’s a lot more work to do — but I think I’ve got a running start. Now I just need to keep going.