A Review of Udacity’s React Nano Degree
Yesterday, I finished my 2nd Nano Degree. As a typical Millennial, I have been having a quarter life crisis every two years starting in my 20s. This led me down the path of my first career change from a (wannabe) Actuary to a Data Analyst in 2015, and my first foray into online education which was, you guessed it, the Data Analyst Nano Degree.
I had a great experience and built a solid set of skills through the Data Analyst certification and I was even able to land job half way through it as a Data Analyst! However, I can’t attribute it all to the certification as I had 4 years of experience as an Actuarial Analyst and a solid base of Math and Statistics.
So, when I starting feeling that I was hitting a plateau in my current role, and, through some projects at work, realized that I was more interested in developing software products rather than producing data reports, I naturally turned to Udacity again. This time, I picked the React Nano Degree.
I had heard about React and was interested in learning more, and I also felt that the Front End Development Nano Degree was too basic for me at the level I was at (I had been getting into developing on and off for about a year). Plus: I love getting value for my time and money, and I would in theory come out of this program knowing how to build both web and mobile apps! So, when Udacity launched the React Nano Degree, I felt this was the right time to dive deep into this subject.
Enough background, let’s get into the review!
Udacity focuses on project-based learning. You typically take a course that walks you through building a project, and then you do a project on your own using what you have learned. I really like this approach as this cements a lot of the knowledge and you end up with actual projects you can put on your resume/portfolio. As an information junkie, I love going through endless videos about different technologies, and giving myself a pat on the back for being ‘productive’, but if I have to be brutally honest with myself, I only truly learn by actually sitting down and doing the stuff.
The React Nano Degree program is broken into 3 projects:
- Build an app using React
- Build an app using React and Redux
- Build a mobile (iOS and Android ) app using React Native.
The first project is building a Bookshelf app using React (duh). You have 3 different sections on your bookshelf page (currently reading, want to read, read). This is a good introductory project using React that allows you to use its powerful state change feature to build a dynamic app that lets you switch books from one bookshelf (state) to another. You also learn about React-Router which let’s you navigate to different urls on a React application (www.website.com/first-page, www.website.com/second-page etc.).
The project specifically is about making an anonymous reddit style app where anyone can add/edit/delete posts and comments as well as up vote/down vote those posts and comments. The reason this project is such a beast is that it involves understanding how to perform all the CRUD (Create, Read, Update, Delete) operations using React and Redux. If you think about it, most major applications have these (display information, add/update/delete content/ forms etc). Consequently, even though this was by far the most challenging and painful part of the program, I came out of it learning the most.
The final project is based on React Native. As I mentioned earlier, React Native is it’s own thing and, depending on what you are interested in, this might seem not that relevant to you, but I am glad Udacity included it! I was really looking forward to this part because I have always wanted to understand how development on mobile works and it did not disappoint.
The project involves building a Flashcards app where you can create Decks of cards which you can quiz yourself on (so, for example, you can make cards for a subject you have a test on). For the project, we just had to have buttons for correct/incorrect in the quiz but I ended up building a Tinder style swiping feature because…it’s such a cool animation ;). My thanks to Stephen Grider for this: https://www.udemy.com/react-native-advanced/
It took me about 6 weeks to finish the program, although this varies from student to student and how much time they can devote to the projects. The official timeline is 4 months and, unlike earlier programs, it is not a complete do it at your own pace kind of program as you have to stick to deadlines to keep pace with your cohort (the group you start the program with). I spent about a week on the first and third project each, and a month on the massive Project 2 as mentioned previously.
I did not find a lot of cons but the content of the course is pretty densely packed, and, especially for project 2, could have been a lot more comprehensive. I saw a lot of students going to other resources to supplement their theoretical knowledge. Stephen Grider’s courses on Udemy were a popular option because they are cheap and packed with a lot of value. Even though the content could have been filled out more, in the end it forced me to go and look at documentation and figure things out on my own so I guess, intentionally or not, it helped me. (And frankly, it’s not a big deal if you have to spend 10 extra dollars on a Udemy course to get you through).
In the end, Udacity focuses on getting you to build real world applications to learn the concepts and, on this front, the program largely succeeds. I would definitely recommend it to anyone interested in getting into React and taking their front end game to the next level. And hopefully, I will get to use the skills I picked up in this program in future projects. Cheers! :)