Hillegass: Are you kidding? When we started teaching Cocoa seven years ago, normal people asked me questions like, "Are they still making Macintosh computers?" and Mac people asked me "Do you really think people are going to move to OS X?" If I had done any market research, I would have never tried to sell classes on Cocoa programming.
Here is the secret that I knew: 95% of all technical training that happens on this planet stinks. Training is often used as a tool for selling something else, typically hardware, software, or consulting services. As a result, the classes are:
1) Taught by someone who lacks knowledge or eloquence
2) Held in unpleasant places
3) Based on poorly written and irrelevant materials
While we have become famous for our Cocoa Bootcamp (which was, as it turns out, a good idea), Big Nerd Ranch exists to create a revolution in technical training. We have brilliant classes on Ruby on Rails, OpenGL, Python, PostgreSQL, PHP, and Django. And we are just getting warmed up.
Books are fine if you have a quiet place and lots of time to study. If you live in the real world, however, quiet time is surprisingly rare. You want to master a technology? You can spend one week with us, or spend a year staring at the book that you never seem to have to time study.
Macwelt: The concept includes silent times and walking. What else is special about your classes?
Hillegass: Using the retreat-style atmosphere, we foster a sense of community among the students. Often our students end up becoming friends. A few have even started companies together.
Our instructors are both knowledgeable and articulate. This is a huge challenge for us: people who can code and speak are surprisingly rare.
Mac programmers are motivated by elegance
Macwelt: Are Mac programmers different (opposed to the normal Windows/Linux programmer)?
HillegassWhen a programmer chooses a platform, he is saying something about himself. All programmers like sharing, money, and elegance, but Linux programmers became Linux programmers because they especially like to share. Windows programmers especially like money. I think Mac programmers are especially motivated to by elegance.
Macwelt: What does the perfect student for your Mac programming classes look like? And do you get those?
Hillegass: In the final analysis, I teach to put dinner on the table: the perfect student pays for their class months in advance, loves the experience, and writes about it in their blog. And, luckily, we get students like that pretty regularly.
Macwelt: Why do you offer Mac classes and especially why Xcode? There are other development tools for the Mac like Applescript Studio or Realbasic...
Hillegass: If you are going to write elegant, high-performance applications for the Mac, why would you use anything but Cocoa? Cocoa is what Apple uses -- it is tested, optimized, and constantly being improved. We've seen a constant increase in demand for Cocoa training, but there has been almost no requests for AppleScript Studio or RealBasic training.
AppleScript Studio is a solution to a problem that no one has: it is too complicated for a non-programmer, and too limited for a programmer.
RealBasic applications are ugly. I would be embarrassed to ship an application written in RealBasic.
Why can’t we write applications for iPod, iPhone and Apple TV?
Macwelt: Do you get support or do your students get support from Apple beyond the things at http://developer.apple.com/ ?
Hillegass: I think many developers are disappointed that they don't get personal attention from Apple. Apple is a busy company, and everyone at Apple has a lot to do. It is ridiculous to expect personal attention from any large company, even one as innovative and inspirational as Apple.
What are the great things that Apple does for developers? The Worldwide Developers Conference, fine documentation, relevant sample code, and a steady stream of pre-release software. And, of course, they gave us Mac OS X -- the finest platform any programmer could hope for.
How does Apple screw us? Well, Apple has a distain for the enterprise. As a programmer, this makes it considerably more difficult to make a living writing apps -- most of the money for software development comes from business. If Apple can't win the hearts of corporate IT departments, the ecosystem can only support so many developers.
Given that we can't get into the enterprise market, Apple should at least let us write applications for their consumer products. Why can't we write applications for the iPod, the iPhone, and Apple TV?