For the past several years, mobile development has attracted tech professionals interested in building apps and services for the billions of people using tablets and mobile phones. Companies everywhere continue to invest heavily in Apple’s iOS and Google Android, the mobile world’s dominant platforms. While many tech pros gravitate toward Apple’s platform, Android remains the largest in the world—with handsome compensation to match, if you have the right skills and background.
According to Lightcast (formerly Emsi Burning Glass), which collects and analyzes millions of job postings from across the country, the median salary for Android development skills is $104,000 per year, rising to $128,000 for those with roughly a decade of Android-related experience.
Fortunately for anyone looking to become an Android developer, Stack Overflow’s annual developer survey shows Android-related languages and skills are among the most popular. The Android development community is particularly buoyed by Google’s slow-but-steady shift to Kotlin as a first-class language for Android development; in addition, popular frameworks such as Flutter can make it easier to build apps.
If you’re looking to land an Android developer job, now is the perfect time to brush up on existing skills and reframe your application materials to showcase new skills you’re picking up. We spoke to experts to find out how you can ace the interview process—and earn yourself a new job doing what you love.
First, How Does Android Work?
Google rolled out Android in 2007, just as Apple introduced iOS. Unlike Apple, which only allows iOS on the devices it manufactures, Android’s creators decided to make the codebase free and open source. In other words, anyone can download, install, and modify it. As a result, we’ve had more than 15 years of manufacturers producing a galaxy of devices running Android, and while the vast majority of these devices come with Google’s proprietary software and services (such as Google Play and Google Search), their respective versions of Android can sometimes look quite different. In extreme cases, some manufacturers have even “forked” Android to create a radically different OS, as in the case of Amazon and its FireOS operating system.
For Android developers, this means the ecosystem is incredibly fragmented, with different manufacturers running different versions of Android on wildly different update schedules (if the software was updated at all). Although Google has launched attempts to get fragmentation under control (including “Project Treble”), it’s constrained by the nature of Android’s licensing.
If you’re building Android apps and applying for jobs, you’ll likely face questions about:
- Your history with Android.
- How you’d handle fragmentation.
- How you can ensure great cybersecurity and data privacy for your apps.
- How you deal with issues of backward compatibility.
Keep that in mind as you prepare for your interview cycle.
Programming Skills to Know Before Your Android Developer Job interview
What do you need to know to succeed in an Android developer job interview? First, keep in mind that Java is the original (and most widely used) language for building apps in Android; you can’t land a job working with the platform without knowing it. If you’re totally new to Android, Google offers courses for building your Android apps in Java, in addition to the enormous number of tutorials and documentation out there about Java development.
If you’re embarking on a Java journey, also keep in mind that the Java Developer Kit (JDK), hosted on Oracle’s website, includes lots of built-in support, documentation, and libraries. Microsoft hosts a website with short videos dedicated to the fundamentals of Java.
Aspiring Android developers should also know Kotlin, another “first class language” for Android development. Google offers Android Basics in Kotlin, a course designed to give mobile-app developers the foundational knowledge in the language. There’s also Kotlin Bootcamp for Programmers, Android Kotlin Fundamentals, and, for those with a bit more experience, Advanced Android in Kotlin.
Developers should also know the nitty-gritty of building apps via Google’s tools, including the ins and outs of the Android Developer Portal, which includes the Android Studio, the platform’s integrated development environment (IDE). That’s in addition to Google Play tools and APIs, Wireframing, the Principles of Mobile App Design/Development, and Material Design, Google’s design guidelines for its Android ecosystem.
Android Job Interview Questions to Expect in the Process
Have you mastered the appropriate skills? Good, because you’ll be asked myriad questions in any tech interview process. These are a few you should expect for an Android developer interview:
- What languages does Android use?
- What databases are you most familiar with?
- Do you participate in open-source development?
- Describe what an Android framework is and why it’s important.
- What’s the difference between implicit and explicit intent?
- Define the four essential activity states for Android.
- Describe the data flow in an Android application.
Master the answers to these questions and you’ll make a great impression on someone who has a say in whether you’re hired. Daniel Cooper, Managing Director at Lolly Co, tells Dice: “The Android app lifecycle is complex, but the more you know [about it] the better prepared you'll be. Be able to discuss what third party libraries you use, and why. Tests are usually algorithmic if they happen at all. Also, make sure your portfolio projects are still live.”
David Galownia, CEO at Slingshot, suggests that having a tidy portfolio is a good way to stand out in a crowded marketplace: “As expected, a developer needs to write clean, organized, and quality code. Almost any development firm you interview with will have some kind of development test to assess how you would tackle certain situations/tasks. Be prepared to tackle this when you go in for your interview.”
The Best Android Developer Skills
Wendy Liu, partner at Vaco, says that, when it comes to candidates for Android developer jobs, “an understanding of the latest versions of the languages and automation tools” stands out.
Robert Hourie and Cathal McAliskey of tech recruiting firm GemPool gave us their list of must-haves for any Android developer candidate:
- Development experience with Java and Kotlin.
- Experience working in Agile/lean methodologies.
- Understanding of RESTful API's.
- Experience with MV or MVVM design patterns.
- Expertise in building and releasing applications to Google Play.
Hourie and McAliskey tell Dice: “Java OR Kotlin skills are usually tested through a timed tech test or technical assignment.” Candidates should be prepared to be timed during technical aptitude evaluations. It’s important to note finishing the test isn’t always the most important factor—progress and being able to explain your thought process are critical. If you just write code like crazy and can’t fully explain what you did, interviewers may lose faith in your abilities.
Derek St. Onge, Head of Talent at Stytch, notes “strong algorithm knowledge” is important because “a lot of companies test for this.” Indeed, the Android developer interview is a gauntlet of technological know-how, but it’s not everything.
Master Soft Skills
Experts agree that mastering soft skills is key for any developer job. Hourie and McAliskey emphasize: “Communication skills are vital. All companies will assess how effective a communicator you are.”
Galownia adds: “An Android developer will need to communicate with stakeholders and their team members to execute on projects of various sizes and complexity. When interacting directly with a client or your team, you’ll need to be able to understand and explain both business and technical situations and jargon.”
Humility is another soft skill technologists should employ. If you’re asked a question you don’t know the answer to, simply explain you’re not experienced in that technology—and spin it into a tale of how you learned a similarly complex language or skill quickly. This will convince an interviewer that you can upskill to fit a company’s needs.
If you want to land the job and potentially boost your starting salary, learn the following skills to add value to your candidacy:
- Mutithreading
- UX
- Kotlin
- RESTful
- SVN
- Appium
- Augmented Reality
- Cocoa
- Benchmarking
- Design patterns
Kotlin is quickly becoming a must-have skillset as Android migrates away from Java to a more modern language. If you’re serious about Android development, get serious about Kotlin.
Questions to Ask in an Android Developer Interview
St. Onge advises Android developer candidates to ask about the relationship between the company’s Android and iOS teams. This is smart advice; often, companies want their mobile apps to look and behave the same way, and it may be critical that the two disparate teams sync and utilize similar technologies when applicable.
To that end, St. Onge says you should ask whether app development is native, or if a platform like React is in use. Native or not, ask how much of the stack you’ll be involved with, too.
Hourie and McAliskey say inquiring about existing projects can tell you a lot about how the team works internally, and what technologies they may be employing. Cooper notes it’s smart to ask what challenges they’re facing in developing ongoing projects—just be careful not to pry.
At the earliest stages of the interview process, ask about the company culture, and more specifically team culture and dynamics. Even non-answers to seemingly basic questions can send up red flags, so be mindful of the responses you receive.
Conclusion
Android is a dynamic ecosystem with frequent updates, so any good Android developer will need to keep evolving their skills in order to land new opportunities. Mastering your “soft skills” (such as empathy and communication) is also key, as you’ll inevitably have to negotiate with other stakeholders in the course of projects (interviewers will always ask questions designed to gauge your interactions with others).
Preparation is key to succeeding at any interview. If you’re unsure of which challenges might pop up during the technical portion of an interview, consult websites such as Leetcode that offer breakdowns of Java, Android, and Kotlin questions. Also make a point of keeping your portfolio, professional website, and any GitHub repos up-to-date.