What does it take to become an Android developer?

JonnyB
devslopes
Published in
5 min readMay 22, 2018

We recently wrote an article on “What does it take to become an iOS Developer?

So naturally, here is our take on learning Android development as well!

When you are first starting to learn to code Android, the amount of things you have to learn may seem overwhelming. What language should you use? Java or Kotlin? Or should I go non-native? If so, should I use React Native, Flutter, or Xamarin? And on and on.

But try not to get bogged down in all the options. As the saying goes, the journey of a thousand miles, begins with a single step. And coding is definitely a journey.

While the amount of things you need to learn may seem overwhelming, there is one simple discipline that is absolutely essential when learning Android development:

Code every day.

I know that may seem pithy and just like a bit of “inspiration”, but consistency is key when learning something like a new programming language or technology. Dedicate an hour or more each day to learning, writing code, and building things. This is what makes the difference between who succeeds and who fails.

Like Darren Hardy says in his book The Compound Effect: “You will never change your life until you change something you do daily. The secret of your success is found in your daily routine.”

p.s. I highly recommend this book.

When learning, you might find yourself overwhelmed by all you need to learn and start to compare yourself to others… Maybe a YouTube developer you follow, maybe a friend you know, or maybe you just beat yourself up because you don’t feel smart enough. That is a huge lie and is preventing you from growing! “Imposter Syndrome” is what it’s called — where you attack yourself and feel as if you’re an imposter and that if someone really found out what you didn’t know they wouldn’t take you seriously as a developer.

But, here’s a little secret. I guarantee you even the people you think know everything, are googling stuff all the time just like you are. I know that I am!

One thing that really helped me when I was learning to code, is to recognize the growth you have made. When you are able to solve a tough problem, successfully debug something, or help someone else solve a problem, stop and realize how far you have come!

Who’s awesome? You’re awesome.

A lot of people obsess over “should I learn X?” or “should I learn Y?” when in reality, the overarching principles of software design and programming can be learned in many ways — Android development is just one way to learn key principles. So, if you’re worried about mobile apps becoming obsolete, you can rest easy knowing that you have a solid foundation in programming in general and can easily shift that to another technology. Have the growth mindset that you can apply general programming skills to other technologies.

I like to tell people that programming mobile apps is a more than just knowing how to code. In fact, I think it’s only about a third. The other two parts is knowing how to use the IDE (integrated development environment, or in other words the application used to make the Android app) and then know how to use the Android APIs (application programming interface).

So, let’s break those down:

1. Learn To Code:

If you are just starting to learn Android development, there are two main options right now. Java and Kotlin. Java is the longer established language; at over 20 years old there are tons of documentation and learning resources out there. Kotlin is the new kid on the block. It was announced as an officially supported language in the 2017 Google I/O conference and has since exploded in popularity. According to the 2018 StackOverflow survey, it was the second most loved language. Here at Devslopes we are all in on Kotlin and I highly recommend it to people starting out. It is much cleaner and easier to read than Java which makes it easier for people to learn.

So where do you start with your programming language of choice?

  • Basics of Programming: Learn the basics like variables, constants, numbers, booleans & conditional logic, arrays, hash maps, loops, functions, classes.
  • Object-Oriented Programming: While there are other paradigms used in Android development, OOP (Object-Oriented Programming) is the most common. It’s been tried and tested over many years and is used with literally tons of other programming languages/technologies. You should also learn (and be able to clearly articulate) things like polymorphism & inheritance.

2. Know your IDE:

If you are making Android apps, then the best choice is Android Studio. This is the official IDE from Google for making Android apps. This is where you will be writing your code, creating your user interfaces, testing on the emulator, debugging, and much more. It is a large program with tons of features, so you will need to spend some time familiarizing yourself with Android Studio.

3. Learn Android APIs:

Once you know how the Kotlin/Java language works, you’ll need to learn how to marry that with the Android technologies that make apps possible. Here are some of the things I think are most essential for an Android developer to know:

  • Understanding the Activity lifecycle.
  • Understanding how to use Fragments and their lifecycle.
  • Intents
  • Building to Devices
  • Uploading an App to the Google Play store
  • Understanding of Model-View-Controller & OOP
  • Debugging Apps in Android Studio
  • RecyclerViews
  • How to create user interfaces using the layout editor.
  • Persisting data
  • Parsing JSON into usable data in apps
  • Interacting with RESTful APIs
  • Git or another method of version control
  • Understanding of DRY Principle
  • Here is what we teach in our Android course

4. Join a Community:

Don’t get me wrong — learning Android development is hard. Learning by yourself is way harder. Surround yourself with both other learners who are in a similar circumstance as you and those who are above you in experience that are willing to mentor and help you. That’s something that we’ve aimed to build at Devslopes — a community where you can learn to code, build amazing apps, and not feel stupid asking questions. At some places online cough cough StackOverflow asking a simple question is equatable to a war crime. We wanted to build a community of learners where you can ask questions and get the help you need. You might even possibly make some friends you can collaborate on projects with.

If you’ve read this all the way, thank you. And if you’d like a guided learning path for Android development and access to an amazing community, check out Devslopes. We look forward to guiding you on your Android journey.

--

--

JonnyB
devslopes

Passionate about coding. Developer and Teacher at Devslopes.