I’m easily provoked into rambling, and I was recently incited by a college student, asking how I made it into Cocoa programming. Now I was intrigued because he has a similar “problem” to what I had, of being in a public state college in Tennessee (actually a sister school of where I graduated from) and trying to get into Mac programming. Because I like hearing myself talk under the guise of being helpful, I’ve decided to answer his question publicly.

Don’t all thank me at once.

My Story

The story of my rise to Cocoa fame (hey, no snickering in the back!), is both interesting and inspirational, especially if you don’t bother to check up on any of the “facts,” or know what the word “fame” means. So here goes.

First, I should point out there was no such thing as “Cocoa” when I was in school. It was all Toolbox, non-opaque structure, procedural, event polling, love. But since that’s what Mac programming was, that’s what I taught myself during college. I even wrote three tiny freeware products and released them. (Please don’t google for them, that’s exactly the sort of blackmail material I don’t need.)

Second, I got a lucky break. After I graduated from college, the Macromedia Texas office happened to be hiring. I managed to con them into taking me, undoubtedly dazzling them with my total lack of experience, huge ego, and inability to correctly pronounce the word “boil.”

Third, Macromedia fortunately turned out to be a large uncaring corporation that sufficiently pissed me off enough to curse them and leave. Then I went to work for myself as a Cocoa programmer.

The End.

hmm… maybe that isn’t as inspirational as I first thought.

Where ever you go, that’s where you are

OK, in all seriousness, there are things you can do to increase your chances of being a professional Cocoa programmer. The first thing to deal with is your location. There aren’t many (read: none) Cocoa jobs in Tennessee or most of the southeast. So you’re going to need to find your ticket out of Squaresville.

I did it by being hired by a large company, Macromedia, who paid for my move. They moved me to Dallas, which, being a large city, has more Cocoa opportunities and hail storms than Tennessee. One of the things that helped me get hired was that I had previous Mac programming experience, and that I had released some freeware. Real word experience, whether you made money off of it or not, goes a long way, especially if you just graduated from college.

However, I should point out I really didn’t get to be a Cocoa programmer at Macromedia/Adobe. Most of their apps are Carbon based (like me) and I don’t see that changing anytime soon. It will probably be a similar situation at most large companies with established products. At the time of my departure, the only shipping Cocoa app Macromedia had was the Extension Manager, because I rewrote it in Cocoa in my spare time.

Anyway, my point is you need to find a way to a city with more tech jobs, like San Francisco, New York, Boston, Raleigh, D.C., or, to a lesser extent, Dallas or Austin. It’s the only way to a Cocoa job and true happiness.

Don’t be a sucker

So I was actually lying about having to leave Tennessee to get a Cocoa job. Only suckers do that.

The best way to be a Cocoa programmer is to just be a Cocoa programmer. Work for yourself; create your own products. Of course, there is the whole problem of making money. It takes a while to establish a product (usually a few years) and sometimes weak people need to eat in that period.

When you’re self employed there are three ways to generate money while you work on a product: contracting, venture capital, and angel investing (i.e. your parents). Contracting is what we do, and what most small independent Mac companies do. The only problem is that if you’re right out of college you won’t have many connections (which is important, seeing 99% of our work is from referrals) and a lot of people don’t want to hire contractors with no experience.

To get venture capital you need to have a great idea that needs lots of people and money, and you need to be willing to give it up to the venture capitalists. I don’t know of any Mac companies that went after venture capital.

The big advantage of staying in Tennessee (other than it being Tennessee) is that it’s cheap. And that’s very important when you’re self employed.

Expanding my ignorance

I’ve kind of ignored one last option you have, mainly because I don’t have any experience with it. That is, to go to work for a small Mac company (such as Panic, Delicious Monster, or the Omni Group). I don’t know how often they need to expand, and how many new graduates they can absorb and train. But it is an option.

Working for a small Mac company has the same advantages of being self employed in that you can concentrate on the Mac, but probably has the disadvantage of not paying as much as a large company could, and having to live where the company is.

Anyway, you have a few options to becoming a Cocoa programmer. I’m very partial to working for yourself, but that’s partly because of my previous experience with working for large corporations. YMMV.