Although Apple’s iPhone attracts a good deal of buzz, Google Android still holds the majority of the global mobile device market. Multiple phone manufacturers produce Android phones and tablets, and the Google Play app store boasts millions of apps. For mobile developers, building apps and services for Android can unlock a truly massive audience.
If you’re interested in becoming an Android developer, you must learn the tools and programming languages that support the platform, then build on your skills from there. Let’s break it down!
Step One: Study Google’s Development Platform (and Languages)
Fortunately, Google wants as many developers as possible building quality Android apps, and so its Android Developer Portal offers much of what you need to get started. The Android Developer Portal includes the Android Studio, the platform’s integrated development environment (IDE), complete with design tools, a code editor, and an emulator so you can test your applications.
There’s lots of documentation for setting up and configuring Android Studio, along with the latest version downloads for Mac- and Windows-based developers. While you’re studying the Developer Portal’s downloads and documentation, don’t ignore the Google Play tools and APIs, which allow you to do everything from monetize your apps to access traffic data. Always keep in mind that Google has implemented pretty strict privacy and data controls for apps in the Google Play storefront.
It’s also key to learn the languages that power Android—namely, Java and Kotlin. While Java has long been the programming-language workhorse of Android, Kotlin has been drawing attention ever since Google named it a “first class” programming language for Android development.
Two years ago, Google launched Android Basics in Kotlin, a course designed to give mobile-app developers the foundational knowledge necessary to build Android apps in Kotlin. Before you explore that portal, check out Google’s longstanding Android Basics curriculum, which teaches the fundamentals of building user interfaces, working with databases, and handling basic bugs.
Those dedicated to a Kotlin learning path can also explore Kotlin Bootcamp for Programmers, Android Kotlin Fundamentals, and, for those with a bit more experience, Advanced Android in Kotlin.
Google also offers courses for building your Android apps in Java, and that’s in addition to the enormous number of tutorials and documentation out there about Java development.
Step Two: Build Your Android Apps
Whether you want to work as a freelance Android developer or develop Android apps for an organization as a full-time staffer, your chances of landing a gig will increase exponentially if you come to a job interview with a portfolio of previous work.
To that end, it’s always worth spending time building Android apps on your own, or participating in another group’s Android app development. GitHub has a massive number of open-source repos devoted to Android apps, many of which need help. Forums and hubs such as Reddit can also connect you with like-minded Android developers.
Step Three: Applying for Jobs
While it’s always difficult to determine the exact questions a hiring manager will ask during an Android-centric job interview, chances are good they’ll probe your skills and experience. For example, they might ask:
- 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.
Some of these questions are straightforward attempts to ascertain whether you know the basics of Android development; others are far trickier. Depending on the organization, you may also be asked industry-specific questions; for example, a healthcare startup might ask about your experience working with confidential data, while a gaming company will want to know if you’ve ever ported a game to Android before.
Robert Hourie and Cathal McAliskey of tech recruiting firm GemPool previously told Dice that candidates for Android developer jobs should generally have a solid grasp on the following:
- 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.
When applying for Android jobs, make sure that your resume and application materials utilize any keywords (such as “Android,” “Java,” and “Kotlin”) mentioned in the original job posting. Many companies utilize automated resume scanners that may weed out your resume if those keywords aren’t present.
Your Android résumé and cover letter should also include links to your apps, code repositories, and other evidence of your coding mastery. If you have some Android experience, make sure you describe (briefly) how your skills impacted your previous companies’ strategies and goals—for example, if you initiated the building of a company’s first Android apps, or accelerated their release to the marketplace, you should definitely mention that.
Step Four: Climbing the Career Ladder
Android is constantly evolving, which means you can never stop learning. As you progress in your career, you’ll also need to develop your “soft skills” such as empathy and communication, as those will allow you to effectively lead teams and secure stakeholder buy-in for larger projects.
Virtually every reputable source (including the U.S. Bureau of Labor Statistics) predicts that the need for software developers and mobile app developers will only grow over the next several years, meaning there’s going to be a need for Android developers for quite some time to come. Indeed plugs the average Android developer salary at $125,372 per year, and that can likely rise with experience and specialized skills.
In addition to smartphones, Android is also utilized in tablets, and may eventually find its way into next-generation devices such as augmented-reality headsets. There’s a lot of opportunity to expand into new areas, in other words—so long as you stay knowledgeable about the platform.