In this Udacity React Nanodegree review, I shall be talking about my journey into online learning and eventually taking a Nanodegree on Udacity.
Try Coupon Code: UPSKILL21
In March 2021, after almost 4 months of intense learning and hard work, I successfully and proudly completed the Udacity React Nanodegree Program.
In this article, I will share my thoughts on the course and hopefully help you decide whether to take or not this journey to become a React developer with Udacity’s help.
However, before I start talking about this Udacity React Nanodegree review I would like to talk just a little bit about myself and what made me choose to do this intense and expensive course.
I graduated in Economics in 2017, and at the same time, I was also getting my Law degree. Even though I liked studying Economics and some areas of law, especially criminal law, I never saw myself working with either of them in the future.
In January 2020, as the Law degree graduation date was getting closer and closer, I had to figure out what I would do for a living since I already knew that neither of my bachelor’s degrees would fulfill me professionally.
A friend of mine is a Software Engineer and introduced me to the world of programming. As I started to research more about it, I realized that there were numerous possibilities not only career-wise but also on the technologies you choose to learn and what you can do with them. That is what attracts me the most about coding.
Ultimately, I decided to learn React because of its simplicity, maintainability and, and as far as I could research, it is the framework that is getting more and more popular in the job market right now, especially among startups.
If you would like to read more about the differences between React and Angular, I recommend this article, written by João Reis: https://www.imaginarycloud.com/blog/angular-vs-react/
All right, so I set my mind to learn React, but now the question is: how am I going to learn React? If you are reading this review, you probably know that there are many options and courses out there.
This is the reason why it is so important to talk to other people that have gone on the same path before. My Software Engineer friend did the same Udacity React Nanodegree back in 2017 and strongly recommended it to me, mainly because I was looking for a more hands-on kind of course.
I graduated 3 months ago and I’m currently looking for a job as a React developer in Brazil. I’ve been taking it slowly because I’m also developing other projects to pick up new skills.
Now that I told you my story in short, let’s get this Udacity React Nanodegree review going.
Syllabus of Udacity’s React Nanodegree
I started a few online courses before, but most of them I could not get to the end and I will tell you why. Most of the courses I did were fully based on videos which can get boring. So, after watching the 50th video, you kind of leave it on the side and start doing yourself and learning by reading the documentation.
The Udacity course is different. The course is a mix of short videos, text lessons, and quizzes. They also share some useful resources if you want to go further into the lesson’s subject.
At the end of each lesson, they do a summary with the most important concepts covered in that lesson and sometimes there are one or two exercises to practice what you’ve learned.
Lesson1: React Fundamentals
In the React Fundamentals lesson, you are going to learn about React’s basic concepts like composition, which is used in React to build up pieces of UI, declarative code, unidirectional Data Flow, rendering UI with React, state management, lifecycle events and React Router.
This was a long lesson with a lot of material and concepts that were new to me. My advice is to take your time to do this carefully, because these concepts may seem very theoretical, but if you understand the basic concepts of React, you won’t have such a hard time with the projects later.
In the MyReads project, you will create a web application that allows you to select and categorize books you have read, are currently reading, or want to read.
Here is a demo of my project:
What I like the most about the Udacity projects is that they explain what you need to do and then they give you the Project Rubric, which is kind of your guidelines to see if you met all the project’s specifications.
Additionally, there is a step-by-step guide for building the app with a planning stage and a coding stage. If you are lost and don’t know where to start or what to do next, this guide will give you a direction to follow. Let me make it clear in this review of Udacity’s react nanodegree that it is not a tutorial where the instructor develops all the features in videos and you kind of code along. You have to do it all by yourself.
Of course, if you get stuck, you’ll find Udacity Mentors and students there to help. The Technical Mentor help is available on Knowledge, which is a platform where you can search for answers to questions similar to yours or post new questions related to your project or lessons. You can also connect with other students through the Peer Chat.
The projects are designed to be challenging. I struggled with every single one, but this first one almost made me quit. It wasn’t complex. In fact, it was the simplest of the projects and they even give you a starter code for this one. However, it was the first time I had to apply the skills and strategies I thought I’ve learned in the classroom.
You have to be patient, persistent, work through each problem and seek help when you get stuck. It took me 2 weeks to complete it, but after that, I can say I truly learned what was taught in the lessons.
Also Read: Udacity’s Front-end nanodegree review
Lesson2: React & Redux
In this lesson, you will learn how to make state management more predictable with Redux. Additionally, you will create custom middleware and add it to your Redux store, handle asynchronous data with Redux and you will learn to leverage the react-redux bindings.
The final topic in this lesson is about using react-redux binding in a more complex real-world application. In this part of the lesson, you will code along with the instructor to build a simple Twitter clone web app called “Chirper”. If you struggled on the first Project, this lesson will show you one approach to build a React/Redux project, which you can adapt to the way that works best for you.
In the “Chirper” project, the instructor breaks down each phase of the project’s development and builds it from scratch. It is a nice source of material to look at when you are building the final Project by yourself because all the concepts you will need are covered in the “Chirper” project.
Project2: Would You Rather
In the “Would You Rather?” Project, you will build a web app that lets the user play the “Would You Rather?” Game, answering and asking questions in the form “Would you rather A or B?”.
This project will help you solidify what you’ve learned of React and Redux in a fun and creative way. It took me less time to develop this one, I think it was approximately 1 week. It was less stressful as well because you can look at the “Chirper” project and the lesson’s material when you are not sure how to implement a concept.
As in all the Udacity assessment projects, they give you a Project Rubric to make sure your solution meets all the required specifications before you submit it to the technical review.
Check out my solution to this project:
Lesson3: React Native
In this lesson, you will learn the fundamental differences between web and native applications as well as the main differences between React and React Native API. Along the lesson, you will take a glimpse at the differences between developing for IOS and Android as well.
Unlike the other lessons, I found this one confusing and frustrating sometimes. The part about the AsyncStorage API, which was a React Native version of localStorage, is outdated. The course material provides references to an implementation of it that was deprecated.
For now, you can still use the implementation that they teach you at the course, but you will get this warning “AsyncStorage has been extracted from the react-native core and will be removed from a future release. It can now be installed and imported from ‘@react-native-community/async-storage’ instead of ‘react-native.”
Another outdated part I would like to point out in this Udacity React Nanodegree review is about React Navigation. At least this time the course material does mention that an updated version of React Navigation was released, but the videos in the course cover the older version of it. So, when you watch the videos you have to go through the documentation to see how the same thing is done in the newest version.
The other confusing and frustrating part of this lesson is about local notifications. Expo’s latest version changed the Notifications API syntax, so if you install its latest version, which you probably will, and follow the course material, you might get confused.
In conclusion, this lesson was disappointing to me. Taking into consideration the price of this course, in this lesson I had to put down the course material and explore the documentation more than I expected.
Project3: Mobile Flashcards
In this project, you will build a mobile application ( IOS or Android – or both) that allows users to create decks and a collection of cards in each deck. In each card, the user enters a question and an answer for that question, saving it to the correspondent deck. Whenever he/she wishes to revise the content of a deck, he/she can start that deck’s quiz.
Check out my solution to this project:
This project is a great opportunity to practice the parts of the lesson that was confusing or outdated, such as the react-native-community AsyncStorage implementation, the React Navigation latest version, and the Expo Notifications latest syntax.
You can develop this application for IOS, Android, or both. I suggest you try to do it for both because there are some differences between the platforms that are important to be aware of, not only in terms of design or user experience but in terms of the implementation of the functionalities as well.
Project review of Udacity’s React Nanodegree
I think that one of the pros of the Udacity React Nanodegree Program is the projects. I found them challenging, interesting, fun to develop and you are free to be creative, as long as they meet the requirements.
The project reviews varied a little from project to project. Sometimes the review was more detailed and thorough, giving more suggestions and useful resources to make my project even better, and sometimes the review just verified if I met the specifications. I guess it depends on the reviewer, but overall all the reviews were clear and easy to understand, professional, and I found them useful to my continued learning.
I am very proud of developing these projects because I was able to do all the development process on my own, from the design and planning stage to the coding and final stage with all the required features. These projects are great additions to my GitHub portfolio.
Cost of Udacity’s React Nanodegree
The main issue, at least for me, about the Udacity courses is that they are extremely pricey. Honestly, I could not afford it, so I started with a cheaper course that I bought on another platform, waiting for a sale on Udacity’s website, which, by the way, happened a couple of months later.
As the saying goes, “good things come to those who wait”. Well, for me it meant that I was able to enroll in the Udacity React Nanodegree course with a 75% discount, for a price of USD 339 total.
Even with the discount, the course is still expensive, but I think that it is justifiable (with the discount, I mean). Besides the course material itself and the real-world projects, they also offer career support.
According to the Udacity website, the estimated time to complete the React Nanodegree Program is 4 months, at 10hs/week. As you can see below, on the My Classroom platform, there is a Study Plan tab where you can set your study sessions for the following 2 weeks to help you manage your time.
I didn’t use this resource because I had plenty of time to invest in this, but I think that it could help people with a tighter schedule manage their time more wisely to complete the course within the 4 months.
At this point, it’s important to mention that if you choose to pay for the course once, you have approximately 4 months to complete it, otherwise they will start charging you a certain amount each month after that. In fact, that was a pretty effective way of keeping me on track to complete the course on time.
Another thing that keeps you on track is the deadline for each project. The Udacity team determines symbolic deadlines to submit the projects, which helps you measure your pace in the course. The deadline is symbolic because you can change it or you can submit the project after that, although I advise you to keep up with the predetermined ones to complete the course within the 4 months.
You might be thinking now, are 4 months enough? I believe that the answer to that question depends on each person. Some people with more coding experience might do it super fast and finish in the half of the estimated time. Others, like me, might want to read all the extra resources and might need to go over and over some lessons to truly understand it.
In terms of time invested per day or week, I went through the lessons over the week and didn’t look at them on weekends. I spent roughly 3 to 4 hours per day on it, which means I spent 15 -20hr/ week studying. I frequently finished the lessons earlier than most people, but I spent all the time I got doing the projects. After all, that’s when you see that you don’t know anything and you got to go through the lessons or documentation again.
Finally, keep in mind that there are 3 required projects that you must pass to graduate and 1 optional project. I realized that there was this optional project too late and I wasn’t able to submit it to the technical review before the 4 months ended. My advice to you is to plan ahead so you can have a spare time to do this optional project because it is actually the most interesting one in my opinion. I ended up doing it anyway, but it would be nice to have someone to review it and share his/her thoughts about it.
Thoughts on some Udacity features like
I used the Mentorship a couple of times when I was stuck in one of the projects. There is a platform called Knowledge where you can search for answers to questions similar to yours or post new questions related to your project or lessons. I didn’t post new questions because what I was looking for was already there. The solution I found there helped me move on.
The project reviews are one of the differentiating aspects of the Udacity course. I found them very useful and professional, not to mention the boost of confidence you get in your projects knowing that someone sanctioned your work.
One of the differentiating features of the Udacity course is that they offer career support. In my case, someone way more experienced than me reviewed my LinkedIn and GitHub profiles and gave me tips on how to improve each one to get the recruiters’ attention.
I was just upset that they discontinued a career coach program that they used to have, which I heard was very good. I didn’t have a chance to do it because I could not find a time slot available for me, since everybody was trying to do it before it ended.
However, I still think it is worth it because my GitHub was basically nonexistent before and my LinkedIn profile is more focused on what is important to land on a Web Development job now.
What I liked about Udacity (Pros):
Real-world projects that challenge your skills and creativeness
Technical project reviews – the reviews are useful, professional, clear, and easy to understand.
Career services – Udacity’s team help you build stronger and more attractive LinkedIn and GitHub profiles.
What I didn’t like about Udacity(Cons):
Price – I think the full price they ask for is not worthy or justifiable to me. In terms of content, I bought a cheaper course online that covers all the React concepts and features in a more detailed way. That’s where I go when I have a more complex matter to solve when I’m developing with React.
However, if you can get a discount of 75%, which frequently happens throughout the year, then go for it. The differentiating aspects of Udacity such as the real-world projects, the project reviews, and the career services make it worth it.
I think the course falls short of expectations in terms of content depth and coverage. The course mentions class-based components but doesn’t pay too much attention to functional components and it completely fails to mention the React hooks. I am looking for a job as a React developer at the moment and from what I can tell a great part of the job descriptions out there require knowledge of React hooks.
Likewise, although the Udacity course explains well the Redux implementation, it doesn’t cover the Context API. I had to look elsewhere to learn about these important concepts, but I think an expensive course like the one Udacity offers should at least mention these subjects.
The course is getting outdated. The lesson about React Native was confusing sometimes. For one, the React Native AsyncStorage API has deprecated, but the course material kept its references and implementation.
Another part that was confusing in this lesson was about the local notifications. Expo released a new version that changes the use of notifications and permissions. The course kept its previous material with some adaptations, but it wasn’t enough to make it clear in my opinion.
Do I Recommend Udacity’s React Nanodegree?
To sum up this review, for a full price of USD 1356 I don’t recommend it to others. However, if you wait for the next flash sale of 75% off – which happens frequently throughout the year – I say go for it. The real-world projects, the technical project reviews, and the career services are the differentiating aspects of the Udacity course and the very same things that make it worth the price.
I have a passion to develop web or mobile applications that facilitate the daily lives of its users. I recently built a web app that allows the user to sort a collection of books, move them between different shelves, and search for more books to add to their custom library. Here's my LinkedIn Profile