paint-brush
How to Became an Android Developer From Scratch in 2023: A Guide From A Proby@anaumova
2,379 reads
2,379 reads

How to Became an Android Developer From Scratch in 2023: A Guide From A Pro

by Anna NaumovaAugust 7th, 2023
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Step by step tutorial for Junior Android Developers - how to master Android Development in 2023

People Mentioned

Mention Thumbnail
featured image - How to Became an Android Developer From Scratch in 2023: A Guide From A Pro
Anna Naumova HackerNoon profile picture

Hello! I am Anna, and since 2020 I have been successfully working as an Android Developer. I mastered Android development from scratch when I was 30+ years old, without having any programming experience before. Before I started learning Android development, I worked for a long time as a personal assistant in various companies, including IT companies.


When I worked in IT companies, I had the opportunity to communicate with mobile developers - it was so interesting for me that sometime I began to come to the conclusion that it would be nice to change my career path and become an Android developer. I am now convinced that this was the best choice in my life.


My journey into Android development was long and difficult as I didn't have a detailed roadmap to help me along my study way. I had to research a lot of information on the Internet and spend a huge amount of time making some mistakes in my self-learning. Now, looking back, I can say that it would be great if I met a person along the way who could help me put together a detailed roadmap. Therefore, I wrote an actual detailed step-by-step tutorial and want to share it with you.


I really hope this tutorial will be useful and help you save time and make your path to Android development more consistent. I will also share useful resources that I myself have used and continue to use for my learning.


So, let's assume that you, like me four years ago, have never had any Android development experience. Besides, you’ve no experience in coding at all. Where should you start? Let’s go step by step from scratch to getting your first job offer!

Step 1: Set a Deadline


First of all, to my way of thinking, it is worth mentioning that it is extremely important to limit the duration of your study period and set a deadline - the date by which you will start looking for a job or the date by which you start your new job.


If you are starting to learn programming in 2023 from scratch, I would strongly recommend setting aside a year at least for self-learning, provided that you study 5 days a week for at least 4 hours per day. Please don't think that one year is too long in this case. You will have to learn not only programming languages but also a lot of different technologies in order to master Android development, successfully pass the job interview and get your first job offer.


As for me personally, a self-learning period took me a little more than a year. During this time, I mastered Kotlin programming language and the basics of Android development, sent about 100 responses to Android Developer vacancies, participated in 12 job interviews, and received two job offers.

Step 2: Create a list of actual Android development technologies

Secondly, before you start developing your Android apps, you need to make sure that the technologies you plan to study are still in demand. This will help you make a clear plan for your self-learning and not waste a lot of time in vain. Please note that Android Development is moving very fast, some technologies are being replaced by others, and it may well be that by the time you get your job, one technology will be replaced by another.


Of course, not all programming technologies become obsolete after some time. There are basic, fundamental programming concepts that appeared in the middle of the 20th century and are still relevant. But we cannot ignore the fact that currently, any Android Developer should be very inquisitive and practice constant self-education.


Therefore, I consider the constant monitoring of Android Development trends to be an important skill for any Junior Android Developer. It is very useful to constantly read the descriptions of current vacancies on various job search sites and write out requirements that are often repeated. Thus, you can form a list of relevant technologies that need to be studied.


Good news: I did this job for you


I analyzed many actual Android developer vacancies that have been published on popular job search resources such as www.linkedin.com, www.indeed.com, and others and compiled the following list of needed technologies. I believe that this stack will be relevant in 2023 and
with a high probability - in 2024.


For your convenience, I divided this technology stack into the following groups:


  • Fundamental programming concepts: OOP principles, SOLID etc.
  • programming language - Kotlin (classes, interfaces, coroutines, multithreading etc.)
  • design patterns - Observer, Factory, Builder etc.
  • architectural patterns - MVP, MVVM, MVI
  • working with network - Retrofit + OkHttp3
  • working with database - Room
  • working with IDE - Android Studio, Intellij Idea
  • working with layout - Jetpack Compose, xml, ViewBinding
  • dependency injection - Dagger, Koin
  • unit & ui tests - JUnit, Espresso
  • Android Architecture Components (ViewModel, LiveData etc.)


You can use it as a cheat sheet or supplement it later with your own actual search results when you start learning about Android Development. You can also read my article about top Android Development Technologies.

Step 3: Start Kotlin learning


Yes, you heard right -Kotlin, not Java. It should be mentioned that Java is still heavily used in Android development. There are projects in companies that have a lot of legacy Java code. However, if you have never studied programming languages ​​before and want to become an Android developer in 2023, I highly recommend starting your study process by learning Kotlin. It is this language that is recommended by Google for Android Development. If necessary, you can learn Java later after you already get your job offer.


Set up IDE (Intellij Idea), learn programming language basics, and start writing your code as soon as possible. At the same time, I would highly recommend you learn fundamental programming concepts (OOP principles, SOLID, multithreading, etc.). The deeper you understand general programming concepts, the easier it will be for you to move to new technologies.


You can download Intellij Idea by this link. You can also use this tutorial to learn Kotlin step by step. I believe that this tutorial is enough to master the basics of Kotlin.


Step 4: Learn Git basics, create and set up your Git account


Git - a distributed version control system that you will constantly use in your daily work. It is needed for sharing code with other developers in a team.


I can safely state that any Junior Android developer needs to master basic Git commands before he gets his first job. For an understanding of this tool, I can recommend the following resource: dangitgit.com.


I would highly recommend you create your account on https://github.com/. You can commit and push your pet projects to your remote git repository so that your future employers can see examples of your code.


Step 5: Start writing your Android apps

Set up Android Studio - Android Development IDE and start writing your pet projects using the actual Android development technologies I mentioned before.


I’d highly recommend this official training course created by Google. You can go through this step by step so you will successfully learn Android development basics. During the training, I also recommend that you constantly refer to the official documentation for Android Development.


It should also be mentioned about a book which named “Android Programming: The Big Nerd Ranch Guide (5th Edition)”. The book explains step by step how to write various simple mobile applications on the current technology stack. I definitely recommend that you read it and rewrite all these applications after the book's author. You can write and run your code step by step, using Android Studio to create apps that integrate with other apps, download and display pictures from the web, store data in databases, and more.


I suppose that all mentioned resources will give you a very good basic Android development knowledge, teaching you how to create mobile apps that integrate with other apps, download and display images, store data in databases, etc.


I also should mention another popular resource that I constantly use in my daily work, the YouTube channel of Philipp Lackner. This channel has a lot of useful information: popular Android Development technologies overview, explanations of complex concepts of mobile development, and a series of videos that explain step-by-step how to write Android apps.


Step 5: Find a Mentor


I’d highly recommend you find a mentor at an early stage of your study process. A mentor is an experienced mobile engineer who will help you to notice your code mistakes and move faster in your study process. You can skip this step if you think you can successfully master Android development completely on your own. So it’s up to everybody to decide whether study by themselves completely, using popular online courses, videos, and books, or using the help of a mentor. But as for me personally, I think that you should not neglect the help of a mentor.

Step 6: Start a job search

Create your CV on www.linkedIn.com and other popular job search sites, start monitoring Android developer vacancies, and apply for them. From my way of thinking, it is very important for any junior Android developer to learn how to pass job interviews.


You can use the following lifehacks: after each unsuccessful job interview, write down questions that you did not answer and study this topic later. Accordingly, at each subsequent job interview, you will answer better and better and finally get a job offer!

Step 7: Get your job offer and start working in a company

Additional tips & tricks for Junior Android Developers:

  • Keep a diary of completed tasks. For example: "Today I completed an authorization screen for my Android application" or "Today I learned the MVVM pattern.” This will help you track your learning progress and see results.


  • Practice writing code constantly. Programming is a practical skill. Practice makes perfect.
    At the same time, try to keep the work-life balance so as not to lose interest in programming.


  • Join a professional community: participate in mobile development meetups, and add Android developers to your contacts on www.linkedIn.com. The wider your circle of professional contacts, the more likely you are to find a dream job.


  • Become an “eternal student.” It is impossible for Android developers to learn one programming language and a limited technology stack and work on it for the next 10+ years.


As for me, I have been developing Android applications for about three years, and I can safely state that during this time, the technology stack has changed completely. This does not mean, of course, that the skills I received earlier are now completely useless. This means that a modern Android developer has to increase such soft skills as an inquisitive mind and the ability to quickly learn new technologies. The stronger these qualities of the Android developer, the more value he has for an employer.


I hope this tutorial will be useful and help you to get your dream job! Good luck!