Catalin Ghita Profile picture
🫂Gradle build failed ➡️ switched to #indiehacking 📙 Author @PacktPub 🧑‍🏫 Instructor @Udemy

Aug 23, 2021, 16 tweets

15 essential topics you should know when starting out as an #AndroidDev:

🧵Thread 👇

#indiedev #JetpackCompose #Android #100DaysOfCode #DEVCommunity #coding

1. Learn Java first and then Kotlin.

Kotlin is the best choice as the code is compact and less verbose than Java.

But start with Java as it's essential for your professional portfolio. Java is your core dev language. Only when confident with Java, one should jump into Kotlin!

2. Start from the official resources

Don't directly jump into tutorials. Check out the official courses:
developer.android.com/courses

Or codelabs:
codelabs.developers.google.com/?cat=Android

Then you can search for third party courses for more advanced topics

3. Learn from high quality sources

Pick good, high quality instructors and content. Don't get free courses just because they are free, pick them because they are solid!

I recommend getting content from people like:
@rwenderlich
@VasiliyZukanov
@mitch_tabian
@codinginflow

4. Learn everything by practice

Don't just study. Be it course, codelab or tutorial, make sure you are following in parallel. Practicing on your own makes wonders!

Build apps and have fun with it. That's how you will ultimately learn to code.

5. Make sure you understand lifecycles

Regardless what you are learning right now, if you haven't started with lifecycles in Android, do it now!

Lifecycles are fundamental to everything in Android development. Start from Activity lifecycle, to fragment and application.

6. Don't skip important components

You 100% need to learn Jetpack Compose, but this doesn't mean you shouldn't learn anything about Fragments or XML.
Kotlin Flow is out, it doesn't mean you shouldn't learn RxJava!

You will need these skills, so by all means don't avoid them!

7. Jetpack is your friend, starting with Compose

Try to explore the Jetpack libraries first. Start with the best one yet: Compose. Move to ViewModel, LiveData, Room, Hilt, Paging etc.

Try to see why you need a library and how it works. Always understand what you're doing.

8. Try to use up-to-date libraries

Go and explore Coroutines, RxJava, Dagger and Retrofit. While RxJava and Dagger are less and less used, you might encounter an old project that has them!

Always expand your horizon over the libraries that are only used "today".

9. Learn app architecture

Build better apps by exploring what MVC, MVP and MVVM patterns are. Understand the benefits of MVVM and why most modern android apps use it.

Learn what separation of concerns means and how to create clean Android projects by separating business logic.

10. Learn how to test your code

This is the stepping stone to becoming a great developer. Learn how to unit test your app and how to build UI tests that make sure the application behaves correctly.

Tests should be a normality in every Android project!

11. Don't settle for less just because you're starting out.

Explore the SOLID principles, or Clean code by Uncle Bob. Understand Dependency Injection and why Hilt/Dagger are used in projects.

These are skills that will differentiate your from other developers!

12. Stay consistent in learning

Create your goals and set deadlines for each chapter of your journey.

Become accountable for each one of your goals. This way, you will keep on grinding and avoid procrastinating.

13. Stay curios and question everything

Always ask yourself why you are doing whatever you are doing when adding a function, a callback, a library, test etc.

Always understand what you are doing step by step. This will help your memorize the flow needed to build apps.

14. Always test your code on older devices

Never build apps on your latest Android device. Chances are, when running the code on older API levels, the application will not behave as expected.

It's your job to make it run smoothly on all Android API levels.

15. Understand how your apps work

Explore the build process of Android applications and understand the runtime process from Dalvik to recent Android Runtime (ART).

Every Android developers should have such an overview! When asked how your apps work, what will you say?

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling