Since you’re reading this article, I guess you want to become a professional Android developer. In other words, you want to get paid for writing Android applications.
Good for you. Android development is an 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. In this post I’ll explain how you can efficiently push yourself into professional Android development.
Different Flavors of Android Developers
The first thing you’ll need to decide is what exactly you’d like to do as an Android developer.
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 flavors of Android development that sometimes I wonder if 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. It’s also arguably the easiest sub-category to start with due to abundance of both official and community generated documentation.
That said, if you want to develop — let’s say, games — starting with business apps might not be the best approach.
It’s also important to contrast salaried employees with independent developers. The later 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, your chances are still low because there are already millions of applications on Google Play today. 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 have a 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 freaking 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 say 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 say that you should necessarily become a salaries Android developer if you want to go indie. You can keep doing whatever it is that you’re doing today and build Android apps in your spare time. Anything that keeps you afloat will do because becoming a successful indie might take years.
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. Still, I don’t feel confident enough to teach you how to write resumes.
As far as I’m concerned, your best bet is to pay someone who specializes in resumes writing.
However, I do know what’s the best piece of information you can put in the first paragraph of your resume: the name of your application on Google Play.
Not saying that an app on Google Play is all you need. You’ll still need all the usual boilerplate in your resume in the form of lists of technologies, libraries and programming languages. You’ll also need to adjust the format and the content of the resume to some “standard” expected by HR people.
However, for a junior Android developer, to have an application on Google Play is the strongest signal of competence. It immediately puts you above most candidates who don’t have an app. I can tell you from personal anecdotal experience that there are HR people 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 who don’t have much time can buy an online course and write a simple Android app in 1-2 months. If you aren’t willing to invest that much into your career, why would anyone hire you?
Tell the Interviewer About Your Application
I hate “whiteboard” interviews. In my opinion, they are counter-productive and meaningless.
See, when I’m asked to solve some algorithms or tricky question, I black out most of the times. At one interview I sat for an entire hour on a tricky algorithms question 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, however, is to steer the conversation to your application on Google Play. When I interviewed for my first Android job I simply talked through the implementation details of my app for an entire hour.
Now, there are companies and individuals out there who will want to see you working through these 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 – 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, I can’t see them anymore.
My favorite tutorial apps are simple clients for famous services. Facebook, Twitter, Reddit – all 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 used third-party library for Android.
- The application is visually pleasant; we are all humans and perceive beautiful apps as being of higher quality.
Of course you also get bonus points for every additional technology, library or practice your app uses. However, you don’t need all this to write a simple app. In addition, it’s easy to get dragged into technical weeds for weeks. Therefore, don’t even look at the more advanced stuff until you’ve got your app on Google Play.
That said, if your application has real users, it’s a huge bonus that dwarfs everything else. You come to me with the simplest “todo” app that has active daily users – you’re in a good shape and I don’t 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’ve 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. I personally think that this advice is nonsensical.
As far as I can tell, 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, you look for the first job only once and it will become much easier once you get a 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 practice 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.
However, don’t be pushy and don’t ask for favors. Just let the people know you’re looking for a job and ask for an advice. Most developers are friendly and helpful, so they will gladly give you an advice. These conversations will help you understand the climate and calibrate yourself. Keep in mind, though, that the 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 don’t need too much to become a professional Android developer. Have a well written resume, publish your application on Google Play and keep pushing yourself forward and I can pretty much guarantee that you’ll land your first job.
But is getting your first job as professional Android developer enough to become a GOOD developer? Unfortunately, it’s not.
This post opens a long planned series that will explain how you can start from zero and become an outstanding Android developer. In the next part, I’ll share my thoughts on what you need to know to actually succeed in your first Android job.
Feel free to leave your comments and questions below, and don’t forget to subscribe to my blog if you liked this post.