Toptal is a marketplace for top Android developers, engineers, programmers, coders, architects, and consultants. Top companies and start-ups choose Toptal freelancers for their mission-critical software projects.
You have the idea for the next revolutionary application. Armed with enthusiasm and motivation, you’ve decided to go for it and make your dream come true.
So now, after you’ve decided to turn your idea into breathtaking app, you’d like to hire an Android app developer to fulfill this need.
When you’re about to hire Android developers for these types of jobs, how can you determine if they are real experts? You might not come from a technical or programming background, but still want to hire the ideal person for Android app development.
Is it possible? Yes. But there are many mistakes to be made. If you want to pick the right Android programming specialist for the job, here’s a list of situations you can avoid during the hiring process.
1. Hiring a Developer That Doesn’t Have a Good Sense of Product Behavior
Android app developers should have a good concept of product design until the level where you can assist them on your own and not be dependent on a product manager. Product behavior is a crucial part of the Android development process, and working with Android developers that have experience in it can save you a lot time and money.
For example, you may want to create a sign-up page for your application. At first glance, a sign-up screen is merely selecting user and password. But practically, you need:
- To know which authentication methods you’d like to support (Facebook, user and password, Gmail…).
- To ensure that, where needed, there is validation check (e.g., if a user types their email, check that it’s a valid email).
- To skip this screen the next time they access the app, if a user has signed in already (or at least, this is highly recommended.).
And many features that you’d like to add to your app can contain many scenarios that you may not think of at that time. But an experienced Android developer should recognize them and act accordingly.
The Android developer who has experience in this will develop an app that behaves professionally and is simple to use. Hiring someone for Android development who doesn’t have much experience can cause your app UX to feel less mature, and you may need more development cycles to produce a good version.
It may be hard to predict your candidate’s level of product design expertise in the hiring process, but you can ask questions regarding product behavior to get a rough estimate.
2. Hiring a Developer Who Doesn’t Have a Lot of Experience in UI and Material Design
A user interface is much more than mere graphics. It should look beautiful and professional, yes. But it should also be simple to understand.
When you want to develop an Android application, you may have help from a designer, but it usually won’t be enough to ensure that your app will have good quality UI. That’s because the app is usually changing in the development process, and you may need to adjust the UI due to product changes or new features.
Using a designer for every small change or adjustment can be expensive and also lengthen development time. Luckily, Android has many “out of the box” UI solutions for many scenarios, which come in the form of tutorials and libraries, and Android developers should know these scenarios and libraries from past experience and popular apps.
Using the common UI patterns is good because it both will look like many applications that your typical user will already know, and because to implement the UI should be simple and fast due to the great libraries that Google provides.
Many of the new UI patterns are related to Material Design concepts, which Google introduced a few years ago.
Material Design is compatible for mobile devices, especially small ones. In addition, there are many icons that Google provides for free and, usually, there are enough icons to cover most of your needs.
They also provide tutorials and free resources, such as the material color palette. The right Android developers did most of the design work by themselves and their apps look professional and simple to use.
3. Hiring an Android Developer Who Doesn’t Have Experience with Releasing an App and Publishing It on Google Play
The typical Android app developer has released many apps and published them on Google Play.
When releasing an app, there is some important work that needs to be done, and it’s crucial that your candidate has done it before.
An example of the importance of this stage is a tool called Proguard. This tool can obfuscate your code and remove unused libraries and classes, and the output is a much smaller and safer application.
But using Proguard properly requires past experience. It’s not a simple process, and using it incorrectly can leave your code exposed and your app size bigger. In addition, a seasoned developer should know not to use it except when releasing an application. There is no real reason to obfuscate it while you test your app before the release, because it’s still not available for the public.
Another thing to note is that, when you release an application, you have to sign it. That means that you need to use a file that contains a hash key to secure and prove that you are the owner of this app. This file is mandatory when publishing it to Google Play.
But it’s also mandatory when releasing version updates. If you lose this file, you cannot update your app, so a professional Android app developer should know to save this file in a safe place. They should follow best practices regarding both security and backups here.
Finally, publishing an app to Google Play is a pretty simple process, but understanding all of the Play features can dramatically help you to improve your application and gain more downloads.
For example, one of the interesting statistical tools Google Play offers is to get recommendations of languages that you can translate your app to. (It recommends them to you based on other apps in your category, and the countries from which people are already visiting your app page.)
This and more great features exist in Google Play, and hiring Android developers that know this platform well can definitely help you to build a more successful application.
These examples are a small demonstration of how important it is to hire an Android developer that has released many apps. When hiring the right expert, you can relax and be sure that the release process will be short and effective.
But it doesn’t end there. Another thing that every Android developer should know is to add services for monitoring the product after it’s been released. Two things you may want to monitor: Crashes and analytics on specific actions.
Monitoring crashes is crucial when you’ve released an app, because you cannot predict all the crashes you may get, and if a user’s app crashes, you’d like to know about it and fix it.
There are many tools and libraries you can use to monitor crashes, and an expert will know to use one for your app. (Google Play has its own crash monitoring, but it only monitors the crashes that the user explicitly asks to check. Other tools do it automatically for every crash.)
4. Hiring a Developer That Doesn’t Own at Least One Good-Looking App on Google Play
When you search for your ideal Android app developer, you would probably like them to show you what applications they did in order to give you an estimation of how much of an Android expert they really are.
But that’s not enough. To better select your next developer, you should also check to see if they have their own apps in the Play Store, and not just ones they’ve done as jobs for clients.
That’s a very important thing to note, because it not only proves to you that the developer knows how to publish an app to Google Play as we mentioned above, but also that they are making Android applications because they love it, and not only for the money. And working with an Android developer who loves what they’re doing should be your top priority.
As a bonus step, consider checking if they’ve updated their apps recently, or if they’re currently working on side projects.
Your ideal Android developer will have multiple, proudly-owned apps.
5. Hiring a Developer without Having Thought Through the Full Stack
Most apps these days need to use a database, especially anything related to social networks. Chances are, your app will need to use one as well.
Hiring an Android developer that doesn’t know how to manage databases means that you might need to hire an extra developer solely for that purpose. Sometimes, that task can be complex enough that it’s worth it to hire another developer. But usually, in the first versions of your app, you won’t need that, as your database will be pretty basic.
Android developers should have experience in managing databases, at least simple ones. There are many services that a developer can use to manage a database via a simple API.
One of the popular services here is Firebase. Firebase is one of many services that Google provides to make mobile development much easier.
Two of its top-used features are:
1. Real-time database as a service: Firebase provides a developer with a way to create a database and simple API to manage it. Another huge advantage in using that database is that Firebase provides you a GUI to see your database in real time, and it’s much easier to use a database when you have simple GUI for it.
2. Simple API to make various authentications methods for your app: You may want to have the ability to let your users log into your app. In this case, you can choose to let the user log in via different methods: Email and password, Facebook, Twitter, etc. Developing these things from scratch can take time, because you first need to use a database to store all that info, and also use different APIs for each different method. Firebase provides a very easy solution for this that can be implemented in a very short time.
Firebase is one of many tools that can help Android developers manage databases without using a real back-end. An expert developer will already be comfortable enough with one of them to get the job done.
It’s important for you to check with your candidate to see if they have experience in full-stack development or using services like Firebase, because that can save you time and from having to hire more developers.
After you’ve interviewed a potential Android specialist and decided to hire them for the trial period, what else can you check to estimate if this developer is the right expert for you? Here are few points you should pay attention to during that time.
6. Hiring a Developer That Provides Poor Time Estimations
When you started to work in the trial period, your candidate may need to do some task, and they may estimate the time it will take to do it. Usually, when implementing a small task, the ETA should be accurate. And probably in the trial, you would like to assign your candidate small tasks that they can complete in the trial period.
You should notice if they completed this task in the ETA they provided, and if not, you should get proper explanations and, again, that shouldn’t usually happen for small tasks.
Providing an accurate ETA for big tasks though can be harder to predict because, often, there may be more product adjustments, features, and unexpected bugs along the way.
Android developers should maybe even finish the task before the ETA ends and update you in case it will take longer with a good reason—and preferably not at the last moment. Speaking of which, our next pitfall:
7. Hiring a Developer Who Doesn’t Update You as Frequently as You Want
Even when assigning small tasks, it’s still important to pay attention to whether your candidate updates you on important changes, and generally in an expected frequency.
You might prefer that your developer will update you frequently, or maybe only for important things.
Whatever it is, you should notice whether your candidate is updating you as you expected. Working with a developer that updates you too much or too little can make your work together slower and less productive.
Android developers should be easy to work with and update you as often as you expect—whether that is very frequently, or not.
8. Hiring a Developer That Provides You Buggy Builds Frequently
After you assigned a task to your candidate, and they finished and updated you with the build, you should test in a very thorough manner to look for potential bugs. And the reason is that it should give you insight on the developer’s ability to find bugs and fix them, or in other words, the ability to test their own products.
That’s a very crucial thing that you should check, because Android developers need to recognize bugs before they release new versions, and also need to know how to test their product correctly, and if they don’t do it, they may provide you a buggy product, and if you won’t notice, it can get to the end users, who can complain or give bad reviews in Google Play.
So you should pay extra attention to the first build you get from your candidate, test it thoroughly, and see if it contains bugs that seem easy to reproduce.
Another thing you might want to know is that Android provides excellent testing libraries, both logic testing and UI testing, and it is worth checking if your candidate have had experience with them before. Maybe the trial period is too short to use testing libraries but it’s definitely something that an Android developer should have experience with.
Find an Experienced Android Developer Who Works Well with You
When you’re considering hiring Android developers, it’s important to check if they are a real expert who can deliver your app with the highest production level possible and with whom you will enjoy working.
Hiring the right expert for Android development can save you a lot of time and money, and you may find them suitable for future projects as well. The hiring process can be challenging, but if you avoid the pitfalls mentioned here, you will find the right one quicker.
Android, Google Play, and the Google Play logo are trademarks of Google, Inc. The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.
- Trusted by: