Android Developer Roadmap in 2019

Hello! We have great news. This month, the basic Android Developer course, as well as the Android Developer Specialization , which includes a whole package of courses, will start in Otus. In this regard, we are sharing with you a useful article, the translation of which is confined to these launches.

2019 is the time to become an Android developer. Taking into account the innovations and the progress that is taking place in the field of Android development, we can say that now is the time to become part of this movement. Recent advances in Kotlin, Android Things and other technologies make Android a priority for a beginner, making it possible to receive relevant information and move forward in a certain direction.

I decided to write this guide after I thought about the fact that in 2017 I myself went the same way. I hope it helps you become the kind of Android developer you want to be.
Let's start with the basics.

Start developing for Android

  1. Check out the basics of Java on Head First Java ;
  2. Install Android Studio ;
  3. Install Kotlin in Android Studio (you can skip this step if you are not set to learn Kotlin this year);
  4. Check out the Android User Interface and learn more about XML and View components.

When you do this, you will not only have a good development environment for creating applications for Android, but you yourself will be well acquainted with the basics for understanding the general terminology that is used by developers in most tutorials.
Now you can create simple applications and implement new features in them. Feel free to start with an empty workspace. With the help of imagination and skills, you can easily fill it yourself.

When you get enough ideas, the next goal for 2019 is to create a game that will develop you as a developer who creates applications for billions. Now let's move on to the second level!

We are developing as an Android developer

The following list must be completed step by step. It will become a ladder for you, climbing on which you will be able to learn something new, realize yourself and move forward.

All these steps will help you build a solid, professional understanding of the Android ecosystem and prepare you for working with at least 10-15 different types of business cases for Android applications.

Explore Android Performance Patterns

If you really want to get an extremely powerful and memorable experience with Android, performance templates will be a good help for you. When you complete the following list of actions, you will not only learn how to use them, but also get acquainted with those that you might miss. Performance templates are an incredible tool in the hands of an Android developer. So, you will need to find out the following when it comes to Android Performance Patterns:

Let's rise to the third level!

Delve into memory optimization with Bitmap tools

Learn how to use Glide to process bitmap objects in your Android application. You will encounter problems when processing tons of content in an application that will require extracting images, decoding them, and displaying bitmap objects. If you do not learn how to do it correctly, then your application will not succeed, because users may decide that it is not of high quality.

Please note that now you need to be able to process up to 48 MB bitmap-objects of images from the camera, which today can be issued by the user's camera. They can easily eat all available memory.

Android Architecture Components

One of the most important things that I learned as an Android developer was the ability to implement innovative practices in architectures and their components. As soon as I began to go beyond MVP, MVVM, MVx's, etc., I realized that there was a huge space for innovation around these architectural components.

For example, back in 2017, the BLE (Bluetooth low energy) settings by default did not match the proper level. Understanding that this architectural component can be improved by creating an intermediate service library was a real discovery for me.

So, to understand this topic well, I would suggest that you select the individual architectural components of your application and learn how to optimize them. Here are the ones that come to my mind:

Become a test professional

You do not want to become one of those developers who, in the event of an error, say "it works fine on my machine," right? So, based on knowledge of your application’s architecture and its optimization, create unit tests (JUnit4), learn how to use Espresso, and focus on code coverage reports that will delight leading developers and VPEs. Think about how these reports can be useful to other developers, testers, managers, or other interested parties and help them deal with critical application performance issues and prioritize.

Remember to automate and reuse tests to the extent possible. This approach will open the way for you to leadership positions.

Reactive programming with RxJava

It goes without saying and most likely that this aspect is the most important in your resume and your professional portfolio. There are many places where you can learn in practice how to work with RxJava. I will recommend the following sources:

They will serve as a good starting point on the road to mastering RxJava and its aspects. If you want to know more about RxJava, be sure to check them out and also learn:

  1. The entire depth of Observables in RxJava;
  2. Implementation of caching in RxJava.

Learn all about Dagger

The following steps will help you become a pro at Dagger:

  1. Browse through the documentation and get to the bottom of the dependency injection process;
  2. Make a list of restrictions;
  3. Create a project and use Dagger 2 in it.

Become a Security Specialist

Professional Android developer and information security specialist? Wow! This infrequently can combine one person!

And here are a few things you can familiarize yourself with in 2019 to become one:

That's all. Waiting for your comments!


All Articles