How to become an Android developer
— Of course, you can find a lot of sources of information these days: books, articles, lectures, documentation. Understandably, it can be difficult for a future developer to decide. My advice would be to start with an Android Developer Roadmap, but they come in all kinds. I like Stream's Roadmap: it's the most complete and logical.
There are also links to the company's blog, where each step is examined in detail.
There's also a roadmap.sh resource: they offer a slightly different path. The good side is that in addition to Android, you can also master version control systems: any developer needs to know and be able to use them. From my point of view, this roadmap is more accessible because it skips some deep topics that are difficult for a beginner to understand - HAL and the Linux kernel, for example.
Both sources suggest starting with programming languages, and here I recommend choosing Kotlin: all modern development is done with it. As for Java, you will still have to learn JVM basics, memory layout, and garbage collection (GC). The language's syntax won't be as important as understanding the basics because Kotlin runs on the JVM, and everything under the hood stays the same.
To learn the language, I highly recommend the free official course from its creators.
It will teach you the basics, data types, and object-oriented programming.
What to read and where to learn
As I said above, there are many sources available on the market, but, for example, books quickly become outdated: I would not recommend using them. Articles on the Internet also promptly lose relevance, so it is essential to pay attention to the date of their publication. Everything rapidly changes in IT and Android development; what we had ten or five years ago and what we see now are entirely different things: different tools, languages, libraries, and architectural approaches.
Many courses promise to make you a superstar from scratch in a few months. Don't be fooled by that. I have run a free course on Android development at Rolling Scopes (https://rs.school/) more than once, and I know that in a few months, students only begin to master the programming language and solve fundamental problems. To become an expert, you need to get hands-on experience, develop several complex applications using modern approaches, and learn the theory. Only after that comes the understanding of how the system works and what the capabilities and limitations it holds. On average, it took us a year to train a Junior specialist. Yes, everything depends on the specific person, motivation, and amount of time given. You can accelerate learning, but still, we are not talking about a few months.
Again: start with the study of Kotlin; even at this stage, you will understand whether you like development in general. And then, having basic knowledge, it is much easier to make up your mind.
Then you can go step by step by the roadmap: looking for and finding needed information is one of the critical skills for android developer.
After that, all you have to do is gain experience, write new applications, and keep up with changes in technology and updates. I bookmarked:
Top 3 sources to keep track of
- Android Broadcast has an excellent Telegram channel, it covers all the significant events in Android development, and they invite interesting guests to their YouTube channel. I can also recommend a course on Dagger 2 from the channel's author;
- Another source is, of course, the official Android Developers YouTube channel;
- I don't think any Android developer will miss the leading Google I/O conference. It reveals many of the things the company's employees have been working on all year;
- It's essential to attend the sessions on changes to the new version of Android - Google usually arranges them specially for developers. During the conference, there are also a lot of events, workshops, and other development and learning-oriented activities.
Android Developer Group on Discord
Nothing helps you grow like working on a real project. Or at least a learning project, but under a mentor's supervision. At our school, we always trust experienced developers to check assignments at the last stage and help junior android developers. Try to find yourself an experienced mentor: it will be much easier to learn. For example, you can join our group on Discord, where we are always ready to help.
What if I'm already an Android developer?
- All the same: be sure to review the roadmap; maybe there are gaps in your knowledge that can be filled by just taking a couple of codelabs. Keep an eye on technology developments, too. Plus, help new developers: that way, you'll get valuable mentorship experience, and you'll be able to remember some things you don't work with every day.
- The world of development is changing, and if everyone was praising MVPs a couple of years ago, now that approach is being criticized. It's time for UDF architectures and declarative UI, so I suggest everyone look at Jetpack Compose. I'm sure that it will become a standard in a few years - just as ConstraintLayout is now a standard. You shouldn't be afraid of these changes - you need to get used to them and learn new approaches.
- Another trend is cross-platform and code reuse. There are many cross-platform frameworks on the market, such as ReactNative, Xamarin, and Flutter: they've taken some market share from native development, but it's not that bad. Native apps still have advantages: UI/UX, performance, and platform integrations. Let's not forget that we can reuse code too. Kotlin Multiplatform Mobile is another thing that attention should be paid to: this technology is already popular on the market, and its capabilities are constantly growing.
- Multimodularity. Perhaps everyone is trying to get away from the monolith and split the app into smaller parts that are easier to maintain. If your app has more than a few screens, it's worth thinking about.
Join the Anywhere Club Discord channel, and feel free to discuss the article or ask your questions!
- How to Ask for a Raise or PromotionWork09 Dec 2022
- How to Effectively Give Feedback?Work18 Nov 2022
- Effectively Launching as a Junior: an Expert's ViewWork23 Nov 2022
- How Do You Draw Positive Attention to Yourself?Work23 Dec 2022
- What to Do to Get into IT TodayWork12 Dec 2022
- How to Learn EnglishLearn04 Aug 2022
- Juniors Are Needed for CompaniesWork22 Dec 2022
- Who Can You Become in IT?Work13 Dec 2022
- What Is Mentoring in IT and How Does It Help You Master the Profession?Learn27 Dec 2022
- Teamwork: 5 Factors of Effective InteractionWork03 Jan 2023
- Business Analyst in IT: What You Need to Know and DoLearn14 Nov 2022
- 10 Things Beginner Startups Don't Need to DoLearn05 Jan 2023
- What You Need to Know to Relocate to SerbiaRelocate26 May 2022
- How to Learn Ruby on Your OwnLearn25 Nov 2022
- English Through Music: Learn and Have FunLearn04 Nov 2022
- What Does a Botanist Do in IT?Work04 Nov 2022
- Soft Skills Are 85% of a Person’s Success in a ProfessionWork29 Dec 2022
- Trends in IT Company EventsCommunity30 Nov 2022
- How to Compose a ResumeWork16 Aug 2022
- How to Manage Interview AnxietyWork12 Oct 2022
- "Where Else but Spain?" — the Experience of MovingRelocate06 Dec 2022
- IT Language of the TesterLearn09 Jan 2023
- The Brain-Up Project is Looking for VolunteersVolunteer11 Aug 2022
- Relocation to TurkeyRelocate31 Aug 2022
- The Easiest Programming Languages to LearnLearn07 Sep 2022
- How to Become a DevOpsLearn06 Oct 2022
- “Forget About Impostor Syndrome”Community18 Oct 2022
- 8 Reasons to Move to KrakowRelocate26 Oct 2022
- How to Become a Tester in three weeksWork19 May 2022
- The Reality and Myths of Life in TurkeyRelocate19 May 2022
- IT Beard Talks About Anywhere Club IT CommunityCommunity19 May 2022
- What Should a Beginner Automation QA Engineer LearnLearn29 Sep 2022
- Project Manager Responsibilities: Tasks and Skills vs RealityWork31 Oct 2022
- Home for Every IT Professional in the WorldCommunity19 May 2022
- Living in Serbia — Pros and ConsRelocate16 Jun 2022
- Relocation to GeorgiaRelocate20 Sep 2022
- 3 Ways to Find Your Dream JobWork24 Nov 2022
- Sent out 500 Resumes and Moved to UzbekistanWork28 Nov 2022
- 5 Common Questions about RelocationRelocate19 May 2022
- Relocation is Like the First Child's BirthRelocate23 May 2022
- To Learn How to Write Code, You Have to Write CodeWork24 May 2022
- Lithuania: Features and Life HacksRelocate10 Oct 2022
- 3 Facilitation Case Studies: Better and Worse ScenariosWork31 Oct 2022
- How Does a Junior Get Their First Job in Singapore?Work22 Nov 2022
- What Are Some of the Unusual Jobs in ITWork21 Jun 2022
- The Psychological Trauma of EmigrantsRelocate28 Jun 2022
- How to Avoid Burnout And Stay Productive in 2022Work06 Jul 2022
- What is Data ScienceWork09 Aug 2022
- Why Time Management Doesn't WorkLearn19 Sep 2022
- 5 Myths About IT: True or FalseWork19 May 2022
- What to Read and Watch for a Novice Java EngineerLearn19 May 2022
- How to Start an IT Career in TestingWork01 Jun 2022
- Tips for Relocating to SerbiaRelocate02 Jun 2022
- Best Countries to Relocate for IT SpecialistsRelocate06 Jun 2022
- How Do Expatriates Live in UzbekistanRelocate15 Jun 2022
- What Is a Vocation, and Does It Exist in 2022Work20 Jun 2022
- How to Support Someone Who Is StressedCommunity23 Jun 2022
- 6 Stereotypes About Life in HungaryRelocate30 Jun 2022
- What Impresses in MontenegroRelocate18 Aug 2022
- Where to Make Friends With BlockchainLearn25 Aug 2022
- Doctor in ITWork24 Aug 2022
- How to Become an HR ManagerWork05 Sep 2022
- Top iOS Developer ResourcesLearn12 Sep 2022
- 7 Soft Skills for DevelopersWork27 Sep 2022
- Features of Life in GermanyRelocate05 Oct 2022
- Facilitation: How to Conduct It EffectivelyWork17 Oct 2022
- Life in Italy: What You Need to PrepareRelocate19 Oct 2022
- 10 Ways to Stay on Top of IT TrendsLearn25 Oct 2022
- An 8-month Journey to Front-EndWork04 Jul 2022
- The Joys And Challenges of Relocation to HungaryRelocate11 Jul 2022
- Where is Python Used And Why Should You Study It in 2022Learn13 Jul 2022
- From Travel Agent to a Tester in ITWork20 Jul 2022
- The Real Story of a Radical Change in ProfessionWork18 Jul 2022
- Top 5 Startup Books to Read in 2022Learn27 Jul 2022
- Life Hacks And Impressions of Moving to PolandRelocate28 Jul 2022
- Family Traumas in EmigrationRelocate03 Aug 2022
- What Do You Need to Know About the South of SpainRelocate22 Aug 2022
- Pros and Cons of Life in MontenegroRelocate08 Sep 2022
- Why Do Job Applicants Lie in Interviews?Work12 Jan 2023
- The Incredible Success Story of a Switcher in ITWork17 Jan 2023
- Tips from a Career ConsultantWork20 Jan 2023
- IT Language of the Business AnalystLearn23 Jan 2023
- "By the Time They Come Back with an Offer, You Сan Give Birth"Work27 Jan 2023
- How to Become a Backend DeveloperLearn31 Jan 2023
- How can a programmer without work experience find a jobWork01 Feb 2023