As an IT recruiter, what should know about Android?
What is Android?
Android is not a phone or an app, but an OS (operating system) built on top of the Linux kernel. Android is designed with mobile in mind, where the phone’s functions and apps live. Everything we see on the display of an Android device is a part of the operating system. When you receive a text, an email, play a song, or record a video, the OS processes the information and puts it in a readable format for you.
How long has Android been around?
In October 2003, way before the term smartphone was commonplace (and before Apple announced the iPhone/ iOS), Android Inc was founded in Palo Alto, California. In 2005, Android was acquired by Google. Google launched the public beta of version 1.0 for developers in late 2007 and in Sept. 2008, the very first Android smartphone was announced.
What are the skills required for an Android Developer?
- Java OR Kotlin:
In 2017, Google declared Kotlin as the second official language for Android app development. An Android developers needs extensive knowledge of at least one of the two official development languages- Java and Kotlin. Since Java is the most popular programming language for Android app development, expert knowledge of Java is non-negotiable.
- Android SDK (software development kit)
The Android SDK is a collection of software development tools and libraries necessary to develop Android applications. With each new version/update of Android, Google also releases a corresponding SDK. The Android SDKs gives developers access to device functions like the camera and accelerometer.
- Android Studio
The (IDE) integrated development environment most Android developers use is called Android Studio. It comes with in-built support for the most common Android SDKs.
- Experience building/ working with APIs
In most cases, your app will need to interact with other services. For e.g. if you want to integrate Google Maps, allow users to check stock prices or add events to their calendars, your developer will need to know how to work with APIs to be able to fetch/ query data from other services.
- Backend knowledge
Even if you have a backend developer on the project team, your Android developer will need to have a basic understanding of backend processes and how the architecture is set up to be able to contribute well.
Unless it is a very simple app, your app will very likely handle a large amount of data which won't live on your user's device. This means that the app will need to interact with a database living on the cloud. There are several different ways to achieve this, but in any case the Android developer will need to know how databases work, how to send and receive data and how to integrate it into the app.
Android Developer Job Description
Writing a good job description is critical to attracting the right candidates for your role. You can use the Android Developer Sample Job Description as a template to create an enticing job description.
Android Developer Salary Guide
The main factors affecting the salary of Android developers are experience level, skills and location. You can read more in our Android Developer salary guide.
Questions to ask in a phone screen
- Which is the biggest Android project you have worked on so far, and what was your contribution to the project?
This is a good question to start the conversation for you to get some context on the scale they have previously handled. Their level of contribution to the project gives you a sense of the level of seniority. Ideally, you want them to have worked on a project that has seen the scale you are expecting your app to achieve.
- What Android frameworks and libraries have you used the most?
The answer to this question gives you a sense of the level of experience and depth of their knowledge. If they've been an Android developer for 2+ years, they should ideally have used or atleast heard of all the popular frameworks in the Android ecosystem.
- How do you find memory leaks in Android applications?
The Android Device Manager (ADM) within the Android Studio application is a useful tool to detect memory leaks in an application on Android. When you are run a mobile app, you will see the heap size, memory analysis and other stats displayed on it.
- What’s the difference between implicit and explicit intent?
When you use an explicit intent, you inform the system which activity or system component it should use to generate a response to that intent. An implicit intent is where you state what action you want to perform. The system checks what registered components can control that action. We typically use explicit intents to begin components in the application, where we use implicit intents when we are trying to communicate with other components from a third-party application.
Using a screening test to assess Android Developers
You can use the Android Online Test to evaluate candidates for the role. Depending on whether you require them to have Java/ Android or Kotlin skills, database skills etc, you can customize the assessment. Based on your job description, our subject matter experts will select the right questions to include in the assessment to give you relevant data on their on-the-job skills.