February 10, 2012
Here’s a familiar situation: you need an app, and so you need an app developer. Senior management made mobile a priority for this year and provided the budget to bring development in-house. Your web application developers are great with .NET, but they don’t know Java or Objective-C, the languages behind Android and iPhone development. They don’t know the Android SDK or iOS SDK, the platforms on which Android and iPhone apps are built. They lack experience creating user interfaces for small screens. You do the reasonable thing and budget for a senior mobile developer in Q1, so that you don’t need to do any training or hand-holding, and then you figure you’ll add two junior developers in Q3. That way, the senior developer will have time to get a solid app published and then can start to spend time finding and mentoring junior ones.
You draw up what seems like a reasonable job description, compared to your senior web app developer descriptions. 8 years of software development experience, 3 years of Android experience. Great benefits, casual Fridays. You post your job, and get a million responses. Unfortunately, 98% of them are developers who have never worked with mobile, let alone published an app. 3 candidates have published a toy app in their spare time, but nothing impressive. One candidate looked pretty good, but took another offer the day after you saw her resume. One guy responded with the perfect skill-set, but his compensation demands are outlandish, to the point where it’s not even worth having a discussion. You’ve never had this much trouble finding a good .NET developer, but you’re at a loss for how to get your app development rolling.
Where did you do wrong? How do you fix this?
- Adjust your expectations
- Adjust your budget
- Consider a mobile web application
- Get creative
Many management teams have realized that their apps are not a one-shot investment, but an ongoing process (like most software development), and decided that bringing the development in-house would be the most effective way to approach ongoing development. Without any existing expertise in-house, they (very reasonably) tend to go after a senior developer first, one who doesn’t need hand-holding and that can mentor future hires. However, these very reasonable conclusions have led to a serious talent bottleneck. The Android Market opened in late 2008, and only really caught corporate attention when things took off around December 2009 (the original Motorola Droid). Before the corporate world set an eye on Android, there weren’t a ton of Android developers putting out professional-quality apps. Those that had the requisite skills were often already working at exciting start-ups that would do anything to keep them (or Google). The situation is better now, but if you’re looking for someone with multiple years of full-time Android development experience, you had better have a very strong employer brand, or you better be prepared to bend over backwards. You also may need to shave off the number of years in software development overall. This is speculation, but I believe that Android developers are less experienced than the market for developers in general; they chose to learn Android because they didn’t already have a strong resume with another skill set. I recommend reducing your expectations for a Senior Android Role to 5 years software development experience, with 1 year of Android experience, and an impressive app published that you can see for yourself. You might get a little more experience out of iOS developers, because the platform has been a round a bit longer, but don’t push it too hard.
I recently had a discussion with a recruiter in the Washington, DC area. It turned out we didn’t have a matching position to discuss, but we did talk about the current market. He told me that senior Android contractors are currently bringing in about $15-$25/hr more than senior Java developers (with 10 years of experience). You don’t have to take my word for it, but you may want to consult some local recruiters before you set your price range.
Consider Mobile Web Instead
You might not need native apps. A mobile web application can hit all the major smartphone platforms in one shot and can leverage your existing web developers’ skills. Mobile web apps never seem to end up looking like they belong on the phone like native apps do, and it usually takes additional skills beyond desktop web development to build a wow-worthy mobile web app, but the cost savings and headache savings can be substantial. See my previous post, Do I need an app?, for more details.
Staff from within. Send a couple of high-potential developers to a bootcamp for the platform of your choice. Find an experienced consultant and put him on retainer for office hours for a few hours a week (I’ll be happy to help with Android coaching). Your existing developers will love you for the new career opportunity. Fair warning: be ready to compensate them once they put out good apps for you, or they’ll disappear with a 25% raise a 2 months later.
Or, keep trying to bring in a resource from outside, but get flexible. Let the developer work off-site 90% after first 3 months or allow hyper-flexible hours. Offer a free phone upgrade every 6 months. Put a freelancer on retainer for 80 hours per month.
Infiltrate the ranks of app developers. Find them where they socialize. Look for local meetups and networking opportunities. Post to stackoverflow’s job boards or this new board just for app development jobs.
Or Just Ask Me
Need some more advice? Want to contract with me to help you out? Talk to me. I’m not sales-y, I swear. I’ll try to point you in whatever direction seems best for you, even if it doesn’t result in me billing any hours.