What I learned from Udacity’s Front End Developer Nanodegree

Kewal Shah
3 min readMay 12, 2020

--

I just completed my Front End Developer Nanodegree in the free month offered by Udacity! Before starting this program, I had some experience with building web apps in Python frameworks like Django and making use of libraries like jQuery and Bootstrap to make my frontend development process easier. However, during this program, I was surprised to learn it is possible to achieve most of the functionality when you are comfortable with features of native JavaScript and CSS.

Nanodegree Certificate
One small step for me, one giant leap for my career!

The depth in which the course goes was essential for a junior front end developer like me. I would like to share my key takeaways from the program in case it helps any prospective developer who is at a similar stage as where I was before the program. Hope any of these pique your interest:

🎨 Design

  • There are numerous style guides and design systems out there, but the best is always the one that your (potential) employer uses!
  • Using a popular library like Bootstrap makes building responsive web apps convenient but it is advisable to be comfortable with native CSS features like Grid and Flexbox too
  • Mastering Sass syntax makes designing web pages much, much easier. However, for beginners, its Extend feature might be easily confused with parameterless Mixins. I found some online posts really helpful in understanding how they differ in terms of the CSS generated.

🚀 Development

  • Though JavaScript is single-threaded, its asynchronous nature can be exploited to build Single Page Apps with Promises, and native ES6+ syntax (async/await) makes it much easier to do so
  • Building your own proxy server in Node.js (with a library like Express) instead of using third-party middleware can speed up network requests and fix common errors (like CORS) while fetching API data as you can set your own Cookie headers
  • It is best to learn how to use Git branches and merge them to Master without fast forwards when you want to keep feature history

🛠Build Tools & Testing

  • The learning curve for a beginner to Build Tools might be steep but learning Webpack is totally worth it! Its plugins and loaders are super helpful for asset management and performance optimization
  • Service workers are awesome (offline access + push notifications + background sync)! Don’t forget to add them after building your app. The concept made me keen to learn how to build Progressive Web Apps (PWAs).
  • It’s a good practice to use Jest or any other testing tool for checking errors and testing boundary conditions in your code

And most importantly, the ability to patiently read and find fixes from the documentation itself (well, most of them are well written) is a superpower for any developer.

Kudos to the Udacity Team and course instructors Daniel Silber-Baker, Richard Kalehoff, and Alyssa Hope for making this amazing program! :)

Photo by Nicholas Bartos on Unsplash

--

--

Kewal Shah

Learn. Design. Teach. Repeat!