Motivations and Starting Out
A little over a year ago, I had never heard of Udacity and had zero experience with MOOCs. I was a relatively new developer, having only completed my graduate work a year prior. I was eager to improve my skills both with the Android platform and as a software engineer in general.
Then, while live-streaming the Google I/O 2015 keynote I saw an announcement about this thing called a Nanodegree program as a means of learning about Android development using a curriculum and courses developed in conjunction with Google. I was immediately intrigued. It seemed like the perfect opportunity to level-up my skill-set, and I registered for a free trial that same week.
During that trial I quickly finished the intro project and was well into the first real course. My initial reactions to the lessons were very positive. The material at that point was essentially review for me, but I could appreciate the quality of the material, and I enjoyed the mixed mediums with which materials were presented.
The combinations of videos, slides, quizzes, reflections and projects definitely kept my attention and I was quickly spending much of my evenings consuming the material.
It helped considerably that I was able to watch videos while outside my home while doing things like barbecuing outside. This helped turn what was usually down time into a time of continued education and career growth. There were certainly some pain points along the way, but for the most part I was very pleased with the availability and convenience of course materials.
Android Nanodegree Projects
The Android Nanodegree projects did not disappoint. In particular, I was pleased at the breadth of topics covered; this really exposes students to a huge portion of the Android platform including:
- Material design
- Android wear/auto/tv
- Play Services
- much more…
Project reviews were surprisingly quick. I don’t think I ever waited longer than a day to receive feedback on a project and most reviews came within a matter of hours. This was greatly beneficial while trying to fit projects into a busy schedule. If I had any complaint about project reviews it was that I sometimes felt my code could have been critiqued more closely. I also recognize however that I am not necessarily the target student (having already had several years experience with Android) and that it is very difficult to anonymously review code, given you can only know so much about the student’s skill level and previous experience, not to mention how open they may or may not be to constructive criticism. And while I sometimes would have preferred more severe critique, I was always happy with the amount of comments and explanation put into the code reviews.
While enrolled in the Nanodegree program, projects were regularly updated based on student feedback. A couple times this was a little confusing as syllabuses and/or requirements changed, but the changes seem to have been generally positive and were all focused on improving the student experience.
I think the great thing about the projects as a whole is that they are focused enough to hopefully not be too overwhelming for those new to Android, but they also offer so many opportunities for more experienced devs who want to try new things. While the core concepts of each project were often review for me, I was still able to learn a great deal from each lesson and project. Developers of all skill levels could benefit from taking the core functionality of a project and implementing/expanding it.
Android Developer Career Summit
There’s no way I could talk about my experience with the Android Nanodegree without also discussing the Android Developer Career Summit. The career summit was mentioned during the I/O announcement and was definitely a motivating factor during the first half of my Nanodegree. The chance to visit the Googleplex and meet with Nanodegree peers and Google engineers was too enticing for me to not go the extra mile and try to make my early projects stand out. (I ended up spending a LOT of time on project 2 trying to go above and beyond the requirements) Thankfully, I was selected as 1 of 50 Nanodegree students to take part in this unique event.
I was particularly happy about the opportunity to connect with Google engineers and get a feel for their development processes, and to see that they deal with the same challenges that I do on a regular basis. Getting to spend time at the Googleplex every day was a wonderful way to motivate the students during the hackathon (free stuff certainly didn’t hurt either). I was very pleasantly surprised when Sebastian Thrun himself appeared to help judge the hackathon. He was probably the most excited one in the building that day, and it was evident the passion he has for Udacity’s mission of empowering students.
I thoroughly enjoyed talking with all the other students in attendance. It was exciting to hear all the different stories of how students came to be at the summit. Attendees came from many different backgrounds and I think it speaks volumes to how the Nanodegree programs can empower people in many different careers/situations/stages-of-life. Being able to stay in contact with some of these students has been very exciting and motivating as they’ve moved on to new careers/projects/Nanodegrees.
Android Nanodegree Capstone
Students must complete a capstone project — incorporating everything they’ve learned in the program — in order to successfully complete the program and earn their credential. I was possibly too ambitious on what I wanted to achieve with my final project, but I wanted to push myself to try new things. I decided to use the project as a way of trying different development patterns and technologies such as mvp, dependency injection with Dagger2, JobScheduler, animations, and Firebase, all while learning Kotlin as a new language.
In hindsight, this was a lot, and caused the project to drag out for several months. I lost motivation for a while (after bringing a new dog into my home) and was quite busy during the holiday season. However, being so close to finishing, and the 50% tuition-back incentive, were great motivators to stay with the program and I eventually finished at around the 11-month mark.
I would encourage fellow students to be ambitious about what their projects could eventually be, but to have a very manageable minimum viable product that meets the project requirements. That way, there is still excitement for the project and the potential to release it but less chance of getting bogged down by feature-creep and lofty ambitions.
Career Development is a key component of the Nanodegree experience. A great example of this are the optional projects that specifically focus on improving the career portfolio of a student. Over the course of the program, students are encouraged to watch lessons and complete revamps of their LinkedIn and GitHub profiles, as well as their resumes. Career advisors are available to assist and direct students, and students can customize their Udacity career profile to set themselves apart from the crowd, and represent themselves successfully to potential employers.
In addition to learning how to optimize their resumes and career profiles, job-seeking students build a career-relevant portfolio over the course of their Nanodegree. Being able to point to completed projects and discuss them in detail is a great tool while interviewing. It gives employers concrete examples of what a student is capable of and helps them more accurately assess a candidate. Some students have even been hired after their Nanodegree without interviewing. Personally, I took the opportunity to upgrade my various profiles and portfolio and recently started a new job with Udacity as an Android developer on the mobile team.
Final Thoughts & Impressions of the Android Nanodegree
For me, Udacity’s Android Nanodegree program was a wonderful experience that was well worth the time, energy, and money.
Although I was already an Android developer, I was able to use the Nanodegree material to improve both the breadth and depth of my knowledge of the Android platform. In a single year, I worked on around 10 different Android projects; each presenting new challenges and new opportunities to learn and grow. On many occasions I was able to immediately apply what I learned during a course lesson to my everyday work as an Android dev.
I can say with 100% certainty that I am a better developer today than I was a year ago, and the Nanodegree program had a lot to do with that.
In addition to being a better developer, I now have a much more attractive resume and a stronger portfolio that will serve me well moving forward in my career. I think the provided career services of the Nanodegree really set the program apart and really help students take the next step towards breaking into the field or to make a change in their current position. Also, with the Nanodegree Plus program students are given a job guarantee within 6 months of graduation or their money back.
I love the enthusiasm of instructors, content experts, and the attitude of the company in general. Everyone involved, including Udacity & Google employees and every student I’ve interacted have had great passion for learning and for education. It’s that enthusiasm and passion that have kept me engaged with the community of students and alumni that Udacity has cultivated. Having that group of peers to interact with and be inspired by feeds my desire for lifelong learning and provides many opportunities for sharing, assistance, and collaboration.
I would certainly recommend Udacity to anyone interested in learning a new skill, levelling-up an existing skill-set, or in becoming a more well-rounded potential employee.
Bonus next steps for Android Nanodegree alumni
The new Associate Android Developer Certification is a great next step for those having just completed the Nanodegree. It should provide another great way to stand out as a capable Android developer. I will definitely be going for this certification when it’s made available later this summer.
Keep Learning Android
If you want to keep learning Android, you could check out this post on “staying up to date as an Android developer.” You might also enjoy following along with my weekly Android development newsletter: goobar.