It's time to ditch Medium for good! 🌈⚡️

Introducing Devblog by Hashnode. Blog on your domain for FREE. Highly customizable and optimized for developers.

Learn more

I am Jay Phelps. Ask me anything.

Loves code, hates condiments. Jay is a Senior Front End Engineer at Netflix with over a decade of engineering experience. Lover of all things open source, his contributions span across numerous ecosystems.

Ask Jay Phelps about:

  • WebAssembly
  • JavaScript
  • Engineering at Netflix
  • RxJS
  • ECMAScript
  • Redux
  • OSS
  • General Advice

Hey everyone! I had fun your questions. Feel free to reach out to me with others or followups. You can find me on twitter: 🖖

Ask a Question

73 discussions

Hi Jay, Thanks for the AMA!

What's like to work at Netflix's Engineering team? What's the best & worst thing about it? 🤓

You're welcome! Thanks for the question.

Netflix has been the best company I've worked for, by far. Above all I enjoy the freedom they give us. Freedom to make positive decisions as well as freedom to make mistakes without fear of retribution or shame. Very little bureaucracy. Want to use the new hot framework? Your call, do what's best for the company. Same thing for vacation and so many other things. It's not for everyone though: some people don't do well in an environment where they don't have guard rails. For a lot of roles here, the onus is on you to set priorities, make tech decisions, etc. There are no distinct engineering leads or architects. All engineers are flat, same level. This is so exciting and refreshing when working on projects. From a technical experience, I love love love this. At the same time it's probably my least favorite thing from a totally selfish perspective, as you won't ever get that title "promotion" to Level VI or whatevs, but you definitely still get paid top of personal market. Title's aren't nearly as important to me though as it might have been early in my career.

I highly recommend our culture doc, which was crafted/edited/debated collectively by everyone here and does a great job of representing:

Reply to this…

Share your programming knowledge and learn from the best developers on Hashnode

Get started

How would you explain the current state of Webassembly?

Love this question!! (I'm obsessed with WebAssembly) It's pretty bleeding edge stuff, but it's progressing much faster than most probably think!

Right now WebAssembly (aka wasm) v1 is supported in all modern browsers (Firefox, Safari, Chrome, Edge), which is great, but a lot of people need to support older versions which don't. If you're writing in C++ you could dual compile to wasm as well as asm.js; which is a subset of JavaScript so it works in older browsers. There's also some experimental "polyfills" created by the community. Some of them are interpreters some are basically wasm -> JS VMs. These are currently pretty slow though, and it's likely they'll always be impractical for performance reasons.

The v1 of wasm was designed around the C/C++ use case, so it's pretty low-level stuff. However, there's a very active and quickly moving proposal for exposing a built-in Garbage Collector, which is going to be one of the most important building blocks to have high-level languages target wasm and interop with JS objects and the DOM APIs. This is very exciting. Languages like Reason and Elm will be prime examples.

Webpack is actively working on first-class support for wasm modules, as well as eventual things like a cpp-loader, reason-loader, etc which will transparently abstract away nearly all wasm stuff so we can just focus on writing code in our preferred language.

Such an exciting future!

Reply to this…

How do you grow from Front End Developer to Front End Engineer? What’s the key to be noticed in the industry?

I try not to make distinctions between "developer" and "engineer" as titles, but I'm thinking your question is rooted less about the titles themselves and more about the abilities/mindset.

If that's the case, I think the number one thing you can do is keep yourself challenged. If you feel your abilities are stagnate at your job, try to find another more challenging. Not everyone can switch jobs though, so in those cases try and find more challenging work that fits within your existing role. Having a side project is great too, time permitting. I've grown the most in my skills from the side projects I've done, most of which I never release publicly. It didn't matter though because it was super challenging and I learned so much.

Getting noticed is mostly being more social and having a consistent presence. Being active on Twitter, having an opinion and sharing your passions with others. Giving talks at meetups and conferences helps too, but it takes quite a lot of time, effort, and nerves. In the end, being noticed might get your foot in the door for better jobs but some are surprised to learn companies still make you go through the same interview process and still pass on you for technical reasons. e.g. the guy who made Homebrew interviewing at Google 😆

Reply to this…

Why can one not click on the video screen to pause and play a Netflix video? :P

Show all replies

Pretty cool! Thanks a lot for the answer. :D

Reply to this…

With Netflix moving to Kotlin, what does that mean for their ongoing contributions to the JavaScript, Observables, and React communities?

We're love the JVM and have a huge amount of Java and Groovy. There's more and more teams using Kotlin, but I actually haven't seen a major shift across the board. We also have a ton of Groovy, which is slowly going to be superseded by Node.js microservices in a lot of cases; but we’ll continue to use Java indefinitely.

I'm thinking the Kotlin/Java stuff won't have an impact on our JavaScript related stuff, aside from our increasing reliance on Node.js. Since Netflix has a culture of freedom to choose technologies, it's often hard for us to make generalized statements. Ruby, Go, Python, Haskell, Scala, Angular1/2/3/4, Ember, Polymer, React, etc we've got the whole spectrum. I love that because I can get exposed to many of them if I want. We sponsored the RxJS v5 rewrite (Matt from Microsoft is the original author) to get it released, and now it's a community effort managed by volunteers outside of Netflix.

Reply to this…

Load more responses