My Android Developer Scholarship from Udacity and Google – a retrospect

My Android Developer Scholarship from Udacity and Google is a love story in two parts. Why? Because the scholarship I want to write about today is not the first one I got.

Android Scholarship Love Story Part I

Last year I was one of the super lucky Udacity students to get a scholarship for the Android Basics Nanodegree. Meaning I got to do the whole Nanodegree with the help of experienced mentors and an awesome community of fellow learners. I had applied without really believing I could get in. My job has nothing to do with coding and my efforts of learning to code so far had been a lot of fun. But they were very far from being proficient. Anyways, I got in.

It was an amazing experience! The learning, the community, the feeling of accomplishing things I didn’t think I could do. Every week! It was addictive. So when I received my certificate for completing the Android Basics Nanodegree, I knew that wasn’t the end of it.

My Certificate of completion of the Android Basics Nanodegree (ABND)While my cohort was finishing the scholarship, there were rumors about a new one for the next step: The Android Developer Nanodegree! Maybe you have to be geeky like me or have gone through the experience of a Nanodegree to understand what that made me feel. Thinking to finish that degree and taking the certification to become an Associate Android Developer gave (and still gives) me butterflies! Naturally I kept my eyes peeled for any tweets, e-mails or other signs of another scholarship.

Trouble in paradise: Is my Android love story over?

When I finally got wind of where to apply for an Android Developer Scholarship, I was thrilled. And it didn’t take me long to apply. Or write my application. By now I knew what excited me about this opportunity. In the meantime I kept working on my own app and started taking the first courses for the Android Developer track on Udacity. (In case you are wondering: the courses themselves are free, you can start learning anytime! The free version just comes without the very valuable mentor support and all the other cool support functions I had the privilege to enjoy before…) And then that e-mail came. Telling me I didn’t get in…

Paper robot holding a broken heart after not getting the Android Developer ScholarshipI won’t lie. I was quite sad about that. Not necessarily because I had lost the opportunity to learn. No, as I said above, I was already learning the contents of the course. And I was determined to finish it as well. What was upsetting about this was that mean little voice inside that I had known from before. And now it came back full force: “You are probably just not good enough for this. They just know that you won’t be a proper coder anyways. You don’t have what it takes. Forget about your app, you don’t even have a Google Play Developer account yet.”

You know this voice as well, don’t you? What helped me get out of this mood was to remember what our teachers had told us in a live hangout in the Android Basics Nanodegree. They had told us about impostor syndrome, how even those among them who have coded professionally for years have it. How it’s normal to have it. And how you should never give in to this silly little voice. So I didn’t.

Reviving the romance

Without giving much more thought to not having gotten the Android Developer Scholarship, I chipped away at my own app. Funnily enough, the biggest challenge was the content creation, while the coding part went easier and was a lot of fun. It was amazing to see how many things I could do without even checking any documentation. How much I had learned about making a “real” app, by taking the “Basics” course. So obviously I also wanted to soak in all the content of the next course, getting even better. And then I saw it again: another possibility for getting a scholarship from Google and Udacity: the Google Android Dev challenge 2017! As now I knew I could survive another “No” without it impacting my morale to much, I went for it. And just a little later (Don’t be fooled, it felt like MONTHS!):

My heart still beats faster when I look at this! So happy! So grateful!

Now let me tell the next few weeks of my rekindled Android romance in tweets:

It was like the first time all over again. Amazing community on slack and in the forums, learning difficult concepts made so easy by the instructors, this feeling of getting over yourself when you think you’re not clever enough for this – and then you do it anyways!

I finished the challenge course a little ahead of time. And felt empowered enough to finally register for my Google Play Developer Console.

(FYI: It’s just a few clicks, the gravity of the registration is in my head!)

Does the Android love have a future?

Yesterday, the first part of the Android Developer Scholarship ended. And it will be one week until we get to know who advances to the next stage. Am I a little anxious about the result? Of course. Do I worry about it impacting my Android future? Not really. I will finish the course anyways, just probably much slower without the mentor help and community support. I will publish an app. And learn loads in the process. And be proud of myself for learning so much, for becoming part of that special group of people who can build a little part of our world.

Why did I tell you so much about my Android Developer Scholarship romance?

I wanted to share this so as many people as possible can take away the following three messages:

  1. If at first you don’t succeed, just try again. You got nothing to lose and so much to win!
  2. Do not ever listen to that little voice telling you you can’t learn something new! Or do something out of your comfort zone! You can do it!
  3. You don’t have to build houses anymore to be a builder. You can learn to code and make your own things! No matter your background or your gender. (Shoutout to my favorite Android scholarship slack channel #women_techmakers!)
  4. Udacity’s Android courses are awesome. Seriously. If you cannot get a scholarship and cannot afford to pay for the Nanodegree, take the free version. You will learn a new skill well enough to use it in real life.

Thank you for reading this pamphlet. If I inspired just one person to go for it, I have already reached my goal.

All about my Android developer scholarship

I don’t understand APIs

coding, laptopWhile learning to code, this has been my biggest challenge so far: I simply don’t understand APIs. And every cool project I could build seems to need them!

So my quest is to change this. I want to understand APIs, I want to get how to use them with Javascript/jQuery and I want to stop being so extremely intimidated by all those documentations!

A good first step to learn pretty much anything, is

1. The definition

Of course I read the usual ones before. Wikipedia says:

In computer programming, an application programming interface (API) is a set of routines, protocols, and tools for building software and applications.

Oookay. Right. For my purposes here, I would like to change the wording a little bit. I want to write it in a way I can understand. Here it comes:

APIs are interfaces for programs to access other programs, systems or devices. The same way buttons are the interface for humans to use things like smartphones. APIs enable the program to do something. They are not programs themselves, the same way buttons are not the human who uses them, nor the smartphone that has them. They are just the entry ticket to using something.

There we go. I will probably have to come back to this, but this seems pretty logical to me. (Am I a bad coderette if I always need those tangible real-world examples?)

Now that we have established what we are dealing with here:

2. How do APIs work?

Let’s start generically. As we already established, APIs are the interface to working with other programs. So generally speaking, they are a way of communication: Our program asks something from the other system through the API and (hopefully) gets an answer back. Normally this happens in a standard format, as the most common APIs are not language-specific. Coming back to the button-analogy: If the buttons have symbols on them that everyone understands, it doesn’t matter if you normally read Chinese or English. Symbols are fine. But there are also APIs that can only be used with certain languages. Like buttons with kirillic symbols on them. Kinda.

3. How to use APIs?

My nemesis question. I wish there was an easy answer, but so far I didn’t have that impression. Generally, there are 2 things to consider: Your request has to be in the expected format and the response also will be in a pre-specified format. Meaning there are no interpretations on how to ask for the information you want. You have to do it exactly in the way the API documentation specifies. And you also cannot really pick what the answer looks like – you will probably have to get it into the format of your wishes yourself. (Unless you want the one you get, then you’re good.)

Unfortunately, all the rest looks to me like it is not that easy to generalize. What exactly you have to do to get information out of something… I will keep looking. Maybe after a few successful tries (as in: copying code from someone who somehow got it) I can find a pattern.

If anyone who has good resources for learning more about APIs for non-CS-background people should stumble across this for whatever reason, please write me a line!


This reddit conversation

Wikipedia, of course

Not much from here, but had to look: “APIs For Dummies”



Learning to code – My journey so far

For about 2 years now I´ve had on and off phases of what I call my “coding fever”  – a strong desire for learning to code. Working in a rather technical environment I came into contact with a lot of IT people and all the magical things they could do. Talking to the machine in strange seeming languages like Python, Javascript, PHP… It’s one of my personality traits to want to understand things from the bottom. So I could not simply use all those scripts and apps without asking more questions. I had to understand how they work and most importantly, how I could create things like that myself!

Learning to code – Starting out

So I started looking for resources, tutorials, How Tos and oh yes!, I was successful. At the beginning I had no idea why there were different programming languages. Even less how they would be useful in accomplishing different thing – I just tried out everything! Till today, every time Codecademy or Codeschool release a new course, I have to try at least the first few lessons.

After a while I understood basic concepts like loops, arrays, objects very well and doing simple exercises was not enough for me anymore. So I decided to develop a browser game and upload it to a free gaming platform. This would be something people could actually use and I would even get feedback about it!

Developing a browser game

The game type of choice was an idle game. No animations needed, rather straightforward game logic and easy to implement. At least that was what I thought. Soon enough I found out that for a newbie coder even this can be a huge challenge. I spent hours every evening after work on my code, trying to figure out bugs and fix them without breaking even more…

Learning to code


After long weeks of enthusiasm, despair and still learning a lot, the game was finally in a playable state. That meant it was time to upload it to the chosen gaming platform – boy, was I excited! Would anyone play it? Would they even find it? They did and they did. But I wasn’t prepared for the harsh feedback I would get.

There were two types of players and commenters: the first type was just a gamer and expected an interesting, playable game with the usual features. Mine was quite boring, as even the basic structure was already pushing the limits of my coding abilities. Also, there were bugs I hadn’t seen and saving the game? – not possible. I just did not know yet how to achieve this. The second type of feedback also was not in a way your best friend would talk to you, but it was really helpful! It came from other game developers using that platform, checking out what other people were doing. They analyzed the code of the game, found mistakes and very honestly wrote what needed to be changed. They estimated the quality (maximum alpha state, not ready to be published!!) and basically gave me the opportunity to learn and improve!

Game status now

Till today (more than a year after publishing it) I check the game regularly for new comments. It can be saved now, the look kinda improved (I learned how to use frameworks like Bootstrap) and a lot of the old bugs are fixed. To be honest, knowing of all the weak points it still has, I would still not put it on my portfolio if applying for a coding job. But this learning by doing was the necessary next step in my coding journey to actually get ahead.

A word of advice

This is the single most important advice for anyone planning on learning to code:

 After learning the basic concepts of your programming language of choice: Find a project! Build something with it! All those “real-life-challenges” will teach you more than any theoretical exercise could.


A very good starting point for this is Freecodecamp. There you can either start with the very basics. Or you can skip those and go directly to building little projects and apps. You will definitely apply your coding skills and keep learning. Freecodecamp has a very helpful community, is free for everyone and the best: you can help nonprofits by coding real life stuff for them! It’s a win-win-win!

Also make sure to have other people read your code. As mentioned above, getting feedback from other developers propelled me forward on my journey of learning to code.

Myself, I’m still working through the learning map and it is gonna be a while till I get my certificates from them. Especially because I’m doing it next to a full time job and other hobbies. It has already taught me a lot though and the warm feeling you get when you have built your next app or acquired a new skill…it’s so worth it!

I hope to finish the learning on Freecodecamp by the beginning of next year, maybe build another of my own projects in that time and  – who knows? – even use this in my day job at some point. If you are just slightly interested in learning to code, give it a try! You can only gain in the process.