Taking a Monastic Approach to Apple Programming: An interview with Aaron Hillegass
If you frequent Apple developer conferences, you'll have probably seen Aaron Hillegass. He's the guy who wears the ten-gallon cowboy so he can be recognizable and approachable. Hillegass is a trainer and writer — he wrote the best seller Cocoa Programming for Mac OS X, now in its third-edition, and most recently iPhone Programming, the first of a series of Guides from The Big Nerd Ranch.
A former developer trainer at NeXT, Hillegass founded Big Nerd Ranch in 2001, applying the monastic idea of retreat to technical training. Since then, BNR has hosted more than 2,000 students at its ranch in Atlanta, Ga. In keeping with its monastic theme, it also provides training at a monastery in Germany.
In a wide-ranging interview, I asked Hillegass about the Apple phenomena, what we can expect next from Apple, the reason for BNR's monastic retreat, and his thoughts on Google's Android.
Linda Leung: In an interview with TUAW, the unofficial Apple Weblog, you say the ranch is aimed at developers who are motivated for the subject. Aren't all students motivated?
Aaron Hillegass: Many people are talking about the economy and unemployment these days, but the underlying problem is not getting as many headlines: the worldwide shortage of talent. Talent is what finds new solutions to old problems, and talent is what leads to technologies that create new markets. As scientists have studied talent, they have found that it is less about genetics, and more about how a person's passions and skills are cultivated. It is time to change this process, and Big Nerd Ranch is part of that change.
Not so long ago, once a child could read, write, and do basic arithmetic, he was put to work. He learned the skills of his job at work. As the world has gotten more complex, our solution has been to simply add more years to school. Today, you aren't considered qualified for a good job unless you have spent 17 years in school.
The result is that learning a skill happens years before the skill actually gets to be used. Teachers spend a lot of time saying things like "Please pay attention because you are going to need to know this someday." As you get further in your studies and the knowledge becomes more domain-specific, the teacher says, "Please pay attention because you *might* need to know this someday." This is why students are so unmotivated.
What if we accept that learning, in a complex and rapidly evolving world, is a lifetime process? What if we accept that we will need master skills in a just-in-time manner? Would students be more motivated if you told them, "You will need to know this when you get back to work on Monday."? Hell yeah, they would.
Big Nerd Ranch is devoted to the idea that in the right environment a motivated student can learn really difficult skills in a single week. We view our job as creating that environment: the best instructor, the best materials, and a distraction-free setting. We assume that the student is motivated. After all, why do people show up for a seven-day class on iPhone development? They are about to write an iPhone app. We never need to tell our students, "Please pay attention, you will need this someday." They know exactly what they need and when.
We cover more material in one week than a college course could cover in one semester. A motivated student in an immersive learning experience is a miraculous thing.
LL: In the TUAW interview, you say that good teachers are hard to come by. Where did you find yours?
AH: A great instructor needs to have a rather specific set of skills: You must have complete mastery of the topic that you are teaching. You need to be able to explain things clearly. Our instructors develop the materials, so they must also be able to write well.
As if that weren't enough, you need to have a passion for the topic and a passion for teaching. Without the passion, an instructor simply doesn't have enough patience to last the week.
As Big Nerd Ranch becomes more famous, it has been easier to recruit the best instructor for any given topic. However, in some cases we've hired a person with mastery of the topic, and taught them how to teach well.
LL: How does BNR differ from other training organizations?
AH: The most obvious difference is that our classes are "all-inclusive." That is, the student arrives at the airport, and we take care of everything from there: transportation, food, room, everything. We find that this approach is best way to create a distraction-free environment.
There is an implicit agreement when a student signs up for our class. The student is saying, "I'm giving you this money and this week of my life. I want to go home with the skills I need." And we are saying, "We will create the space where you can develop the highest level of mastery that you are capable of." It is a serious commitment for both parties, and it weighs heavily on my shoulders.
We also teach our classes at company sites, and that is a little different: we have less control over the environment there, and our commitment is to the company and its upcoming projects. But we still take the commitment very seriously.
LL: The BNR Web site describes the ranch as an "idyllic setting with fine dining and exercise facilities." It sounds like a yoga retreat for geeks — a far cry from the sorry-looking bagels and muffins available at most tech training courses.
AH: The idea of "retreat" is central to what we do. Remember that "retreat" was originally a monastic idea; it was a retreat from the petty distractions of the world to create a space where one could really concentrate. With every passing year, the petty distractions of the world become more overwhelming. Creating a retreat for learning is a natural response to this trend.
The point being: The Big Nerd Ranch is not a luxury resort for geeks; it is a monastery for geeks.
LL: You also have a training facility in Frankfurt, Germany. First, why Frankfurt, and were you able to recreate a little bit of Atlanta in Germany?
AH: First, Frankfurt is a major air hub in the center of Europe. It makes it easy for any European to get there.
Now, if you have bought into the idea that our classes should be taught in a monastery, it will not be surprising that we actually rent space in a monastery for our classes in Frankfurt. Kloster Eberbach was built by the Cistercian monks in the 12th century. Our classroom used to be their hayloft.
LL: The monastery sounds fantastic. What in general has been the feedback from students of their stay at the ranch and of the training?
AH: My favorite quote from a student:
"I learned so much I forgot my name."
The vast majority of our students have great experiences, but the important measure is what they do afterwards. Many have told me that the skills that they learned at the ranch changed their lives. They are happier and more successful because of the time they spent at the ranch.
LL: Let's talk about Apple. How do you explain the whole Apple phenomena?
AH: Nearly every product comes into the world with too many features and usually accumulates even more bells-and-whistles throughout its lifetime. Apple's genius is in removing that which is unnecessary. The result is a user experience that is clean and simple. And, it turns out clean-and-simple is exactly what regular people really want.
However, every time it happens, we are shocked:
"What!? The new Macs have no parallel port?"
"What!? The new MacBooks have no floppy drive?"
"What!? The iPod has no FM radio?"
"What!? The Mac Air has no CD drive?
"What!? The iPad has no USB connector?"
I would argue that an important part of Apple's brilliance is that it *does not* listen to its customers.
LL: What's your opinion of Google's Android?
AH: At Big Nerd Ranch, we have developed a couple of apps for Android. Overall, Android feels more like a work in progress. They had some nifty ideas, but most of them have not been fully thought-out and time-tested.
It is important to remember that the iPhone is based upon Mac OS X (which is 10 years old now) which was based on NeXTSTEP (which is 20 years old now). The software that makes the iPhone great has been tested and reworked many times. It is a more mature environment in which to develop software.
That said, you can't ignore Android. In every country, one carrier will get the iPhone, and one of the Linux-based mobile platforms (Android, Maemo, or Moblin) will become the OS of choice for every other carrier. At the moment, Android is winning that race to become the alternative.
LL: You've spoken in Europe and the U.S. at various developer conferences. What's the level of Apple developer expertise in the places you've been?
AH: Some of the basic ideas behind Cocoa are quite foreign to many programmers, so the learning curve for an iPhone or Mac programmer has a conspicuous hump — the developers on one side of the hump look like idiots to the developers who have already crossed it. Developers who have crossed the hump can talk intelligently about delegates, views and layers, memory management, and the event loop. Developers who have not crossed the hump tweak Apple sample code until it sorta does what they need.
At Big Nerd Ranch, we sincerely hope that our books and courses help people get over the hump.
LL: What makes an awesome iPhone app?
AH: There are no awesome iPhone apps.
The best iPhone apps are bland: they do their job well and get out of the way. As an example: The killer app on the iPhone is the email application. You would never describe it as "awesome," but it makes the phone an indispensable tool.
In our consulting business, we are approached daily by people who have an idea for "an awesome iPhone app" that they would like us to implement. The most successful apps that we have worked on, and the ones we are most proud of, are not awesome at all.
LL: Apple has business users and consumers coveting its laptops, desktops, servers, smart phones, and now tablet. What's next?
AH: The iPad is the platform of the future. It is the next natural step in making computers more ubiquitous and less conspicuous. I would assume that Apple's plans will build upon the platform: An iPad for your car that gets mounted in the dashboard? A waterproof iPad for the kitchen? A 50" iPad for the living room? Apple is just getting started.
LL: In your bio on the BNR Web site, it says you were a developer trainer at NeXT between 1995 and 1997. Shortly after NeXT was bought by Apple, you left to create your own company. Why did you leave Apple?
AH: A large corporation is like the body of a living animal. Within a corporation, it is important that the message to the outside world is consistent. It is also important that one part of the organization is not working at cross purposes with another part of the corporation. Within a large corporation, these problems are like cancer — they spread quickly, creating worse problems as they grow.
There are methods for fighting these forms of cancer within a corporation: rules, meetings, and an unassailable chain of command. At some point, I found that I was spending a lot of my energy fighting corporate cancer, and looking up the org chart, I saw that my superiors had it worse.
I left so that I could devote my time to writing, teaching, and programming without attending meetings or worrying about who thought I was doing a good job.
LL: Congratulations on the publication of the book iPhone Programming: The Big Nerd Ranch Guide. When can we expect the iPad Programming guide?
AH: Because of the increased screen size, designing an app for the iPad is very different from designing an iPhone app. However, once the design is complete, programming the two devices is nearly exactly the same. The quickest way to become an iPad programmer is to read our iPhone Programming book. Also, the book has a chapter about the differences between the two platforms.
LL: Final question: How do you feel to be one of the most influential people in the Macintosh community (The MacTech 25, 2007)?
AH: I feel surprised. I find it surprising that anyone is going to read this interview. I am consistently surprised that there are many people whom I have never met who know my name. I'm still a little surprised when I find my book on the shelf in a store.
Overall, I'm very grateful that the Mac/iPhone community has been so kind to me. I created the job that I wanted, and the community has made that role sustainable. I try to return their kindness by doing good work, but my efforts have never sufficiently expressed my gratitude for the opportunities I have been given. I will try harder tomorrow.