My Journey with Android Associate Developer

The Beginning

I started with Android Development almost two years ago. I remember that a beloved friend of mine took me to a pulqueria (some sort of bar very common in Mexico) and told me that he could be my mentor in this long and challenging journey (I’d like to mention that I was in the last semester of the college and, as some of you may have experienced by yourself, I didn’t know what I wanted to do with my life). When I was at home, I created my first Hello, world!Android app and I never expected that this world could have such a charm. I was totally trapped by it, I studied every day to be more like my mentor, and, when I was ready, he helped me to get my first interview and eventually my first real job.

My first Android app ever!

Once there, I met a lot of very talented developers. Some of them remain, some of them left (my friend included) and I’m still in touch with some of them. However, all of them had one thing in common, one thing that is still present when I think of this past days: they inspired me to be the best version of myself, to study every day, to improve not only my technical skills but also my soft skills. I tried to stick to them and ask them almost anything I could think of. Which library I could use, what architecture for which situations, the patterns I should learn, etc.

And this desire to improve took me here: to the Associate Android Developer (AAD) certification.

The Content

I heard about the AAD certification while talking to my more experienced friends. They told me that this exam was a type of beginner-level test that will certificate the basic knowledges that all the Android developers should have to create a robust, well-designed and testable Android application. However, they also said that any Android developer should take this exam, not only because of its simplicity, but also for having something to validate the skills acquired with time and experience.

The official study guide for this exam has 5 core topics:

  • Testing and debugging
  • Application User Interface (UI) and User Experience (UX)
  • Fundamental Application Components
  • Persistent Data Storage
  • Enhanced System Integration

One of my coworkers (who already had the certification) gave me a really quick but punctual sight to the topics of the exam:

  • Room
  • LiveData
  • SharedPreferences
  • ContentProvider
  • BroadcastReceiver
  • WorkManager
  • Pagination 3
  • No network requests nor coroutines

Although most of these topics were covered by the exam, I’d like to remove some topics:

  • ContentProvider
  • BroadcastReceiver
  • Pagination 3

And add some others:

  • Pagination 2 (I don’t know if this will be updated to Paging 3 soon)
  • Constraint Layout
  • ListPreference

Maybe some of you just thought: whatever, those are really common topics in Android development.

Yeah, they are, but we should keep in mind that not all the developers work in a high-quality tech environment, some of them may work for companies that have nothing to do with technology, whose final product isn’t software. As an interviewer, I’ve seen a lot of experienced developers who have never heard about a ViewModel, or who haven’t worked much with LiveData and they have really poor practices in consequence. But this isn’t an issue that some training cannot fix. :)

The Training

As I said, there are a few topics that may get out of the list almost immediately. If you have been reading the official Android documentation, solved a lot of Android codelabs, taken a look to the awesome sample applications, you have nothing to worry about. I’m talking about creating a Room database, its entities and its DAO’s almost blindly; about knowing how LiveData and ViewModel work together in an awesome tandem to expose data to the UI in a reactive and functional way; about how ConstraintLayout is useful to create complex but beautiful UI; about how WorkManager helps us to manage efficiently background tasks.

The only two topics I didn’t know too much were Pagination 2 and LisPreference. Actually, I studied a lot about Pagination 3, but this version wasn’t used in any part of the exam. There are a lot of resources on internet though, and learn about them is as easy as google it.

The Exam

When you sign up for the exam (either Kotlin or Java [I took Kotlin]), you must register you passport, your driver’s license or a government issued identification. In my case, I took some photos to my ID, because my driver’s license and passport were expired (lol). After that, you’ll proceed to pay the exam, which has a cost of $150USD that can be paid with any credit card.

After you pay, you must wait for almost an hour for your ID to be validated. I read a lot of other developers’ experiences and none of them mentioned this. This took me by surprise because I thought I would start the exam almost immediately. When your validation is ready you’ll be able to start the exam! There is something to keep in mind and it’s that you don’t have to present the exam at the moment. It’ll be available for you whenever you are ready. You’ll have to download the Android Studio exam’s plugin, sign in and start with the challenge! You’ll have 8 hours to complete the exam (once you start, there is no way back! You can close Android Studio, but the timer won’t stop), and if you don’t submit it, the plugin will auto submit your whole progress but it will be considered as failed. If the app crashes in front of the certification team, it’ll be also considered as failed.

The Exit Interview

The next step is the exit interview. This is a short “interview” where you have to answer five questions about the code you just solved. You don’t have nothing to worry about, because you won’t be asked nothing that wasn’t included in the exam. I wrote “interview” because you’ll be recorded while you answer these questions. There is no human interaction of any kind. But there’s something important: if you fail to answer correctly all of the questions, you will fail the exam. It’s important to know that you’ll have the chance to present the exit interview up to 7 days after you submitted your work.

The Conclusion

The AAD certification isn’t really hard in a technical way. Its difficulty consists in the multiple tasks that you are asked to do. Personally, I lost more time creating some XML files than anything else, due to the fact that I’m a little slow while working with layouts because I like to create polished UI.

If you have been into Android development for a while, and, particularly, if you’ve been surrounded by awesome developers (like I was), you have nothing to fear, you’ll have the sensation of being taking a big codelab which you’ve paid for. :)

Epilogue: The Wait

After I finished the exam, I checked my email everyday for my results. I thought it was going to take less than 1 week, but I received my AAD certification and badge almost 3 weeks later. You’ll receive it in a kind of digital wallet that can be shown in any social network (the first I think of is LinkedIn). With this wallet, recruiters and employers can see your certificate and validate you information.

My certificate :)

And voilà, I am now an Associate Android Developer!

Cheers!

Mobile developer, musician, gamer. ;)