Six Weeks Of App Academy

posted 27 October 2012

The objective is to create sixteen junior iOS developers in nine weeks. This is how we learn at App Academy, an iOS bootcamp.

Coding

In learning iOS in a really intense class, we’re getting good at learning fast. Our selling point to others is our potential for the future.

Ruby and Rails were our introductions to the class. Ruby’s a flexible language with an amazing community.

We made the switch to Objective-C after two weeks. It was good to learn how to think in more than one programming language and not get stuck in the first one you learn.

Pair Programming

We pair for the whole class. We share a keyboard and a screen. In pairing, I learn how to share and let other people do their thing, when and how to debate with my pair, how to be wrong and get over it, how to be right and not brag, how to communicate an idea succinctly, and infinite patience.

I’ve been most effective in pairs where I treat the code like a scientific experiment (or maybe an art project). It doesn’t matter who the ‘winning’ idea comes from. It also doesn’t matter if you’re mistaken (as long as you eventually realize it).

Mentors

Ned gives us a high level overview of a concept. Then we go through and demo the concept, working through all of the moving parts that he’s showing us for a particular framework of iOS.

Ned’s there to walk us through when we really need guidance, and he can kick us out of the nest and let us figure it out on our own sometimes too. By the end of week 6, we are doing things without a lecture introduction. It takes time to get good at it, but there’s a lot of power in getting good at reading the apple documentation.

Surrounding myself with people willing to work hard has been the most impactful part of the program for me. The prospect of 60-80 hour work weeks filters for a certain kind of person, and we reinforce and push each other.

You’re not part of a group like this, find local meetups and hackerspace. Or, find a friend that knows how to code. Between them, stack overflowthe internet, and a lot of hustle, you can teach yourself.

Absorbing New Concepts

It’s more straighforward for me to make a project practicing different parts of core data that ActiveRecord.

Through experminets, here are some things that I’ve been doing that have worked for me: 1. When learning a new concept, immediately connect it to concepts I’ve already been exposed to. Compare it, contrast it, evaluate it. 2. When I’m learning a new iOS framework, instead of reading over a chapter and just ‘getting’ it, I learn how to use something if I go back over it a few times, type out the code, and explain each line. 3. If I find myself lost in the middle of refractoring, keep going. There is usually an answer.

  1. I’m always trying to balance my pace. If I push myself too hard, my brain fries after three hours and I’m done for the day. If I take short, strategic breaks every hour or so, I can code for 10-12 hours.

And that’s what we’ve done. I wake up. I code. I go to sleep. I go to hack nights and different meetups. I hang out and meet cool people. I basically live in the office.

Finding a job

To code professionally, I’ve got to get good at two things:

1. Creating valuable code.

It means approaching code every day like a professional. It means working harder and more efficiently than anyone. It means getting damn good at my craft.

2. Selling my ability to create valuable code.

Fortunately, there’s been a lot of work done on learning influence and selling myself.

Because I’m 18, I’m in the unique position of experimenting with a lot of different ways of selling myself.

Here are a few ideas I’m trying out: 1. Making cool open source projects. 2. Volunteering (a lot) 3. Going to every hack night. 4. Be awesome and make friends with people you like. 5. Do interesting and/or outrageous things.

My Testimonial

I’ve been surrounded by a group of hardworking and cool people. They’re fun to hang out with. We pair for the course, a totally different experience from trying to learn on your own. It’s all hands on. We learn about a concept, and immediately dive into it. Ned, the instructor, can do amazing things as well as break down hard concepts.

App Academy has been the most intense learning experience of my life. For these nine weeks, I basically live in the office, totally immersed in learning how to code. I’ve had to push myself, grow, and meet the challenge of becoming a developer in nine weeks.

Three Weeks Till demo day.