Archive for May, 2007

From Tennessean to Cocoa Programmer in 3 easy steps!

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.

Logo Designs, Business Cards, and When Engineers Go Bad

The issue of our company logo came up again recently because of WWDC. Both Jim and I will be attending this year, and we thought it might be nice to have some business cards to hand out. Unfortunately, we’ve never had real cards printed before, and then there’s the question of our questionable logo, which can be viewed at our site.

I should point out that the current logo was a gift from a client, who simply pitied us, and our non-graphic designing ways. Since we were doing engineering services for them, they didn’t want their clients to think they had partnered with a firm that consisted of four year olds with a bad case of the shakes, when they saw our logo. Anyway, not to look a gift horse in the mouth, but we felt it might be time to upgrade our logo to something more modern and less busy.

A sane person might have taken that as a cue to go hire someone qualified, but not me. Instead, I fired up my copy of Fireworks, the greatest web graphics program ever, and started working on my abomination before God… I mean… business card.

Here’s what I came up with:

Business Card, Style A Business Card, Style B Business Card, Style D
Business Card, Style C Business Card, Style E

Sorry. I probably shouldn’t have just flashed that up there without some sort of warning. Hopefully no one stabbed their eyes out with a rusty pair of scissors just to get the images out their head. As a community service I give design teachers permission to use these in their classes as what not to do. Just make sure you’ve hidden all the sharp objects and the students are wearing the appropriate eye protection (blindfolds) before exposing them to my designs.

Anywho, after my partners got done whining about their bleeding eyes, we decided we might should hire a professional. So we’re in the process of looking for logo designers, and pricing how much such a thing would cost us. Unfortunately, between the four of us we apparently only know one designer, which somewhat limits our options.

I have to admit, it was a lot of fun doing someone else’s job. I mean, graphic designers have it easy. They just need one of them graphics editor thingies and beret, and they’re all set. I think tomorrow I’ll do someone else’s job. Maybe a neurosurgeon’s. I hear that it’s all the wrists, and last I checked that’s what was connecting my arm to hand. Maybe I’ll get one of those cool bibs they put over their faces when cut open someone’s brains.