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, composition, immutability, recursion, list operations like map, reduce & filter...plus even more advanced concepts like monads and transduction!
    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

    Learn the fundamentals of state machines and statecharts, from building your own in pure JavaScript, up to using XState to take advantage of a wide variety of features built into XState.
    3 hours, 45 minutes CC
    State Machines in JavaScript with XState
  • +

    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

    Learn foundational, low-level programming such as binary, hexadecimal, array buffers, memory management, and unsigned integers. Use AssemblyScript to build and ship Web Assembly modules into your web apps!
    3 hours, 43 minutes CC
    Web Assembly
  • +

    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, and monads, and see functional concepts in action in a real-world web app!
    3 hours, 44 minutes CC
    Hardcore Functional Programming in JavaScript, v2
  • +

    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