ForwardJS Spring 2018 Schedule


February 13th, 2018

8:30am
9:15am

Registration

Main Room: Gold Rush
Come say hello and grab your name badge!

Registration

Main Room : Gold Rush
08:30am - 09:15am

9:20am
10:10am

[NEW] Design Systems at Scale

Sarah Federman
Track 1: Emerald Ballroom

[NEW] Design Systems at Scale

Sarah Federman
Track 1 : Emerald Ballroom
09:20am - 10:10am

Summary: "A design system can vastly improve your team's productivity, but most of all, it leads to better products! The challenge lies in creating a mature system and leading its adoption across the company successfully. Let's talk about how we learned to meet the needs of different designers and developers on different products, on different tech stacks, on different platforms. Attendees will go home with tips they can use to improve design systems of any stage."

Extra: "A design system is a collection of practices that help companies scale their design and development, improve their user experience, and empower their designers and engineers. It usually includes a living styleguide, coded UI components, and design files. I will show you how Adobe is tackling this problem head-on in our org.

Design systems are so hot right now but they have an acute marketing problem: no one quite knows what they are. We're going to dig in and talk about what they really are and how they can impact your team.

We'll start with an overview of what design systems are why you should care and then we’re going to cover some of the things we learned at Adobe while building and scaling our design system for our large organization. This includes things like a release strategy, support strategy, review process (design and technical), measuring success, and various other things that are paramount to success at scale."

10:10am
10:45am

Morning Break!

Main Room: Gold Rush
Caffeine and Nourishment brought to you by Qlik Playground. Go give them a hug

Morning Break!

Main Room : Gold Rush
10:10am - 10:45am

Morning Break sponsored by Qlik Playground

10:45am
11:25am

[NEW] Conversational Interface & JavaScript, Including W3C Web Standards

Tomomi Imura
Track 1: Emerald Ballroom

[NEW] Conversational Interface & JavaScript, Including W3C Web Standards

Tomomi Imura
Track 1 : Emerald Ballroom
10:45am - 11:25am

10:45am
11:25am

[NEW] My Hockey Team Sucks: JSON, Node and Accepting Defeat

Rey Riel
Track 2: Crystal Ballroom

[NEW] My Hockey Team Sucks: JSON, Node and Accepting Defeat

Rey Riel
Track 2 : Crystal Ballroom
10:45am - 11:25am

When the team you cheer for, cry for, bleed for, is having a crappy season you want answers. "Why is this happening to me/them?" you cry. Let me take you through my pain and the data hacking, manipulating and visualizing I went through to try and make me feel better.

10:45am
11:25am

[NEW] Saving with server-less functions

Brian Douglas
Track 3: Redwood

[NEW] Saving with server-less functions

Brian Douglas
Track 3 : Redwood
10:45am - 11:25am

Side projects are especially awesome when they help you solve a real life problem. During a recent problem-solving expedition I encountered a road block: the easiest solution is possible, but not affordable. If this is sounding familiar, you probably know that infrastructure can be pretty cost prohibitive, both in time and money. This talk is how I used the server-less functions to ship my side project that helps me avoid SF Giants games without any additional server costs.

11:30am
12:10pm

[NEW] Select This! CSS Selectors

Estelle Weyl
Track 1: Emerald Ballroom

[NEW] Select This! CSS Selectors

Estelle Weyl
Track 1 : Emerald Ballroom
11:30am - 12:10pm

More info to come.

11:30am
12:10pm

[NEW] The Long Road to Async/Await in JavaScript

Thomas Hunter II
Track 2: Crystal Ballroom

[NEW] The Long Road to Async/Await in JavaScript

Thomas Hunter II
Track 2 : Crystal Ballroom
11:30am - 12:10pm

This is a comparison of different methods for performing asynchronous control flow in JavaScript, specifically Callbacks, Promises, Generators / Yields (ES2015), and Async / Await (ES2016). We will explore a simple code example as it applies to each of these different "phases" of asynchronous control flow. Finally we'll examine how Async functions are just Promises under the hood and that the two are interoperable.

11:30am
11:45am

Asynchronous Leadership with Promises

Zack Bloom
Track 4: Pacific Rooms

Asynchronous Leadership with Promises

Zack Bloom
Track 4 : Pacific Rooms
11:30am - 11:45am

Controlling people is a lot harder than controlling humans. Fortunately though, people don’t need to be controlled, they have their own goals, dreams, plans and purpose. Management is about helping other people become happier, more capable, and better able to achieve their goals. If you’re a member of the JavaScript community, that’s something you care about. It’s time you brought that love for people, not just code, to your work.

Zack Bloom is the author of the JavaScript used in open-source libraries which total more than thirty-thousand stars on GitHub, are included in Twitter Bootstrap, and are used by over a million websites

11:30am
12:10pm

[NEW] Is javascript like java?

Marlena Compton
Track 3: Redwood

[NEW] Is javascript like java?

Marlena Compton
Track 3 : Redwood
11:30am - 12:10pm

The fact that Java and javascript share a first syllable has historically prompted developers to ask the question, is javascript like java? For many years, the answer was of course not…n00b. However, writing code with javascript now includes using OO syntax like class and constructor while javascript developers are starting to embrace type systems for javascript such as flow and typescript. In fact, with the growth of node, both languages are often a goto choice for building a server. This talk will re-examine the age-old question of whether javascript is like java with side by side code comparisons, take a look at the deeper differences underneath the syntactical likenesses and make a few jokes at the expense of both java and javascript. The audience will come away with a new perspective on a language some see as a dinosaur, a deeper understanding of language features we take for granted or are still learning to appreciate and a high level perspective on the code patterns humans prefer and how these patterns emerge in different languages over time

12:10pm
1:20pm

Lunch Time!

Main Room: Gold Rush
Remember when you selected what you wanted for lunch? No? Don't worry it's printed on your badge.

Lunch Time!

Main Room : Gold Rush
12:10pm - 01:20pm

BL- Box Lunch is located in the Gold Rush Ballroom LL- Enjoy your hot lunch upstairs in the main restaurant OS- Grab a list of Nearby Restaurants at the Registration Desk

1:20pm
2:00pm

[NEW] Software Development: Does It Need to Be a Technology Conflict Zone?

Allen Wirfs-Brock
Track 1: Emerald Ballroom

[NEW] Software Development: Does It Need to Be a Technology Conflict Zone?

Allen Wirfs-Brock
Track 1 : Emerald Ballroom
01:20pm - 02:00pm

Modern software development culture seems fixated on finding technology winners and losers rather than nurturing an ever-growing set of complementary tools and techniques. We’re driven by fads and fashion. Technology zealots and promoters promise the next disruption while spewing myths and dogma. And we always seem willing to grasp for the new shinny thing. Is this really an appropriate culture for an essential technical discipline? Is this the culture you want to work within? Can you build a 30 year career in such a culture? How can we make it better? Let’s talk.

1:20pm
2:00pm

[NEW] Pinterest ❤️ Mobile Web

Zack Argyle
Track 2: Crystal Ballroom

[NEW] Pinterest ❤️ Mobile Web

Zack Argyle
Track 2 : Crystal Ballroom
01:20pm - 02:00pm

A case study of the from-scratch rewrite of Pinterest for mobile web. Learn about the performance gains, how they did it, and the bottom-line benefits of improved performance on engagement and growth.

1:20pm
2:00pm

[NEW] PWAs: Earning your user’s trust

Jon Kuperman
Track 3: Redwood

[NEW] PWAs: Earning your user’s trust

Jon Kuperman
Track 3 : Redwood
01:20pm - 02:00pm

Convincing users to download your mobile app can be a challenge; the average smart phone user only has 26 apps installed! Progressive Web Apps have a big advantage in this regard. They can provide instant value, only asking for permissions when they are necessary. We'll look at companies using these techniques as they earn their way to the home screen.

2:05pm
2:45pm

[NEW] Hooray for Arrays! Tips and Tricks for JavaScript's Best Object

Erin McKean
Track 1: Emerald Ballroom

[NEW] Hooray for Arrays! Tips and Tricks for JavaScript's Best Object

Erin McKean
Track 1 : Emerald Ballroom
02:05pm - 02:45pm

JavaScript arrays are special, in all senses of the word. In this talk, you'll learn everything you ever wanted to learn about arrays in JavaScript (and probably more): what arrays actually are, fun ways to use arrays, array gotchas to avoid, and (because this is JavaScript) a few head-scratchers along the way. (All code shown live onstage in a Jupyter notebook!)

2:05pm
2:45pm

[NEW] Caring For Your Fellow Developers

Trent Willis
Track 2: Crystal Ballroom

[NEW] Caring For Your Fellow Developers

Trent Willis
Track 2 : Crystal Ballroom
02:05pm - 02:45pm

“Move Fast & Break Things”, “Get Shit Done”, “Disrupt”.

These are mantras of the tech and design industry. They praise speed and hard work but overlook a core element: people. We devote hundreds of hours to our craft, but often only spend a fraction of that same time thinking about the people working with us.

Let's talk about how we can proactively care for our teammates with the same passion we use when caring for our code. We’ll explore practical, simple ways to change how we engage with our teammates to build more supportive working environments so we can deliver better products, faster.

2:05pm
2:45pm

[NEW] Migrating the Frontend Stack From Python to React @ Yelp

Mark Larah
Track 3: Redwood

[NEW] Migrating the Frontend Stack From Python to React @ Yelp

Mark Larah
Track 3 : Redwood
02:05pm - 02:45pm

Yelp has over half a million lines of template and frontend code. React provides a new experience for both our developers, and our users. This talk is a deep dive into how we are enabling developers to convert our templates/frontend stack over to React, and to do so whilst iterating quickly.

We'll share some lessons we've learned from migrating a codebase to React at scale, including: - Some of the architectural challenges faced migrating a Python-based stack to React - How we do React Server Side Rendering in a Python environment - How we support a company culture shift to React

2:05pm
2:45pm

The Mistakes I Made As a Beginner Programmer

Samer Buna
Track 4: Pacific Rooms

The Mistakes I Made As a Beginner Programmer

Samer Buna
Track 4 : Pacific Rooms
02:05pm - 02:45pm

How to spot a beginner programmer! This talk will go over some of the common problems beginner programmers usually face because of some simple mistakes they do.

2:50pm
3:05pm

[NEW] Jest as a Platform

Rogelio Guzman
Track 1: Emerald Ballroom

[NEW] Jest as a Platform

Rogelio Guzman
Track 1 : Emerald Ballroom
02:50pm - 03:05pm

Jest is a JavaScript testing solution. Currently it is mainly used only for tests, but in this talk I want to explore how it could be used for much more, and how it could become a platform, which can power different tools.

2:50pm
3:05pm

[NEW] Taming the Hydra: Managing Monorepos with Lerna

Emma Ramirez
Track 2: Crystal Ballroom

[NEW] Taming the Hydra: Managing Monorepos with Lerna

Emma Ramirez
Track 2 : Crystal Ballroom
02:50pm - 03:05pm

In this talk, I'll give an overview of what monorepos are, how they can benefit your organization, and how to control them with Lerna.

2:50pm
3:30pm

Optimizing React Application

Roy Yu
Track 3: Redwood

Optimizing React Application

Roy Yu
Track 3 : Redwood
02:50pm - 03:30pm

This talk will be introducing tools for React application performance profiling and analyzing, also will be talking about strategies and techniques on how to develop performance application as a developer. By the end of the presentation, attendees should have basic knowledge to apply what they have learned into their daily job.

2:50pm
3:30pm

How to Write Your First Technical Book or Just a Blog Post

Azat Mardan
Track 4: Pacific Rooms

How to Write Your First Technical Book or Just a Blog Post

Azat Mardan
Track 4 : Pacific Rooms
02:50pm - 03:30pm

One of the best ways to share your knowledge and to develop a better mental models and understanding is to write. A good writing can skyrocket someone from a regular developer into a thought leader, an architect, a dev evangelist and many other exciting roles. It can bring fame and passive income too. Do you have a tech blog or a book idea? Come to this presentation to learn how to unblock yourself, develop good style and master tech writing from top-selling author of 14 books, and 200+ blog posts. Azat Mardan will share his secrets to a good blog posts and how to self-publish books on Amazon, and then to get a publishing deal from a reputable publisher or two.

3:05pm
3:30pm

[NEW] How to Hustle Your Codebase: Approaching Code Re-Architectures Through the Eyes of a Billiards Player

Mars Jullian
Track 1: Emerald Ballroom

[NEW] How to Hustle Your Codebase: Approaching Code Re-Architectures Through the Eyes of a Billiards Player

Mars Jullian
Track 1 : Emerald Ballroom
03:05pm - 03:30pm

If you’ve been a software engineer for long enough, chances are you’ve had to re-architect code that you’ve written or that someone else on your team wrote. But re-architecting code can be quite nebulous, and it’s often hard to know where to start.

But I have discovered that code re-architecting is a lot like playing billiards. For the first six months of 2017, I spent my time re-factoring the Netflix signup flow to use React & Redux. As my inspiration and framework for the project, I drew from my experience and passion for playing pool. In billiards, we are playing against our future selves, and sometimes the easiest shot to sink isn’t the best one for the long game.

Using my recent experience, I’ll talk about what we can learn from the sport of billiards to help inform code re-architectures and think through ways to set ourselves and our teams up for success.

3:30pm
4:05pm

Afternoon Break!

Main Room: Gold Rush
A little more caffeine won't hurt

Afternoon Break!

Main Room : Gold Rush
03:30pm - 04:05pm

4:05pm
4:45pm

[NEW] Panel: Front End Happy Hour

Brian Holt, Jem Young, Allen Wirfs-Brock, Ryan Burgess, Stacy London, and Mars Jullian
Track 1: Emerald Ballroom

[NEW] Panel: Front End Happy Hour

Brian Holt, Jem Young, Allen Wirfs-Brock, Ryan Burgess, Stacy London, and Mars Jullian
Track 1 : Emerald Ballroom
04:05pm - 04:45pm

Panel: Mars Jullian, Stacy London, Brian Holt, Jem Young, and Allen Wirfs-Brock Moderator: Ryan Burgress

4:05pm
4:45pm

[NEW] One Progressive Step at a time - Code Intro Progressive Web App

Anas Raza Firdousi
Track 2: Crystal Ballroom

[NEW] One Progressive Step at a time - Code Intro Progressive Web App

Anas Raza Firdousi
Track 2 : Crystal Ballroom
04:05pm - 04:45pm

Why is everyone talking about PWA ? Is it a fad or it's here to stay ? Are you confused with Service Workers? App Manifest ? Offline Apps? Push Notifications ? Browse Cache ? and all other buzzwords connected to Progressive Web Apps ? Here is your chance to embark on a fun-filled information-intensive code-exhaustive 40min journey where I will take you from building a regular web app, converting it into a PWA and setting it up to take to become a full fledged PWA with push notifications and offline support enabled. It's a code show not a talk show so get ready to build your first impressive PWA - one step at a time!

4:05pm
4:45pm

[NEW] Beyond JavaScript Frameworks: Writing Reliable Web Apps With Elm

Erik Wendel
Track 3: Redwood

[NEW] Beyond JavaScript Frameworks: Writing Reliable Web Apps With Elm

Erik Wendel
Track 3 : Redwood
04:05pm - 04:45pm

In times where a jungle of JavaScript frameworks wants to solve every conceivable problem in web app development, creating headaches and javascript fatigue in the process, Elm offers a different approach. Elm is a functional programming language that you can use instead of JavaScript — or alongside it. It builds on the concepts virtual dom and unidirectional data flow popularized by React and Redux, but with a sound typesystem, built-in immutability, and an amazing compiler that catches errors before you even run your code. Simply put, Elm is a great language that will make your backend team jealous (unless they're already on the very similar F#).

In this talk you'll see how Elm works and learn how to use it to build a web app. I will emphasize the advantages and disadvantages it brings compared to the traditional JavaScript tech stack used at my most recent project.

This talk is not aimed at experienced functional programmers coming from languages such as Haskell, but rather JavaScript developers seeking a more functional approach in their daily work. It serves both as a introduction to Elm and typed, ML-style functional programming.

4:50pm
5:30pm

[NEW] JSON Web Tokens Suck

Randall Degges
Track 1: Emerald Ballroom

[NEW] JSON Web Tokens Suck

Randall Degges
Track 1 : Emerald Ballroom
04:50pm - 05:30pm

JSON Web Tokens (JWTs) are all the rage in the security world. They’re becoming more and more ubiquitous in web authentication libraries, and are commonly used to store a user’s identity information.

In this talk Randall Degges, Head of Developer Advocacy at Okta, will take you on an extensive tour of the web authentication landscape. You’ll learn how JWTs and Sessions work, and why JWTs are the worst possible solution for solving web authentication problems.

You’ll also learn the real reason behind JWTs rise to fame, and better ways to secure your websites that don’t involve misplaced hype.

4:50pm
5:30pm

[NEW] Mind-controlling the Web with Brain-Computer Interfaces

Alex Castillo
Track 2: Crystal Ballroom

[NEW] Mind-controlling the Web with Brain-Computer Interfaces

Alex Castillo
Track 2 : Crystal Ballroom
04:50pm - 05:30pm

What comes after the keyboard and the mouse? More advanced interfaces that allow more effective communication between human and machines, specifically those that tap into the brain. So, let's plugin the human brain to the browser and build a better web.

The human body is a ocean of electricity. Billions of neurons are constantly engaging as our thoughts go from one state to the next. Come see how we can tap into this data generated by human cells in JavaScript, and how to get started in the NeuroTech community.

4:50pm
5:05pm

[NEW] Composing UI with smaller components

Ibrahim Madha
Track 3: Redwood

[NEW] Composing UI with smaller components

Ibrahim Madha
Track 3 : Redwood
04:50pm - 05:05pm

A pattern that’s emerged with React and over component based libraries is do-it-all components with many options. I’d like to focus on encouraging developers on breaking up these handy reusable monoliths into smaller legos for more versatility, reusuablity, and smoother maintenance.

5:30pm
7:30pm

After Party!

Main Room: Gold Rush
You made it! Come unwind in the Gold Rush Ballroom

After Party!

Main Room : Gold Rush
05:30pm - 07:30pm