Main menu

You are here

The Hunt for iPhone Development Jobs

January 8, 2009 - 11:47 — Jason

If you've been following my recent blog posts, you'll know that I have been working on moving into the mobile application development industry. I've had a few experiences in the past few weeks that might interest anyone else looking for iphone development jobs. Your experiences may vary.

So where did I start looking for iPhone jobs? The fast and dirty answer is craigslist. The long answer is workopolis, kijiji, then craigslist. Why is it a long answer? Basically I went in looking for full time employment. I figured there were a few shops out there that have built apps for the BlackBerry who want to cash in on the iPhone's popularity by porting their apps to the iPhone. I thought these shops would want to hiring 2 or 3 developers full time to be a part of their 'iPhone' team. Fair enough, right? Not so much. From what it looks like, they want to bring in contractors to work on the application. Now what I don't know is what they do with the contractor afterwards. My guess is that they either keep him/her on indefinitely as a contract developer, or hire them full time, or once a full time member of the team is caught up on how stuff works, the contractor gets canned. The getting canned part is another reason I don't like contract work.

So what about contacts? What happens when you make contact with an "organization" via craigslist. In my experience, the ones that want someone right away get back to you within a few hours. Wait wait wait... Why was "organization" in quotes? Well there is the odd time that an individual with an iPhone app idea will post job on craigslist just looking for iPhone developer(s) to code up their idea. This often ends in a discussion of the idea along with rev-share as the payment plan. Clearly these are not opportunities that I'm looking for so I tend to ignore those. You can tell which ones are which just by looking at the job post.

So after they contact me about an interview, I usually set up one as soon as possible and start preparing for the interview. My preparation consists of looking over what I have already done, and then reading as much as I can about stuff I don't already know. There is only so much I can do with the time I have. The time comes when I meet with these potential employers. They give me their corporate elevator story and then ask me a bunch of questions about what I've done and where I'm going, and my experience. Then go on to ask me specific questions about my experience. Typical interview BS.

The good stuff comes when they ask me the technical questions. This is probably the most gratifying moments for be because of these employers ignorance. They look at my resume and see that I finished up school in August, and think I'm some noob that has never seen a line of production code. They forget that I not only worked the 3 years I was in grad school, but I worked with absolutely terrible code for those 3 years. I know what to do, and I also know what NOT to do when it comes to production code.

Then they ask me if I have any questions. This is where things get interesting. Again, playing to their ignorance, I start asking about specific development techniques that are generally practiced in real development shops (commenting code, version control, design patterns, etc) and you'd be surprised how often this stumps people. I try not to come off as some arrogant jerk, but if they are going to look at me as some fresh out of school dev noob, than I have to make it a point to let them know that I know what I'm talking about.

I do sometimes get the feeling that this technique of slamming the potential employer might be backfiring on me though. I've done two interviews that had real potential and I'm still waiting on hearing back from both of them. The one interview I had a while back (a month ago now), I had friends within the company that said my interview went well, but I didn't have enough experience with exactly what they were doing. The job description didn't specify any experience for the particular task they were interviewing for. Oh, and they did say I was brilliant.

The other interview wasn't that long ago, but I messed up on 1 of their 4 technical questions, so I don't expect to hear back from them. If I do hear back from them, great. But I'm not going to hold my breath, hoping they see the potential and take a chance on me.

Surprisingly, I didn't get that many questions about Objective-C. The interview that I messed up asked me 1 Objective-C question that I nailed, but than the rest was theoretical. You'd think that for an iPhone dev job that it would be a barrage of questions about memory management, NSObjects, the Cocoa Touch Framework, and so on. But not really.

Salary expectations? Go high. Never low. If you think you're worth a certain amount, go for that amount and then if they decide to offer you the position, the bargaining can begin. That being said, you are unemployed until you sign a contract! I can not stress that enough. You will look like a fool if you call back a week later asking if they've made a decision. A lot of you might disagree with me, but iPhone developers are NOT a dime a dozen.

Until very recently, the Mac development world was a tiny tiny market. There were a lot of people going directly to the Microsoft side or the web side because that's where the money is. There were a very limited number of Mac specific developers out there that then got a head start on this iPhone thing. So if they think they can find better, and then continue to interview candidates, you must continue to apply for jobs you find on craigslist (or wherever you look). If they realize the other applicants are not nearly as experienced or as dedicated as you are, and try to contact you a month later, the smart employers would have hired you by then. And you want to go with a winner in this market. Not the losers. They know you're looking and you should know they're still looking. Don't be passive. If you really want to work there, be aggressive of course, but not obnoxious aggressive.

What does help is a portfolio. If you have a list of apps that you've worked on on your MacBook (pro), bring them to the interview. If you can demonstrate that you at least know how to pop open Xcode and create a Hello World in IB, you're ahead of many software developers out there. Might not land the job, but they'll give you a second look. I keep a portfolio of my work on my blog, and I have been taking screen shots of the iPhone apps I develop and throwing them up on flickr. Just today I figured out how to embed a slideshow in my portfolio from my flickr set which holds iPhone dev screen shots. I hope it works for my interviews.

But yeah, the moral of this blog post really is to know your shit, ask real dev questions, and never stop looking until you sign something.

Comments

As a 20-year Mac development veteran (I used to work at Apple), what I have seen going on is exploitative interviews.

The company will hire some cheap foreign workers, then troll for resumes of experienced Mac developers such as myself, then call us up and PRETEND they want to hire us. They will ask things like "How would you develop this application" or "What books do you read for iPhone development" or "What technologies would you use to develop this application?". This is a dead giveaway they just want your skills - once you tell them how to do it, they'll try to go train their own cheap-labor developers to do the job more cheaply. This is flat-out fraud and one reason why once you do the interview, you never hear back from them. Be careful!

This seems to be the unsung, and less pretty, part of the iPhone dev community. Everyone on both the employer and employee side wants to cash in on being in any way associated with the word "iPhone" or "iPod" - it makes it harder for both sides. Employees have to sort through ridiculous $100 bids; employers have to sort through innumerable résumés of questionable accuracy.

All in all, I'm grateful for the advice as I start my search - you've saved me some hours.

Great post it seems we all know what is going in with the companies using the ideas and then farming it out. Why not create your own company? I am intrigued with app dev and see the garbage and craigslist and wish I had my own company doing it.

... there is more to starting your own company than just writing code. Especially if you want to expand and add employees. There's so much going on in the mobile space that it might be overwhelming for one person to start a company. Going in with partners is always the best idea, but finding the right partners would be difficult. Probably need a potential CEO, CTO, and then some marketing/sales people.

Thanks for you inputs. They will come in handy when I look for iphone development job. I am sort of discouraged by some of the comments here about iphone development. I am starting out as a developer. My goal is to do enough open-source development and then join the workforce.

Right now I am deciding on which technology my time and effort will bear me the most juiciest fruit. I have taken courses in C#.Net and wanted to go that route but getting free version of VS studio professional is next to impossible. Today I found out my trial version of VS Studio Professional 2010 expired although it was supposed to last for a whole year (I still had 7 more months to go). So, this route is proving to be worthless right now.

The other option I was considering was iphone development but seems like, they don't hire people that easily and if they do, they do it for a short term project. Could you advice me on whether iphone development is a profitable business?

If not then in which technology combination is useful? I have taken some Java courses and want to utilize these skills unless there is some technology which is in high demand and has a huge dearth of talent.

iPhone/iPad is very profitable.. but right now, you'll need to know what you're doing before they'll even look at you.. For example, most companies want to see if you have an app in the app store. That's unlikely for people who don't have much experience..

as for technology to focus on, I like Java and PHP, simply because they are so readily available.. Grab a free copy of eclipse, and your flavour of the LAMP stack (LAMP, WAMP, XAMPP), and you're off to the races..

Now, I saw Java and PHP because PHP is an easy language to learn, and you can hop into Drupal development after you have a decent grasp of PHP. Also, there are very VERY few mobile apps that don't have a web content delivery platform, so you can play with API development as well.. Now with some Java experience, you can do Android and/or Blackberry development (that is, if you're still interested in mobile).

With iPhone/iPad, the first stumbling block is that you *need* a mac.. Then you need to get the device, and you need the dev program membership.. There is a lot of upfront costs associated with mac development..

So get as much dev experience with the free products available first (open source is great for experience), then hop into iPhone when you think you're confident enough.. it takes time. don't get frustrated..