That’s me, it’s not a stock photo!

A year of Android

My name is Lara Martin, and I’m writing this series to chronicle my learning journey with Android. In my first article, I wrote about how I switched careers from Biology into tech, took my first steps in programming, and how I got my first job as a QA tester.

And here, I’m going to continue the story by highlighting how I started learning Android, what I did to improve my skills, and how I became an Android developer.

In this article you’ll find a guide to everything I did to learn Android development during my first year of trying to master this technology. Hopefully it will help you achieve your goals!

Note that everything I worked on to learn Android had to be done outside work hours, as I already had a full-time job to manage. I was spending many weekends and evenings learning, and I still I can’t say I am done. But during the time this article covers, I was just transitioning from QA to the Android developer role.

Android Study Jam

It all began in March 2016 when I started attending the Android Study Jam organized by Women Techmakers Berlin, and the Berlindroid Android Developers Group.

For 4 months, we students did the free online Android Development For Beginners course from Udacity, while we were meeting twice a month to have Q&A sessions with volunteering coaches from the local Android community.

At the end, we built a small app and we presented it to the rest of the group. Mine was awarded as one of the best apps and I won an Android Basics Nanodegree scholarship. I didn’t know this was an option until the end—it was a nice surprise!

Screenshots of my first app

Android meetups

Soon after beginning the Android Study Jam, I started attending the monthly Android meetup organized by GDG Android Berlin.

I knew it would take time to start understanding the topics presented. The first time I barely got anything, the second time I got a bit more and so on.

Attending events is something that helps me keep updated with current trends while also learning new things I wouldn’t have otherwise explored. Plus, being part of the community is fun and allows me to meet lots of nice people.

Android Basics Nanodegree program

I continued with the Udacity content, doing the Android Basics Nanodegree program that I won through the Android Study Jam.

In the first course I learned about basic Views, how to arrange them on a Layout, and some simple user interaction. The next course in the Nanodegree program taught me how to manage different screens, Fragments, and app navigation. Two more courses followed, one that explained the basics of networking and another on SQLite databases.

I had to prepare different projects that I had to submit, and which were evaluated by the Udacity reviewers. The major challenge was always to get the requirements right. It helped to have the projects reviewed by other developers, as I could learn a lot from their suggestions.

I finished the Nanodegree program around October.

Conferences

I went to my first tech conference in October 2016, thanks to a ticket I got, but I didn’t enjoy it too much, because I went alone and wasn’t much interested in the topics. I think it is OK if something doesn’t work out as expected, that shouldn’t discourage you to try other things.

However, I enjoyed the next conference a lot. I went to DevFest Hamburg, a conference organized by GDG Hamburg. There was a dedicated Android track and I saw talks about MVVM, Realm, Firebase, VR, Google Maps, and more, many of which were topics that I wouldn’t have checked out otherwise. Going to conferences is a great way to learn about current trends and new things.

Obviously I couldn’t miss DevFest Berlin! I volunteered during the event to give back to the community for all the hard work they put into these events. Again, DevFest was so much fun!

I’m looking forward to attend more DevFest events and other conferences like droidcon! Hopefully one day I’ll attend Google I/O… 😏

Pet project: Weather App

I wanted to practice my new skills, and something that everyone recommended to me was to have a pet project where I could try new things.

So, I created a small weather app with the aim of trying new libraries, architecture patterns and design ideas.

Screenshot of my weather app

Here’s a link to the GitHub repo:

Google Growth Engine

Shortly after, I was contacted by Udacity Berlin to be one of the success stories featured on their new European Scholarships campaign. This experience was important for my journey and inspired me to continue learning.

Being part of the campaign included a professional photo-shoot, and answering questions for the Google Public Relations department—this was later published in the Google Growth Engine website. Moreover, the day of the scholarships launch, I spoke at a press-release with Udacity in Berlin, and at an event with a hundred attendees together with two other Udacity students and managers.

Never been so nervous in my life
A tweet from the night event

Android Fast Track and the Associate Developer Certificate

Being part of the campaign earned me one of the Android Fast Track scholarships, so I could prepare for the Associate Android Developer Certificate exam.

I got three months to prepare, and this included the opportunity to complete two of the first courses of the Android Developer Nanodegree program.

The contents of the course included more advanced topics like ContentProvider and Service.

In April 2017 I took a week off to do the exam and the interview. They first give you 48 hours to fix and add features to a broken Android project, and then after that, you have to pass a short online interview. I didn’t have to prepare too much for this, because I still had the contents of the course fresh in my mind.

I passed the test on my first try and got my developer certification. 😄

https://bcert.me/bc/html/show-badge.html?b=ofgdltn

Android Developer Nanodegree program

After getting the certification I continued with the Android Developer Nanodegree program. This program differs from the Basic one through having more advanced content, and by finishing with a final project. It requires some background in Android development and familiarity with Java, and it prepares you to start working as an Android Developer.

At the time of this article, I am 70% of the way through this Nanodegree program.

Having a mentor

A mentor is someone that will guide you. A mentor is not supposed to solve your problems, nor teach you; but rather, guide you through your learning.

Your mentor doesn’t need to be a loved one or an expert. Your mentor is simply someone who will hold you accountable for your progress, and provide motivation and support when you need it.

I was lucky I had a mentor at home. My husband coached me when I got stuck and pushed me to continue learning when I wanted to give up.

What remains left

My team has made it official that they want me as an Android Developer. So I am currently transitioning from my QA role to Android Developer, and doing my first programming tasks.

My current focus is getting used to this new role. I also want to complete the Android Developer Nanodegree program, and there’s a large list of other things I’d like to learn as well:

  • Kotlin
  • Java
  • Clean Code/Architecture and best practices
  • RxJava
  • Animations, transitions, etc.
  • Dagger (and Dependency Injection in general)
  • Computer Science in general

I feel that I will never be done with learning. There’s no final moment when you will say you are done. It’s not because I think I am still a newbie, but because it’s what I see in my friends, even when they have years of experience, they continue tinkering with new things. The software developer profession requires you to constantly learn new things and keep up to date with technologies—this also helps you be more competitive and achieve continuous improvement.


Final word

I’d like to thank Women Techmakers Berlin for all the work they’re doing to give more opportunities to women in tech; Udacity and Google for having created all the amazing course content; the Android community in Berlin for being so welcoming; and also my team for giving me the opportunity to progress into my developer role following my efforts to learn Android, and finally becoming an Android developer.