It may take weeks to learn for the right person. But I doubt the right person is available. Do you know any really good developer who isn't really busy?
One thing that frustrates me is the new 'mobile developer' role that seems to have emerged. Rather than having two separate people - an iOS specialist and an Android specialist, companies will hire a 'mobile developer' as if Android and iOS have a lot in common with each other. They would never hire someone who had only Objective-C experience to code a Java app, but they will happily throw an iOS developer at an Android app.
What it means is you typically get someone who knows very little about
Android putting out utter crap. I think this is one of the reasons why the Android Market has suffered from such low quality, even in apps from major companies.
Agreed. We don't consider Android and iOS programmers interchangable (except in so far as we consider all programmers at JTV to largely be generalists who can work on whatever they put their minds to). Android and iPhone are different platforms with their own gotchas that just happen to share some form factors and styles of interface elements. When we do product design we design for each separately.
WebOS/Bada/Android(Linux), WindowsPhone(CE) and iOS(Mach) are all very different. Each platform uses its own string class, threading logic and UI layer. The lack of standardization is almost bizarre when you factor in HTML5. This results in lots of developers sitting on the fence.
Five platforms, five compilers, five api´s... yet everything runs on 32bit ARM, uses ANSI/ISO C-like syntax and reads UTF8 over HTTP.
I tried writing something that was multiplatform with HybridKit and it was almost impossible. Even stupid code generation might be too much. So solid design and custom code seems like a safe bet.
> The lack of standardization is almost bizarre when you factor in HTML5
I have a feeling we'll one day look a back on this period as a time of mass insanity when just as we nearly attained the dream of a cross platform stack that could run and work well anywhere we all enthusiastically threw it away and enslaved ourselves to the horror of splintered, incompatible technologies.
Part of it might be explained with the fact that in a small shop the mobile dev also happens to be the one doing the mobile UX, and there are at least some mobile UX skills that are relevant across platforms.
tl;dr: hire talented engineers with strong programming backgrounds and let them work on areas of the company they are interested in, regardless of domain experience.