Looking back to my early Android days, my transition into Mobile development wasn’t easy despite my 10+ years of Software Engineer background. Wondering why, I imagined jumping into a time machine to meet my newbie Android self. What advice would I offer? I came up with three points.
- Embrace Android Studio.
- Study Design Systems.
- Dive into Kotlin.
What’s to ❤️ about Android Studio?
I’d first tell myself to embrace Android Studio and say something like this:
Hi Stephen from the past, I’m Stephen from the future. You need to embrace Android Studio. When you start Android Studio for the first time and it welcomes you with hundreds of button, menu options, window panes, and charts, don’t gloss over them. You should spend time learning every single tool, option, and shortcut in the Android Studio toolbox.
I know you’re thinking “What’s so great about Android Studio? Aren’t there alternatives? Don’t we live in an open source world?”. The answers to these three questions is “No, Android Engineers don’t get to chose any other tool.” Android Studio is the only tool that pulls the complex Android ecosystem together. You may not yet understand all the technical details of the Android platform but the deeper you get, the more you’ll be grasping for tools to help solve problems. Android Studio is the only tool on the shelf, embrace it.
Why Design Systems? What are those?
Next, I’d tell myself to spend more time understanding Design Systems.
Study and commit to memory Material Design concepts. Your first app will be self designed. But one day, you’ll be working with a real pro designer. When that designer hands you a design, you’re going to be lost. You’ll be challenged to map the design into implementation. You’ll find yourself churning back and forth with the designer on visual details and clarifying details around visual elements, animations, and gestures. Google’s Material Design isn’t exactly the Holy Grail of design but a good place to start.
Kotlin? Java? What about language CHOICE?
Android supports both Kotlin and Java. My third point to myself would be to abandon the Java boat and start toward Kotlin as soon as possible.
I know you’ve been hanging out in camp Java but it’s time to move on over to camp Kotlin. Kotlin is the new kid on the block — it’s way easier to read and way less verbose. All the important Java concepts carry over minus a lot of annoying points. When you join an engineering team, I guarantee that you’d rather read messy Kotlin code than messy Java code.
I noticed over the years that Android platform knowledge takes a back seat Android Studio proficiency and team communication. Why? Answers to Android Platform questions are easily Google-able. On the other hand, understanding Android Studio beyond basic use is purely optional. Learning to communicate effectively with teammates is also optional. But prioritizing these skills separates the rookies and masters.
Hope others find this list useful, happy coding!