Since you’re reading this article, I guess you want to become a professional Android developer. In other words, you want to get paid to write Android applications. Good for you! Android development is interesting, challenging and well-compensated profession.
However, it’s not always clear how to get from where you are right now to the point where you get paid to write code. Therefore, in this post, I’ll share one solid strategy that you can use to become a professional Android developer in the shortest time possible.
Different Flavors of Android Developers
The first thing you need to understand is that “Android development” is a huge ecosystem. You can develop standard business applications, games, security solutions, low level C++ stuff, on-premise enterprise apps and other kinds of applications. You can even work for OEMs and customize Android platform itself. There are so many different flavors of Android development that sometimes I wonder whether we should start inventing names for different sub-categories.
These segments overlap to some extent, but, in general, most developers will specialize in just one or two sub-categories. Therefore, the first question you should ask yourself is: “which kind of Android developer I want to become?”.
As far as I can tell, most newcomers to Android start with business apps segment. That’s the most widespread kind of Android development and most of the apps installed on average user’s device belong to this category. It’s probably also the easiest sub-category to start with due to abundance of both official and community generated documentation and other learning resources.
Most of my personal Android experience is within the segment of business apps. Therefore, I’ll assume that you indeed want to start with it. That said, if you want to develop, let’s say, games, starting with business apps might not be the optimal strategy.
It’s also important to contrast salaried employees with independent developers. The latter are also known as “indie devs”.
I myself started developing for Android as an indie, in a hope that one day my project will grow into a proper business. The result was a considerable time waste and financial loss. Looking back, I can’t help laughing at my naivety and newbie optimism.
I think there are at least two conditions to become a successful indie dev:
- Self discipline and dedication
If you can’t discipline yourself and work your ass off as a solo developer, indie development is not for you. But even if you can, the odds are still stacked against you. There are already millions of applications on Google Play today and it’s very improbable that you’ll release an app which will be noticed and get traction.
Now, don’t get me wrong. There are successful indie devs out there. However, for every successful indie dev there are probably hundreds, if not thousands, of failed ones. Like myself. I, personally, have tremendous respect towards indie devs because I see what it takes to stay afloat in this business. However, you should understand that successful indies are as rare as unicorns.
I’m not trying to talk you out of becoming an indie dev. If that’s what you want to do – by all means go for it. All I’m saying is that it’s in your best interests to be realistic if you want to go down this road. In most cases, being a salaried employee while working on your own projects is the safest and the fastest way to indie development. I don’t even say that you should necessarily become a salaried Android developer. You can keep doing whatever it is that you do today and build Android apps in your spare time. Anything that keeps you afloat will do because becoming a successful indie might take a very long time.
Application on Google Play is the Best Resume
Now let’s assume that you do want to get a full-time Android development position. It means that you’ll need a resume and then you’ll need to pass an interview.
To be honest, I don’t know how to write good resumes. After I got my first job as an Android developer, one of the interviewers told me that I had the worst resume she had ever seen. This was an important feedback and I acted on it, but, still, writing resumes is not my strongest suit. As a starting point, you’ll need to have a set of keywords in there: technologies, libraries, programming languages, etc. You’ll also need to adjust the format and the content of the resume to some “standard” expected by HR people.
What I do know is that the best piece of information you can put in the first paragraph of your resume is the name of your application on Google Play. For a new Android developer, application on Google Play is the strongest signal of competence and it immediately puts you above other candidates who don’t have an app. There are HR folks and hiring managers who value apps on Google Play more than 1-2 years of experience.
And you know what? There is no reason not to have an app on Google Play!
Even beginners can write a simple Android app in 1-2 months. There are many free tutorials on YouTube that you can start with (check out CodingInFlow and CodingWithMitch channels), or you can buy a full-blown online course for just couple of bucks.
Tell the Interviewer About Your Application
I hate “whiteboard” interviews. In my opinion, they are counter-productive and meaningless. When I’m asked to solve some tricky algorithmic question, I black out most of the times. At one interview I sat for an entire hour on such a puzzle and wrote nothing.
Today, I don’t put up with this stuff. However, when you’re looking for your first job, you aren’t in position to negotiate interview practices. What you can do is to steer the conversation to your application. When I interviewed for my first Android job, I simply talked through the implementation details of my app.
Now, there are companies and individuals out there who will want to see you working through some meaningless tasks anyway. If you can pull it off – great. If not, however, application on Google Play might become your life saver.
Let’s say you come to a point when you can’t make any progress on the question you’ve been asked. Take a deep breath and stop trying. Politely tell the interviewers that you’re too stressed to deal with this kind of tasks at the moment. Tell them that you understand that it’s an important part of the interview, but you don’t feel like trying any longer will help. And then ask the interviewers whether they’ll be interested to hear about the implementation details of your app in the rest of the time.
If you do it politely, most interviewers will agree, even if just to make you feel better. It doesn’t matter. Now you’ll have time to show them what you really know.
Make Your Application Interesting
While any application on Google Play is much better than nothing, you can increase your chances even further by making it interesting. Don’t go with “TODO list manager”. It’s too simple and, honestly, many interviewers are fed up with them.
My favorite tutorial apps are simple clients for famous services: Facebook, Twitter, Reddit, etc. Most of them have either full fledged SDKs or APIs that can be polled. For example, you can make an app that shows the most recent tweets of a specific user.
If you want to really stand out – write a client for StackOverflow API. Everybody loves StackOverflow!
Here is a short list of stuff for which you get the most bonus points:
- The source code is on GitHub (nobody wants to teach you Git)
- Your app uses Retrofit (that’s probably the most popular third-party library for Android)
- Visually pleasant user interface (we are all humans and perceive beautiful apps as being of higher quality)
Of course you might get bonus points for every additional technology, library or practice in your app. However, it’s easy to get dragged into technical weeds for weeks, wasting time and energy on non-essential stuff. Therefore, don’t even look at the more advanced concepts until you’ve got your app on Google Play.
If your application has real users, it’s a huge bonus that dwarfs everything else. If you come to me with the simplest “TODO” app that has active daily users – you’re in a good shape and I don’t even care that it’s “TODO” app anymore.
Start Interviewing the Moment Your App is on Google Play
One of the most common questions among people who want to become Android developers is: how do I know when I’m ready to take interviews? I read and heard many answers to this question and most of them boil down to a list of libraries and frameworks that you need to know.
However, in my opinion, you don’t need any specific piece of knowledge to start interviewing for Android jobs. All you need is your application on Google Play. The moment you’ve got it – send your resume out.
Keep Pushing Until You Get an Offer
Let me be honest with you: it can take months, or even a year, before you land your first Android development job.
Such a long search can be discouraging. However, remember that you look for the first job only once and it will become much easier once you get any professional experience. So, don’t be discouraged and keep pushing.
But you shouldn’t just sit there and wait for recruiters to call you. Keep learning new stuff and improving your application. Do that even if you’ve got zero users – this application is your pet project and a professional visit card at the same time.
Find local Android meetups and attend them. If there are no Android meetups in your area, any other software development meetup will do as well. Your goal is not to learn Android, but to introduce yourself and talk to people who work in the industry. Don’t be pushy and don’t ask for favors. Just let the people know you’re looking for a job and ask for advice. Most developers are friendly and helpful, so they will gladly give you advice. These conversations will help you understand the climate and calibrate yourself. Keep in mind, though, that advises you’ll get might be non-optimal, so take them with a grain of salt.
Your overall goal is to keep the momentum while you’re looking for your first Android job. It doesn’t matter whether you learn something new and implement it in your app or meet with professional developers or do something else. What’s important is that you make progress each single week and never stop.
You keep doing that and you’ll get an offer. It’s just a matter of time.
With the current state of the global market, you can become a professional Android developer in just couple of months. Publish your application on Google Play, send out a well-written resume and keep pushing yourself forward. Do that, and I can pretty much guarantee that you’ll land your first job.
Feel free to leave your comments and questions below, and don’t forget to subscribe to my blog if you liked this post.