So I've finished my Front-End Web Developer Nanodegree on Udacity. I have a few thoughts which might be of some interest to anyone thinking about pursuing this program. So here's my two cents
If my thoughts are going to have an relevance to you, you should know a bit about me. I am a Junior Full-Stack Engineer at a prominent telecommunications company. I received a B.S. in Computer Science and a B.S. in Mathematics from the University of Georgia. I've focused on developing for web for the last 6 years. At UGA I was a TA for the Intro to Programming course. So I know this subject matter well, and I've had to think about how best to present programming education.
I did not pay for the course myself. The company I work for paid for it as part of an initiative for continuing education. I'm not sure if that makes me more or less biased, but either way it's a thing and I won't be addressing the cost of the program.
What you get when you enroll in the course really comes in three parts:
Also included in the course are 5 projects that are evaluated as you complete and submit them. They create a guided space to build some web apps such as a Memory game, a Portfolio Website, and a Restaurant Review site. The projects fell a little flat for me. Two of the projects were similar (Memory and Frogger), and the final project felt contrived.
Furthermore, when starter code was made available it was a bit of shit show. Much of the code uses dated standards, uses var vs. const and let, no arrow functions, callbacks instead of Promises or Async/Await, XHR instead of fetch, etc.
Much of the starter code for the projects don't meet guidelines they have for student work. If watching the videos and doing the exercises is taking two steps forward, trying to learn from the starter code is three steps back. Which brings me to the project evaluation. Udacity assigns a mentor to review, comment on, and check your project. They assign a pass/fail style grade and a couple of comments. Seeing the platform for comments, where they highlight a specific line or section and give a comment, got my hopes up. The comments I got were .... odd for the most part. A different person reviews what you submit in each project, and the quality tends to vary a good bit. They try to offer a mix of praise and suggestions in each project. The suggestions I thought missed the mark now and then. And the praise rang a little hollow oftentimes the reviewer chose weird sections. Your mileage may vary here. This part of the course was lack-luster.
For a program as expensive as this, a big consideration is what the degree is worth to employeers. Again YMMV here. It shows a bit of domain knowledge in web dev, as well as speaks to your motivation.
As far as my personal stock in a Nanodegree? I would trust that someone who had completed this program could:
- Create a responsive HTML/CSS website
- Write a basic Jasmine test suite
- Have a foundation to learn more skills in web dev
This is a good, not great, course to take to get a handle on the basics of Frontend Web Dev. You will learn HTML and some CSS, JS. This course does not prepare you for your first role as a Frontend Engineer. I would say that you'd want to also gain a good depth of knowledge in a popular framework (React or Angular as of Oct '19). Which this course would set you up beautifully to learn.
Anyone else take a Nanodegree? What were your thoughts?