From Tennessean to Cocoa Programmer in 3 easy steps!
Andy on May 22nd 2007
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.
Filed in Career, Macintosh | 7 responses so far

Rich May 22nd 2007 at 05:35 pm 1
Not to be contrarian… but the company I work for has two Cocoa developers and is located in Nashville, TN. I also know of a second company that has a Cocoa developer (maybe two now) in Nashville’s suburbia as well. I have a feeling their are few more out there as well (probably music software related).
Of course, this is certainly a needle in the haystack compared to out west, but a few magical positions do exist…
Joe Goh May 22nd 2007 at 06:12 pm 2
Or, if you can’t manage to find a company to hire you as an entry-level Cocoa programmer, you could take a highly-risky route by first working for a company in your own hometown, saving up as much as you can while you’re there, then leaving that company to found your own company with that money saved to become a full-time Cocoa programmer.
Phew, that was a long sentence.
That’s the route I took, and although you might not end up rich, it’ll work too if you wish to stay in your own hometown, and there just aren’t any available Cocoa programming jobs there.
You can read more about my story here: http://macapper.com/2007/05/15/switchers-giveaway-honorable-mentions-iii-the-indie-mac-developer/
Grayson May 22nd 2007 at 08:00 pm 3
I’m from TN and I’m a bit surprised by just how many Mac programmers I know are from TN. I’ve heard of 4 or 5 Cocoa programmers in my area and a couple for Carbon (non-overlapping). TN certainly isn’t a tech state so I’m curious how so many come up on my radar. Any ideas? Anyone for a beer?
Brian Criscuolo May 23rd 2007 at 06:04 am 4
The option of going to work for a small software company is a tricky one. Generally, the smaller companies don’t have the infrastructure that supports a college graduate with little to no commercial development experience (especially Cocoa!). I started out of college with a company that always hired new grads but had sufficient engineering staff to train and nurture, but upon moving to a smaller company 9 years later I realize that the options for a graduate are less than desirable, unless you have Mac development experience that means something (as you pointed out).
Smaller companies need people with experience, so they can start in on fast moving, under development projects right away.
Good post. I’m in Charleston, SC, working remotely. I know of one other Cocoa developer in the area.
Joshua May 24th 2007 at 02:41 pm 5
Rich: What are the names of these companies? Perhaps they’re looking for interns
Grayson: I haven’t met any yet, but I’m looking!
David Young May 27th 2007 at 02:52 am 6
Good story. Mine is at:
http://www.stuffonfire.com/2006/01/23/how-to-make-a-living-as-a-mac-programmer/
I came up through NeXTSTEP/OPENSTEP to Mac OS X and I’m still under 30, I may be the only person in the world who can say that.
Funny bit about rewriting Extension Manager! Adobe’s apps are crazy these days, seems like a bunch of stuff is written in Apollo and Flash, sort of. Or at least, it performs like it is.
Interestingly enough I have been doing some Windows work lately and I’ve oft thought of the title of your blog as a reference to what it is actually like to work on Windows, not sure if I misread that or not. Either way, I’m glad you’re safe, my world seems to get sharkier all the time, but at least I’m still having fun.
Casey May 30th 2007 at 09:03 am 7
Add to that list Griffin Technology, located in Nashville, TN:
http://www.griffintechnology.com/contact/careers.php