Mind-Expanding Web Development Techniques to Emerging APIs in the Web Browser

Move up from professional web developer to a senior-level engineer. This path is for aspiring lead developers.

Core Coursework

(take these in order)

  • +

    Editor's Notes

    Understanding asynchronous and functional programming deeply will increase your programming abilities drastically. The first course is part 2 of Will’s “Hard Parts” series. With this one, he’s focusing on the new asynchronous features in JavaScript.
  • JavaScript: The New Hard Parts

    Develop an intuitive understanding of the new features of JavaScript in ES6+: iterators, generators, promises, and async/await!
    4 hours, 46 minutes CC
    JavaScript: The New Hard Parts
  • +

    Editor's Notes

    Make sure your code is fast by diving into how the JavaScript engines and web browsers parse your code.
  • JavaScript Performance

    Write more efficient JavaScript, optimize rendering performance, load assets faster with a CDN, split loading resources with Webpack, and more!
    4 hours, 55 minutes CC
    JavaScript Performance
  • +

    Editor's Notes

    Functional programming is a set of tools such as map/reduce/filter, pure functions, and immutability. These tools are sure to make you a more effective developer through composing pure functions together to write more predictable and bug-free code.
  • Functional-Light JavaScript, v3

    Improve your JavaScript by applying functional programming concepts like function purity, point-free, partial-application, currying, plus even more advanced concepts.
    10 hours, 1 minutes CC
    Functional-Light JavaScript, v3
  • +

    Editor's Notes

    State management is one of the most difficult problems in software engineering. State Machines and State Charts can be an amazing solution across a variety of environments.
  • State Machines in JavaScript with XState, v2

    Learn the fundamentals of state machines and statecharts. You'll build state machines without any libraries in pure JavaScript, then use XState to..click to read more.
    4 hours, 8 minutes CC
    State Machines in JavaScript with XState, v2
  • +

    Editor's Notes

    When a developer (including yourself) messes up git, which inevitably happens, someone on the team needs to know how to get you out of a pinch! Learn git deeply and never lose your work again.
  • Git In-depth

    A deep dive into git, this course is for developers who use it every day and want to learn inner workings and use advanced techniques in git.
    3 hours, 27 minutes CC
    Git In-depth
  • +

    Editor's Notes

    With Web Assembly the web browser becomes the universal compile target to run modules from any language and ship complex programs.
  • Web Assembly (Wasm)

    Learn foundational, low-level programming such as binary, hexadecimal, array buffers, memory management, and unsigned integers.
    3 hours, 43 minutes CC
    Web Assembly (Wasm)
  • +

    Editor's Notes

    There’s a push with new languages that compile to JavaScript which are born of a functional nature like Elm and PureScript. In this course, we see how far we can take pure JavaScript towards more traditional functional programming.
  • Hardcore Functional Programming in JavaScript, v2

    Learn functional programming concepts such as pure functions, currying, composition, functors, monads, and see functional concepts in action!
    3 hours, 44 minutes CC
    Hardcore Functional Programming in JavaScript, v2
  • +

    Editor's Notes

    Learning to get setup onto projects quickly and develop consistently across machines is a valuable skillset for daily productivity.
  • Developer Productivity

    Build a pro dev workflow to increase your developer productivity across multiple machines, projects, and technologies. Learn more!
    4 hours, 17 minutes CC
    Developer Productivity
  • +

    Editor's Notes

    Getting lots of practice using map, reduce and filter will reveal how utterly indispensable of tools they are in your day to day code. Jafar teaches these within the context of observables, which is a construct to create streams of data in JavaScript.
  • Asynchronous Programming in JavaScript (with Rx.js Observables)

    Learning how to build and manage asynchronous programs is perhaps the most important part of becoming an effective JavaScript programmer.
    9 hours, 38 minutes CC
    Asynchronous Programming in JavaScript (with Rx.js Observables)

Elective Coursework