
Why it’s hard to find Android developers - mikeevans
http://blog.sephiroth.it/2014/09/16/why-its-hard-to-find-android-developers/
======
allegory
We tried to recruit an android developer in London, UK.

Absolutely no problem finding candidates but finding one that had done more
than 'Android Programming for dummies' type stuff is painful. The majority of
people have written a TODO list app and nothing else, not even any other
programming of any sort and expect £60-70k. It does make me worry that comp
sci education will end up being pushed down this route as it fulfills the UK
government's sudden focus on 'programming'.

Also, having done a bit of Android programming, around the TODO type app
level, it's a horrible tool chain. Even people we already have don't want to
be paid to take training to do it.

Consequentially we contracted our Android front end out to an Indian company
in the end who did a decent job for the money. No complaints.

Next iteration is Xamarin.

~~~
desarun
I put out a job advert on JobServe Monday for an Android dev in London.

In 24 hours I got 12 CV's (we're skipping recruiters), reduced down to 3 we
actually want to see.

I reckon we'll have a shortlist of 10 applicants, cut down to 3-4 interviews
on Friday.

I'm an Android contractor myself, and it's true, there's a lot of chaff
around.

What's your recruitment process?

~~~
allegory
Our recruitment process is basically the same as yours.

------
sparkman55
The Android toolchain is also significantly less developer-friendly than the
corresponding iOS toolchain.

Plug in an iPhone, and (after jumping through the byzantine code-signing
system) you'll be able to deploy development code to it (from an OSX
environment). If your app runs on one iPhone, it probably runs well on
another, barring some screen geometry concerns.

Plug in an Android device, and you might need to search around to find a
manufacturer-specific toolset, and/or navigate secret menus to enable
debugging (like "click this menu item that doesn't look like a button seven
times"). You might also have to worry about ancient devices that can't be
updated to a modern Android version, and have egregious platform bugs.
Comparatively, it's a mess.

~~~
mirsadm
That's extremely exaggerated. What phone did you need to find a "manufacturer-
specific toolset"? I'm not even sure what you are referring to. In fact
starting on Android is significantly easier than iOS. Enable debugging, plug
phone in and you can start debugging your apps on the phone. Don't even get me
started on sharing apps to testers. iOS is just a nightmare without using
something like TestFlight.

You can't even get started on iOS without having a Mac, a $99/year
subscription and worrying about creating app ids, profiles and other strange
things through the developer portal.

~~~
lowmagnet
Some phone manufacturers (like Samsung) ship with an incompatible, JSON
library. You have to enforce the dependency against the official library if
you want your app to not fail mysteriously.

Nothing is as bad as Apple's brain-dead method of tracking files in its
projects. They create UUIDs for each entry, instead of doing something more
file-specific. This results in merge conflicts when more than one person works
on a project. Poor design.

~~~
mirsadm
I haven't run into that issue but I am not surprised. Anything goes with
Samsung phones. With Gradle and Maven support I've found it really easy to
manage dependencies to third party libraries. Personally I use Jackson when
dealing with anything JSON related.

------
captainaj
Why would companies switch to delivering Android apps first if their paying
customers are mostly on iOS? This is a business decision and not a
religious/"I like X platform and you should follow" decision.

~~~
huuu
I wonder if this statement is true. The reports I read about Android vs iOS
revenue are US market only, or about e-commerce payments.

I'm an app developer and we make a lot of money developing apps that never end
up in the app stores. They are in-company apps, both Android and iOS apps.

There is a very big app market that you will never see.

~~~
on_and_off
It is mostly 'has been repeated to death so it must be true' statement. The
reality, as always, is way more complicated. Outside of the US market, Android
and iOS have very comparable high end marketshare. Depending on your niche and
your business model, the good choice for your app can vary from one opposite
to another.

------
buro9
If I could use Go on Android (with no major headaches) and a simple way to
describe the interfaces, I would be very tempted to switch to being an Android
programmer.

But I just can't bear to return to Java, I'm not sure I ever had job
satisfaction working with Java.

~~~
mike_hearn
As opposed to Objective-C, or C++?

Languages for writing client side apps have always sucked. They sucked in the
90's when targeting Windows (ok Delphi wasn't too bad), they sucked in the
2000's when targeting MacOS X and they suck now when targeting mobile. Of all
the languages that mainstream operating systems have used, Java is by far the
least worst. Especially because you can use any JVM-compatible language and
are not really restricted to Java. For example Kotlin is looking like it's
going to be pretty nice, pretty soon.

Go would be nowhere near a useful upgrade on the status quo.

~~~
collyw
Sucks writing JavaScript browser based apps as well in my opinion.

------
chetanahuja
I second that. There seems to be a shortage of strong Android devs in the bay
area... at least as compared to iOS developers. I know... we've been looking.
It's not for an app though.. lower level hacking (involving NDK code) is
required. Unfortunately a lack of stable Android API's has resulted in this
situation. Not a lack of desire to push out an Android product before iOS. I,
the CEO, am a long-time Android user and developed the first raw prototype of
the technology on my own rooted Nexus 4.

------
fsk
If there's a shortage of Android developers, find a good developer with no
Android experience and assign him an Android project. It'll take him less time
to learn than it will take you to find your dream candidate purple squirrel.

------
SowmyaGuru
As an Android developer I have observed that the Android market is widespread
in certain countries and is marginally less popular in some. But anyhow, when
people ask me to port apps to look like iOS, it aches.

------
bthornbury
I had no idea finding Android Developers was considered difficult. I started
developing Apps with Android and always found it to be very straightforward.
Java is much easier to understand than objective-c.

I've also never understood why Android is hated on as far as profits go. Sure
nobody wants to buy anything, but (in my experience) ad eCPMs are comparable.

~~~
cliveowen
The language isn't everything, in fact, it's the least important part of the
package. Android has horrible online documentation, iOS has stacks of nicely
formatted PDFs and a great online reference. Android tools (Eclipse/Android
Studio) are simply horrible, while XCode and related tools are really great.
Add to this the performance hit you have from having your code run on a vm and
the bloat that comes from using Java itself, and you have yet another reason
as to why Android developers are few and far between.

~~~
cageface
I'll take Android Studio over Xcode any day of the week. I've been working
with the Xcode 6 GM for the last few days and it crashes hard on me at least
once an hour. I think Android Studio, despite being in beta status, has
crashed on me _once_ in the entire time I've been using it. And Xcode's
refactoring and code management tools are a joke compared to Android Studio's.

And I'll take Android's layout schemes over managing the house of cards that
is auto layout in Interface Builder. If you're lucky you can get auto layout
to do what you want with a ton of pointing and clicking but good luck
maintaining that mess when you come back to it a few weeks from now. WYSIWYG
tools have _no_ place in a professional developer's toolkit, IMO. Leave that
stuff to the designers.

Merging xibs and Xcode project files is another hell lying in wait for anybody
doing Mac or iOS development on a team.

I'll grant you that the iOS documentation is generally better and certainly
the APIs for dealing with multimedia on a lower level are far better on iOS.
But for the typical listview-hitting-a-json-api kind of app life is generally
easier in Android, in my experience.

------
bsaul
This blog completely misses the mark.

First, android has had a culture of "free, ad-sponsored" applications, whereas
iOS apps have always been about paying for the stuff (not surprising if you
understand a bit of apple and google businesses).

As a consequence (or because of the fact) iOS users are more likely to spend
money than android users. This means that if you're doing a mobile shopping
app, you expect iOS users to be much more likely to buy your products. So it's
not just about market share, it's about market share times purchasing power.

That's for the market, now on the other end, about developers, saying
"android" has a large market share, is not relevant. You want to speak about
android market share per OS/api version. I did start developing on android,
but the minute you click on the "create new project" you need to ask yourself
how many android users you want to ignore (in double digit percentages). If
you want to have the maximum market share you need to develop with 3 years old
apis, and you'll probably frustrate users that have brand new devices. In my
experience, that's where project owner decide to postpone the decision to
start the android version of their product.

Then, if you make it up to this point, you need to decide what screen size you
want to support and how many different version of your UI you will need to
design. Note that you still haven't started a single line of code yet !

Finally, you start coding and realize the toolchain sucks pretty much. Xcode
is obviously much better than anything on the market and i won't even start
talking about the simulator (which _is_ important as soon as you need to test
on different screen sizes).

All in all, most of the time android feels like developing for a second grade
market, having second grade devices, with second grade tools, on 3 years old
apis. No wonder developers don't rush for it..

------
stevenp
My experience has been that finding mobile developers in general is extremely
difficult, primarily because there are so many opportunities for mobile
developers to make a ton of money freelancing that they don't necessarily feel
the desire to commit to working for a company. Recruiting is hard in general,
but looking for a skill set that's so in demand makes it much harder.

~~~
sharpneli
Based on my experience another reason is simply that mobile development is not
nearly as fun as anything else.

By far most of the time is being spent finding out why something doesn't work
on a Model X which is sold only in South Korea and is kinda like a model sold
here except with totally different chipset and different driver version. In
the end you report a bug to the driver manufacturer and receive an answer
"This has been fixed in our internal release" and it will never be supplied to
the current phones in the market.

Sure there is a similar effect in other areas, but it's not nearly as bad as
it is in mobile.

------
mwcampbell
I don't think startups or small companies should be looking specifically for
"Android developers", or "X developers" for any language or platform value of
X. Instead, they should be looking for generalist developers who can learn
whatever platform they need to work on.

~~~
collyw
They should, but look at most job ads. Then again, I had an initial interview
with a guy the other day. I re-read the job description, and I wasn't strong
in many of the technologies listed, though I have a very generalist CV, so it
seemed to appeal to him. The thing is, I am often put off allying for jobs
like that.

------
lynfogeek
I tend to believe this will change in the next couple of years.

With Android Wear the whole ecosystem will attract new talent. And the new
Material Design seems to be well accepted from designers.

So the apps quality should be better and company will be willing to have a
great product in both platforms.

------
progx
It is hard to find a "good" developer - on any system or programming language.

------
empressplay
As the higher-end Android market matures, with the release of L, there will be
an increased market for paid apps. So it will become more attractive to
develop Android first, having a paid version, and an ad-supported one.

------
ExpiredLink
BTW, where can I learn the Android programming language?

~~~
ryannevius
How about right on their site, to start?

[http://developer.android.com/training/index.html](http://developer.android.com/training/index.html)

Edit to add that applications are usually developed in the Java programming
language using the Android Software Development Kit, but other development
tools are available.

------
dlsym
Because the Android SDK sucks.

