Archive for September, 2012

Hiring a mobile apps software engineer: what to look for

September 25, 2012 Leave a comment

One of my former managers called me last night.   “Steve” worked for me several years ago.  Three months ago,  “Steve” was actively recruiting 2  mobile apps engineers to support both iPhone and Android platforms.   The search has been very difficult due to a shortage of qualified engineers.

“Steve” still had many resumes from great engineers who had limited experience developing mobile applications.   Could the right candidate be among these engineers?  I shared with “Steve” several suggestions to help identify the right talent.   There months later, “Steve” happily extended  offers to 2 engineers.   Both turned out to be fantastic members of the team.

What should a hiring manager look for in a software engineer who will develop mobile applications?   Believe it or not, the number one item is not whether the engineer knows Objective C or Java.

#1:  Does the software engineer understand the five dimensions of mobile design context: location, locomotion, immediacy, intimacy, and device?  (source:  Forrester Research)

Location:  mobile users can use their devices wherever they are

Locomotion:  mobile users can use their device while on the go:  in the car, running, walking.

Immediacy:  mobile users can user their device at a moment’s notice

Intimacy:  mobile users can use their device for different purposes.   Device use can vary from a digital appendage to an occasionally used device for a specific personal or work task.

Device: mobile devices vary greatly in form factor and capabilities

#2: Does the candidate show a deep appreciation for solving problems that may arise while the software is operating in a mobile environment?

– What if the network is not available or signal is lost every 2-3 minutes?
– Are there any functional scenarios sensitive to latency issues?
– Security?  Authentication?
– Diagnostic capabilities?

#3:  Can the candidate select (and defend) a solution approach while considering three implementation paths?  What implementation path might be a better option for a given set of functional requirements?

– Native
– Hybrid:  where HTML5 is rendered inside the native application

#4:  Can the candidate describe, design, and implement a testing framework for the mobile application?

#5:  Can the candidate give examples of mobile applications which can serve as an example of user interface “done right”?   Why?

Then – and only then – it’s helpful to learn about specific technical skills and experience:  Objective C, Cocoa Touch, HTML5, SQLite (for Android) …

The next fantastic mobile engineering hire is only a few questions away.