Monday, March 11, 2013

How To Get Hired as an iOS Developer

As we quickly approach that time of year when students look more heavily towards internships and seek to start their careers, I decided to do a little research. The idea was sparked by an article by Mugunth Kumar in which he discouraged companies from hiring an iOS developer based upon their portfolio. Kumar had a solid reason, in that looking at a portfolio tells you nothing about the behind-the-scenes capabilities of a developer when it comes to producing actual code. However, his alternative suggestion to companies of viewing open source contribution received a lot of flack from his readers as well. So how does a developer prepare to get a job?

Zoom In
Pick one area of development that interests you, and learn everything you can about that one area and how it integrates into the larger functionality of an application. Employers look for someone that knows their trade inside and out, so cater to that search by becoming an expert in...databases. Or security. Or game development (this is a beast of an entirely different color). This could even be a specific market, such as finance or productivity. Whatever subject you choose, get intimate with the specifics. 

Zoom Out
Once you have picked an area, put yourself out there to be found. Get LinkedIn, Plaxo, Twitter, Facebook, Ecademy, etc. accounts, and build your profile. But do more than just build your profile. Like good code, your profile should be maintained. Information should be kept relevant and up-to-date. Another fantastic way to demo your expertise is to create a technical blog. Regular updates will show your potential employers your ability to stick with a project while also showing off your passion and knowledge.

Ryan of Rooster Soft Studios suggests "...the best thing to show is at least one published and non-trivial app." Not only should you be able to show a completed project, it is absolutely pertinent you know your code. You should not be so reliant upon open source that you do not understand why your code does what it does. If you can, however, contribute to open source, as suggested by Kumar, this further demonstrates your in-depth knowledge.

While an app written by a single developer is a good start, it is also a good idea to show collaborative work. There are two areas in which collaboration can be shown:

  • Other Developers: In working on a large project, you often have to work with other developers. This is a special way to demo that area of expertise you have been preparing. 
  • Graphic Designers: When you demo that app you have been working on so diligently, keep in-mind "You can never make a second first impression." You have made your code streamlined and commented, why would you not want graphics that look just as amazing!?

When in doubt, show some skin. Works every time! ;)

I hope this helps you plan a path to employment! And to learn more about Scott Gruby's recommendations to employers for selecting a developer, visit this post


  1. weird that everyone is so down on open source, given that almost everyone relies on it for their computers to work ...

  2. Sam, I think you're misinterpreting the comments in the original article about open source. Judging a developer solely based on open source gives a skewed perspective. In many of my own best works, the company I've worked for owns the work and therefore I can't publish any of it. If you look at my github account, there is very little there and while I have contributed to open source in the past (look for pilot-link), most of my projects are closed source.

    No one is bashing open source, just using it to gauge someone's work.

  3. Interesting thoughts, gentlemen! I think the key point I am trying to convey is that open source shouldn't be used unless the developer understands why they are using it and why it works. I personally only use it as a launchpad to discover why my code is broken. I want the capability to own every process along the way (other than graphics...I'll leave that to someone else)! And that may change once I finish school...but for now, I need to be the best student I can, and that means writing my own code.
    I also like the phrase in your blog, Scott about how open source "isn't inherently a problem." I hope my readers will visit your page to discover all the great advice you have!