Schedule

Please note that the schedule is subject to changes, keep an eye on this page to find out the latest updates!

Monday, 15 July (WORKSHOP DAY 1)

08:00 - 09:00
Registration and Breakfast
Registration starts at 8:00
09:00 - 17:00
Deep JS Foundations

Workshop tickets sold separately. Room: To be Announced

Join Kyle Simpson -- author of the popular “You Don’t Know JavaScript” book series -- as he reveals the deep foundations of JavaScript. This is a recently-updated version of his most popular (and most important) workshop.

Tuesday, 16 July (WORKSHOP DAY 2)

08:00 - 09:00
Registration and Breakfast
Registration starts at 8:00
09:00 - 17:00
Functional-Light JavaScript

Workshop tickets sold separately. Room: To be Announced

Join Kyle Simpson -- author of the popular “You Don’t Know JavaScript” book series. 'A monad is just a monoid in the category of endofunctors.' That fact holds everything you need to know about functional programming (FP), right!? If that sentence is a jumble of confusing words to you, you're not alone. FP is one of the most powerful programming concepts ever conceived, but it's mired in mountains of terminology and notation and often taught from the top-down. Think about it: it's much easier to think about climbing the mountain once you're already on the top and can see back down. But right now, you're standing at the base of the mountain, ready and eager to climb but all you have is a collection of fancy climbing gear and no clue how to use it to begin the climb. This workshop is your primer on how to use this climbing gear to get started up the mountain. Most of the core concepts of FP are actually very intuitive and straightforward, when presented from the ground up without confusing terms or symbolic notations. Functional-light is a look at FP that helps you start the climb, not a lecture on why the climb should be easier than you think it is. If you're ready to start using FP concepts intuitively and pragmatically to improve your code, and not just hearing confusing terms, this workshop is for you.

09:00 - 17:00
Deploying Web Applications with webpack

Workshop tickets sold separately. Room: To be Announced

This webpack workshop is for those learning to use the open source bundler responsible for powering some of the most popular high-performance applications! You will learn why you should use webpack to build your web applications and how to leverage webpack as a critical piece of your front-end or Node.js-build architecture. We will cover the webpack's core concepts, understand how to organize and compose webpack's capabilities, and learn how to use webpack to perform high-performance front-end techniques such as code-splitting and long-term caching, as well as writing custom loaders and plug-ins. By the end of the course you will also walk away with an understanding of JavaScript modules and how they relate to high-performance web apps, and with the confidence to understand and make front-end architecture decisions that are right for your next project.

09:00 - 17:00
Front-End Performance: Building Faster Websites

Workshop tickets sold separately Room: To be Announced.

Every case-study, every report, and every bit of feedback always tells us the same thing: speed matters. It’s good for users, it’s good for accessibility, and it’s good for business. But why are modern browsing experiences so slow? If technology is getting better, why are websites getting worse?This workshop is targeted at intermediate to advanced front-end developers, web designers, and software engineers, or anybody who writes code. There will be resources and case studies for you to take back to non-technical stakeholders to help convince them of the power of performance. 100% of previous attendees would recommend the workshop to colleagues!

Thursday, 18 July

08:00 - 09:30
Registration and Breakfast
Registration starts at 08:30
09:30 - 10:00
Welcoming

We are beyond excited to have Courtney with us again, she is returning back as a Master of Ceremonies (MC) please give a warm welcome to her! ✨🎤

10:00 - 11:20
FOUC and the Death of Progressive Enhancement

Web developers have long heralded Progressive Enhancement for delivering web experiences in 'layers' (HTML, images, CSS, and then JS). It sounds so obvious and elegant, right? But FOUC (Flash of Unstyled Content), exposes the lies we've been telling ourselves and users! It's time to peel back the layers and re-envision how the web is assembled.

11:20 - 11:40
Break
11:40 - 12:20
What happens next: a choose-your-own adventure with iterators

You are an engineer with a perplexing mystery to solve. Something isn’t right… arrays are no longer zero-based. Indexes are being skipped. Odd messages are appearing in your codebase. Do you dare to git blame? Or do you descend into the deep, dark world of JavaScript internals? This talk is an interactive exploration of JavaScript’s iteration protocol – the driving force behind iterating through arrays, generators and so much more. It’s a feature you use every single day – but do you know how it works? Or how to customize it for your needs? You decide where this choose-your-own adventure goes but no matter the ending, you'll become a master of iterators.

12:20 - 13:00
Inside V8: weak collections, ephemerons, and private fields

This talk explores the implementation and performance characteristics of weak collections (WeakMap, WeakSet, WeakRefs) in V8, the JavaScript engine that powers Chrome and Node.js. The entries of weak collections have ephemeron semantics: an entry is cleared automatically once the key of the entry is no longer referenced anywhere else. This feature makes weak collections one option for implementing private fields. This talk explains what JavaScript weak collections are, and when to use them. We will also explore private fields, how they behave, and how they can be polyfilled with weak collections. Finally, we'll discuss performance and memory challenges for weak collections in the V8 JavaScript engine.

13:00 - 14:40
Lunch break
14:40 - 15:20
CSS in JS - The good, The bad and The ugly

The rise of modern JS frameworks brought in more efficient concept of Front End programming. These inspired new approaches, such as CSS Module and CSS-in-JS, more scoped in working with CSS. It’s always a debate which is the best practice among these approaches. Some claimed CSS-in-JS eliminates developer’s most fear when dealing with CSS (the CSS file) with more dynamic approach. Some disagreed. If you are keen to know about CSS-in-JS and what should be considered when it comes to work with CSS, this talk is for you.

15:20 - 16:00
Pwototyping

I’ve found an iteration centric workflow through prototyping with PWA enhancements that I’m dying to show you. Check out this demo, it’s a prototype you can add to your homescreen. Now, put your UX hat on, and launch that prototype. Click through a couple things. Now notice that you don’t notice anything. This illusion is brought to you by a static site! #JAMstack ftw. How could a static site feel like a native app though?

Turns out we can emulate, simulate and recreate high quality app flows with basic web technologies. I’ll share tips and tricks for helping y’all build these for yourselves and teams. They’re resilient prototypes, that many folks can hack on, which empower teams to vet things early and often. Dont’ guess it, test it; with a PWA.

16:00 - 16:40
JAMStack - The Total Victory of JavaScript

A lot has happened in the five years since Val Karpov coined the MEAN stack to describe 'Full Stack' Javascript stacks. React rose to dominance, AWS Lambda started the Serverless movement, and Static Site Generators came back in a big way. What is driving this new stack of Javascript, APIs, and Markup? This is the story of how a JAMstack cynic finally turned into a believer.

16:40 - 17:00
Closing First Day Remarks
21:30 - 02:30
🎉 After party @ Sala Bikini 🎉

Ever since the 1950's, Sala Bikini is one of the most iconic clubs in Barcelona. One of the main features are their concerts.

Friday, 19 July

09:00 - 10:00
Registration and Breakfast
Registration starts at 08:30
10:00 - 10:20
Welcoming

We are beyond excited to have Courtney with us again, she is returning back as a Master of Ceremonies (MC) please give a warm welcome to her! ✨🎤

10:20 - 11:00
Accessible JavaScript patterns

It is estimated that 20% of the population has a disability of some kind. That’s a lot of users to leave on the curb, if your web app is inaccessible! When talking about web accessibility, we often focus on using the right HTML for the right purpose, setting up the right colour palette. Did you know that the way you write JavaScript also makes or breaks the accessibility of a website ? This talk will show you how great JavaScript can improve the accessibility of your website. We’ll walk through common interaction patterns such as navigation menus, modals, or custom form elements.

11:00 - 11:40
Error handling: doing it right!

A journey into the asynchronous debugging horrors, how to avoid them and what patterns can be used to ease the life of each developer debugging applications. We all have run into issues debugging JavaScript. Knowing what went wrong due to missing stack traces in asynchronous contexts and finding the actual issue takes way too long. Especially code with promises can be tedious to debug. Following best practices in error handling reduces debugging time and improves the code base a lot!

11:40 - 12:00
Break
12:00 - 12:40
How we make Web Apps lightning fast at Microsoft!

Did you know that the average website takes over 16 seconds to load on a mobile device? Did you know that on average the amount JavaScript and CSS that goes wasted is over 60%! If JavaScript and CSS are our most expensive resources to load, _*why*_ are we hurting our load times by shipping stuff we don’t ever use? How do we get rid of this unused code? How can we profile our web applications load times? Join me as I teach you about the performance constrains of the modern web, and how to write rich applications within these boundaries using household tools like webpack. We'll learn how you can use techniques like code-splitting and how to adopt patterns that we use here at Microsoft so you can make your applications fast and at scale!!

12:40 - 13:20
How to effectively use the dev tools in all the browsers

Using the debugger dev tools in your favourite browser is almost like second nature. But once a bug shows up in a browser you’re not used to, figuring out how to use their dev tools can be a big pain. In this talk, I want to help you out by showing the different dev tools, where you can find the basic tools, but also what unique features each tool has.

13:20 - 14:40
Lunch break
14:40 - 15:20
Fast by default: algorithmic performance optimization in practice

We've learned to rely on sophisticated frameworks and fast engines so much that we're slowly forgetting how computers work. With modern development tools, it's easy to locate the exact code that's slowing down your application, but what do you do next? Why exactly is it slow, and how do you make it fast? Time to regain the lost art of algorithmic performance optimization! Software performance is all about recognizing and eliminating unnecessary work. You can learn to do this intuitively, and eventually you'll be able to write code that's fast from the start, by default. Let me show you how — on practical, real-world cases of optimizing popular open source libraries, PR by PR.

15:20 - 16:00
The Return of 'Write Less, Do More'

We obsess — rightly — over bundle size, performance, code coverage, and anything else we can quantify. But what if I told you that the number one predictor of a project's sustainability is the one thing we're *not* measuring? In this talk, we'll take a look at what the academic literature can tell us about writing maintainable, bug-free code, and see how a new generation of compiler-frameworks like Svelte can apply those lessons to help us build rich, reliable applications.

16:00 - 16:40
Shape Of The Web

Somewhere on a university campus in the US midwest, a 20 some year old student was earning minimum-wage, writing code in the middle of the night that would forever change the world. Until 1992, the internet was largely textual, reserved almost exclusively to academia. The sea change was a browser called: Mosaic. A young engineer co-authored Mosaic and in 1993 it became the 1st consumer-friendly browser, described once as the “gateway to the riches of the internet”. 25 years later, these same internet riches have become richer content, browsing has become as quotidian as a cup of coffee though not without a touch of tumult. “The Shape Of The Web” is about both accomplishments and challenges that lay in past, present and future of the web, its technologies employed and its employed technologists.

16:40 - 17:00
Closing Second Day Remarks

Stay up to date

Subscribe to our newsletter and you’ll always know what’s up!