Advanced Programming in Javascript

The workshop focuses on modern JavaScript standards and techniques that allow writing efficient, readable, and balanced code. Participants will analyze advanced aspects of working with functions, classes, modules, and asynchronicity, as well as learn patterns and anti-patterns used in everyday programming work. During practical exercises, we will discuss code optimization techniques, debugging difficult cases, and ways to build modular architecture. After the training, participants will be able to consciously use the full potential of modern JavaScript in projects of various scales.

Who this
training is for

This workshop works best for participants who want to turn knowledge into practical project decisions and code written in realistic conditions.

This training is for you if

  • you want to organize your knowledge and see how to apply it in day-to-day work
  • you work on applications or tools that need to stay readable, maintainable, and testable
  • you value practical exercises, trade-off discussions, and examples close to real projects

This is not the best choice if

  • you are looking only for a theoretical lecture without workshop practice
  • you need a very basic introduction to programming from scratch
  • you expect ready-made recipes without discussing context, constraints, and consequences

Trainer

Mateusz
Jabłoński

Senior Frontend Developer, trainer, and author of technical materials. Since 2016, I have been running training sessions on JavaScript, TypeScript, React, testing, and tools that support software developers.

14+years of experience
2016teaching since
4.7 / 5based on 143 responses
Get to know me

Training program

Secure and Efficient JavaScript Programming

  1. JavaScript language specification and standards
  2. Correct and efficient script loading strategies
  3. Debugging code in the browser
  4. Working in strict mode
  5. Proper declaration and usage of variables and constants
  6. Comparison operations and safe type coercion
  7. Functions, closures, and their practical applications
  8. Execution context, variable scope, and the role of `this`
  9. Object-oriented programming using the prototype-based model
  10. Mix-ins as an alternative to classical inheritance
  11. Exception handling

Modern JavaScript (ES6/ES2015 and beyond)

  1. Code transpilation and cross-browser compatibility
  2. Arrow functions
  3. Function parameters (default values, spread, rest parameters)
  4. Template literals and string interpolation
  5. OOP: class declarations, class members, computed properties, inheritance, static members, getters/setters, access control
  6. Destructuring (objects, arrays, function parameters)
  7. Nullish coalescing
  8. Working with modules
  9. Symbols
  10. Generators and iterators
  11. Collections (Map, Set, WeakMap, WeakSet)
  12. Summary of major ECMAScript features and upcoming changes

Asynchronous Programming

  1. Callbacks
  2. Promises
  3. Async/await
  4. Introduction to RxJS

Functional Programming

  1. Pure functions
  2. Immutability
  3. Referential transparency
  4. Recursion
  5. Higher-order functions
  6. Pattern matching
  7. Function composition, currying, and partial application
  8. Memoization
  9. Algebraic Data Types (ADTs)
  10. Introduction to type class concepts: Functors, Applicatives, Monads, Traversables
  11. Practical use of common monads: Maybe, Either, Validation, Reader
  12. Side effects and interacting with the external environment

Workshops already
behind us

Below you will find a list of workshop editions I have run. Each one means a new group, different challenges, and concrete results.

Total editions3
  • EY

    Sages

    4.95(average rating)

  • ING

    Sages

    4.86(average rating)

  • BSH

    Sages

    4.58(average rating)