Android Basics Nanodegree

I just finished my first nanodegree (ND) and I have some thoughts.

I’m talking about the Android Basics ND or ABND.  It’s new.  It’s not wet paint new; it’s unpainted new.  The supporting material is still coming out over the next two months.

Why’d you do it?

I’d gotten an email from Udacity that they were adding new scholarships for the first finishers of the ND.  Actually I had gotten two.  The first was when they made 50 scholarships available.  I figured I didn’t stand a chance and ignored it.  The second email announced 50 more.  So I figured I’d give it a real try.  More on those scholarships in a minute.

How long did it take?

I started on the 29th of June and my last projected was accepted on June 17th.  So just under 3 weeks.  By that time the first 100 spots were long gone and I came in at #130 #129.  In terms of hours it’s hard to know how long.  I work compulsively for days and then take a whole day off.  Also the 2nd project was verbatim the coursework from the GDG study jam.  (They’re changing that by the way.)  During the study jam I estimate 40 hours practice and meetup time.  With a gun to my head I’d say I sunk upwards of 90 hours on the ND itself.

What did you do for  90 hours?

There’s a lot of useful material to watch.  Then you build your project.  Then you troubleshoot.  Then you try to make things bigger, better, prettier.  The time flies, really.  In total there were 10 projects some of most of which are on my github.

What was good?

I ended up getting better and faster at so many things: using web APIs, going from idea to sketch to a working app in a day, building a layout that matches exactly what I have in mind…

Having a code reviewer is priceless –You write differently knowing someone else will read it and sometimes they offered great tips.  I learned to use the ViewHolder pattern even when not forced to by a RecyclerView.  I learned about the PerfMatters youtube phenomenon.

I also learned that differences abound: on the last project, a reviewer told me to avoid anonymous OnClickListener implementations.  They said because XML was more efficient and you’d save the overhead of adding id’s to Buttons needlessly.  So I updated my code and wrote a note about my changes.  The next reviewer contradicted the first one.  My takeaway was that people disagree on everything so of course reviewers will sometimes disagree.  I still don’t have my own opinion but now I know this is a controversial subject.  Maybe like the pronunciation of the work GIF.