Core Coursework
(take these in order)
- +
Editor's Notes
The professional path starts by gaining a deep understanding of the inner workings of the JavaScript language. Will’s course emphasizes in-depth knowledge and technical communication, two skills necessary for becoming a high-performing engineer. - ⠇
JavaScript: The Hard Parts, v2
Take your JavaScript to the next level. Gain an understanding of callbacks, higher-order functions, closure, asynchronous and object-oriented JavaScript! - +
Editor's Notes
Kyle’s course continues the in-depth exploration of JavaScript by reinforcing many of the foundational concepts covered in Will’s course while going deeper into topics like types, coercion, scope, and modules. - ⠇
Deep JavaScript Foundations, v3
Dive into JavaScript's core language features; types & coercion, scope & closure, and JavaScript's object-oriented system. - +
Editor's Notes
The React course builds an entire real-world, modern application from scratch using a modern development workflow! Whether you’re writing pure JavaScript, Vue, or Angular, you should get a lot out of this course on how to build a real-world web application. - ⠇
Complete Intro to React, v8
Learn to build real-world apps with modern React 18.x+. You'll use the latest React features to build a complete app for browsing adoptable pets. - +
Editor's Notes
Many JavaScript developers quickly jump into a framework before understanding the power and potential of Vanilla JS. Use Max’s course to understand why you might not need a framework. - ⠇
Vanilla JS: You Might Not Need a Framework
Explore Vanilla JavaScript, understand core concepts, work with the DOM API, handle events, and build a web application from scratch. Delve into advanced topics like SPA routing, web components, and reactive programming. - +
Editor's Notes
Measuring and building high-performance websites is critical to being an effective professional developer. Not only will your content load faster, but it improves the discoverability of your websites and web apps. - ⠇
Web Performance Fundamentals
Learn to improve your core web vitals metrics like first contentful paint (FCP), largest contentful paint (LCP), and cumulative layout shift (CLS) in this course. - +
Editor's Notes
An essential part of building a website is laying out the design. Jen teaches you to implement modern design techniques using Flexbox and CSS Grid. - ⠇
CSS Grid & Flexbox for Responsive Layouts, v2
Learn the essential CSS layout techniques for building responsive, beautiful websites. You'll use CSS Grid and Flexbox to build out real-world web layouts! - +
Editor's Notes
Eventually, you’ll need to deploy your code to the outside world, which requires an entirely different set of skills. There are many off-the-shelf deployment options, but knowing the basics of systems administration allows you to effectively communicate with the server team and make better decisions about your code. - ⠇
Full Stack for Front-End Engineers, v3
Learn what it means to become a full-stack engineer, and get hands-on with setting up your own server to build and deploy web applications from scratch! - +
Editor's Notes
TypeScript has become a standard in many professional development environments. A fundamental understanding of TypeScript will give you the tools to work in and evolve large code bases. - ⠇
TypeScript Fundamentals, v3
TypeScript adds a powerful type system on top of your JavaScript to catch bugs before they happen and provides a superior developer experience for collaborative teams. - +
Editor's Notes
Functional programming with tools like map/reduce/filter, pure functions, and immutability allows you to write more predictable and bug-free code. - ⠇
Functional JavaScript First Steps
Learn core functional programming course and code everything with pure functions, learning recursion, higher-order functions, closures, and function composition. - +
Editor's Notes
The optional courses below will help you get to know your tools better and improve your design skills. Visual Studio Code is today’s most popular code editor for web developers. Chrome Dev Tools have a ton of features most developers aren’t using. Plus, designing and using SVG are skills that can go beyond code and give you more autonomy over your work.
Elective Coursework
- ⠇
Redux Fundamentals (feat. React)
Learn the Redux API from scratch, then learn to hook the Redux React application. You'll also learn how to extend Redux with various tools from its ecosystem. - ⠇
A Tour of JavaScript & React Patterns
Learn a suite of design patterns to improve your JavaScript and React code architecture! - ⠇
Design for Developers
Become self-sufficient for the entire process from concept to design to implementation. Learn the creation & execution of complete front-end experiences! - ⠇
Interviewing for Front-End Engineers
Prepare for the recruiter prescreen questions, from the phone screen to real cultural and technical interview questions that companies use to screen candidates. - ⠇
Introduction to Next.js 13+, v3
Next.js is a complete full-stack framework built on top of React.js. Use Next.js to create basic blog websites up to full-blown, full-stack apps and APIs. Plus, learn new features like using the app router, server and client components, and server actions! - ⠇
Web Components
Create custom, reusable HTML elements with the Web Components API! Learn to create custom Web Components using JavaScript and the Lit library. - ⠇
Practical CSS Layouts
Learn to code complex layouts with CSS Grid and Flexbox and tackle real-world exercises like styling buttons, audio players, hamburger menus, and lists. - ⠇
Intermediate HTML & CSS
Learn modern CSS selectors like :is(), :where(), and :has() and discover new HTML elements and CSS Selectors that you might not know! - ⠇
Complete Front-End Project: Build a Game
Organize your front-end code, manage application state with state machines, and automate writing better code using tools like ESLint, Parcel, and Prettier. - ⠇
Build Progressive Web Apps (PWAs) from Scratch
Build offline-capable Progressive Web Apps with HTML, CSS, and JavaScript: Service workers give you access to the cache storage while App Manifests allow you to be distributed on the Google Play store and Apple App Store.