Android is the most popular operating system in the world, with over 2.5 billion users.
Whereas iOS users use a device that costs four figures, the latest version of Android can be purchased for a mere $69 (Samsung Galaxy M01, running Android 10) in Bangladesh.
That is why there are such a huge number of apps in the Google Play Store. A massive user base offers scope for almost unlimited expansion. That means hiring an Android application developer is a worthwhile investment.
Before you hire an Android developer, delve into their learning and skill.
We share below:
5 technical questions to ask an Android developer and the possible replies.
5 exploratory questions to ask an Android developer and the possible replies.
Before hiring an Android app developer you have to know their track record. It is easier to develop web apps, but building native apps requires a high level of software coding skills.
5 technical questions to ask before you hire an Android developer
Top Android developers must not only know about SDK and Android Runtime but Java and Kotlin, the two languages most used for app development.
Java and Kotlin are both high-level, class-based, object-oriented programming languages. When you hire Android app developers, test their ability in both.
Describe the layers of Android architecture
Kernel
The kernel is based on Linux. That is what makes it so robust.
Libraries
Retrofit
Moshi
EventBus
There are 15-20 libraries and a GitHub repository that contain plenty of modules.
Runtime
From Lollipop (version 5.0) Android mobile operating system changed runtimes from Dalvik to ART. Eight years have elapsed and most mobile application development does not update apps for Dalvik anymore.
Framework
In this instance, Framework refers to Android design (which is very specific), animations, and tools.
Applications
Such as browsers, chat apps, mail, which are accessed by users.
What are the types of memory in Java Virtual Machine?
Android uses Java extensively. Types of memory in Java are:
Class
Heap
Stack
Program Counter
Native Method Stack
How to concatenate two strings in Kotlin?
Using the plus() or + operator
val a = “Good”
val b = “Luck”
val c = a + b would store “GoodLuck”
and a + “ “ + b would store “Good Luck”
How many dialog boxes does Android support?
Alert
Usually used for yes-no decisions such as Rate This App, Rate Now / Later
Date
For selecting date
Time
For selecting time
Progress
Used for displaying percent of execution. A progress bar (as dialogue) might prevent a user from interacting with the screen so it is rarely used as dialog but coded in the UI (as in Chrome page loading percent).
What is AAPT?
It is the Android Asset Packaging Tool, the equivalent of a .zip file on Windows.
It allows the creation of compressed folders for installation and extraction. Usually used for unpacking a large install when 80 MB might be compressed to 45 MB in the Play Store.
5 exploratory questions to ask before you hire an Android developer
These questions give you an insight into the mind of the programmer. Of course, not all interviews when hiring an Android programmer is the same. The answers are indicative of what you must look for.
Knowledge is not everything. It has to be backed up by adaptability and resourcefulness. Before you hire a remote Android developer, try to know the candidate from every aspect.
Which programming languages are you able to use?
I can write code in C++, Java, Kotlin. I have worked on projects that use these extensively.
I learned Python, Ruby, PHP, HTML, JavaScript, and CSS in college. I have never used them during my career.
Tell us about your last project?
It was a native app development for a radio-cab company. I worked on adding and improving payment gateways. We introduced a “Share Bill” functionality using which two riders could split the payment.
I also took part in pilot code writing for postpaid users who would have a billing cycle. The project was dropped midway as the company could not get a tie-up with credit check vendors.
How do you communicate with clients who do not know how to program?
It is perhaps the most difficult task that a coder has to face. No one except a CTO usually has an understanding of coding nuances.
My favored approach is to create a flowchart. Though CxO and product managers may not understand coding, they understand this tool well.
I do not lecture to a non-technical audience but prefer to use the Socratic Way as far as possible. This gets them to think like a coder in a step-by-step rather than intuitive manner.
However, it is difficult. When I do not know the clients and their ability to understand tech, the first meeting is always tentative. The second meeting is far smoother since I know how much I have to explain and from what angle.
Why are you not an iOS developer?
First of all, I have never approved of the Apple platform and its closed system. I believe in GNU, public software, and open source. I respect Android engineers since they allow development of forks such as FireOS for Amazon.
Secondly, I have never used an Apple product since they are quite high priced. I have no comfort in that zone and became a dedicated Android developer. Any Android app (except gaming) can run in a $70 Galaxy M01 and a $1500 Galaxy S22 with equal ease.
Thirdly, from a purely coding point of view, if I was required to learn Swift and iOS SDK, I would certainly do so. I am not completely unaware of it, but I can’t sit down tomorrow and code in Swift.
I am an expert Android developer but given two months, I can rectify that situation and code for iOS.
Have you ever built your own app?
Yes, and I have published an app on Play Store.
It is a freemium reader.
The free version supports PDF, EPUB, MOBI, DJVU, TXT, RTF, AZW, HTML, ODT, XPS, CBZ, CBR, TIFF, PDB formats.
The premium version offers (among other advanced features):
Night Mode, RTL reading, an internal media player, and advanced speech-to-text capability for $5.
It has 40,000 downloads and 1,000 premium users, with a rating of 3.8.
If you are looking to hire an Android developer, I am perfect for that position.