Coursera Engineering Podcast Episode 1: Javascript Technologies with Jon Wong

SITE NAME
2017-05-11T11:30:00+00:00

Today I’m excited to release the first episode of our engineering podcast!

These podcasts will supplement our blog posts as another medium through which we can share the work we do at Coursera. Expect to get topics along the lines of product/design inspiration, architectural design of products, lessons learned, war stories, exploration of interesting or novel technologies, etc.

Because not everything can be covered in the conversations – for instance it’s hard to describe a graph structure without a visual – our podcasts will be posted right here on our tech blog with any relevant visuals and notes.

Episode One

Topics

1. Why Start a Podcast

2. Our Thoughts on Javascript Tooling Today

3. Yarn and NPM

4. Webpack and RequireJS

5. Our involvement with GraphQL

Listen

Additional Notes

Yarn versus NPM

Lewis: The thing about adding two additional dependencies to an already huge project – there is an increased chance of package version collisions when trying to run shrinkwrap and we kept seeing that. In addition, shrinkwrap produced slightly different outputs on different minor versions on NPM 2 and NPM 3. Things seem to be a lot better now?

Jon: NPM v5 is in beta and addresses a lot of things we had trouble with in the past.

Webpack versus RequireJS

Jon: Webpack has a new site and docs!

Modules in Webpack

Tree-shaking doesn’t actually work

GraphQL

Jon: Some resources if you are curious about GraphQL:

Why UI Developers Love GraphQL

Apollo Client

Lewis: This is what my current focus is. Feel free to reach out if you have any questions!

apollo-codegen

Swift type code generation from GraphQL is ready. Flow/Typescript will follow suit!

Picks

Jon:

Visual Studio Code

Lewis: Typed flavors of Javascript are awesome!

Flow - great if you already use or are planning to use Babel to compile your code

Typescript - if you’re writing a project from scratch or can migrate your project completely to use the typescript compiler