Reflections on a career managing React with Tom Occhino
Real World React
Channel
Interviewed Person
Tom Occhino
Description
Tom Occhino is a former Facebook Engineering Director who helped create React and React Native. After joining the company as a software engineer in 2009 he helped develop user-facing products, core front-end infrastructure, and Facebook's open source program. As an engineering manager and director he was responsible for the JavaScript infrastructure, React, and Web Core orgs, and most recently led a ground up rewrite of facebook.com before leaving the company in 2021. Benjamin Dunphy interviews Tom to discuss how React changed the web, React Server Components, performance optimizations, React Native, when NOT to use React, & much more. 00:00 Intro & preview clips 01:38 How did React.js change the nature of web development? 07:03 Overview of tools that preceded React 13:19 What was the initial reception to React internally at FB? 15:55 10 years on from React's conception, are you as excited about React & the future of the web? 18:01 Where does React Native fit into this future? 20:05 Thoughts on other frameworks? 22:09 React: Framework or Library? 22:20 React Server Components: why 2 years to release, and why dependent on Next.js? 25:33 Is it a good thing that there are React Core team members at other companies? 26:34 Do React Server Components solve the problem of too much JS shipped to the user? 29:40 Are there any instances that you recommend a developer to NOT use React? 32:56 What were the reasons for the full rewrite of facebook .com to React? 35:15 Can you speak a little more on the issues with the product? 38:00 What is the elevator pitch to convince your superiors at FB to conduct a full rewrite of the web app? 42:02 Meta. Thoughts? 42:44 Artificial intelligence. Thoughts? 45:32 What are you up to now? 47:13 Origin & trends on primitive design moving to framework design 51:00 Web components 54:26 Class components evolved to hooks. What comes after hooks? 56:27 What was the shift in productivity, interoperability, and code reuse when entering the 3rd generation of JS? 58:12 How can we bridge the gap between the mobile web and native apps?
Transcript
the JavaScript bundle size turned out not to be the biggest problem at Facebook because application code weighed so much more than Library code why did it take two years for react server components to be made available for use in production yep and why does it rely on xjs to take full advantage of it the reason it took so long to develop was because every test we ran with react server components it was like worse performance wise if you're a startup and you're trying to move quickly and you're trying to test whether or not your product has product Market fit and you think you need an app for that and you can't use
the web and you're not using react native I think you're just making your life much harder [Music] so Samo Pinot was here he helped to create react and react native about a decade ago yeah about a decade now and he also served as the manager of the react Group which oversaw
the massive open source project that is react.js and also an internal tool for your project infrastructure team yeah and I'm especially delighted to have him here with us today because this is Tom's first public interview since leaving Facebook in 2021. gloves are off so this is really the uh the first opportunity uh publicly anyways um for him to address the entirety of his tenure at Facebook and so I'm especially honored and absolutely delighted to welcome Utah
thanks for joining me thanks for having me yeah it's really good to be here it's good to have you here now there's a lot I want to cover in this 45 or so minutes that we have including that famous full rewrite of uh the largest application in the world to react but I first wanted to reflect on the bigger picture sure so from your perspective and with the benefit of hindsight yeah
how did react change the nature of web development it's a really good question uh full disclosure Ben did not in advance give me any of these questions so this is going to be all off the cuff and we'll have some fun feel free to Heckle if you'd like um look we saw something really interesting at Facebook around the time that we started working on react which was as our products got more and more complicated and as our teams got larger and larger it just became really
hard to add new features and fix bugs and our ability to move quickly became sort of a function of how many people that built the original thing are still available and are around and I think one of the big things that reacted at least for us internally was it decoupled initial authorship of an application from the iteration on top of that thing and I think actually that has more to do with the architecture of a react app breaking things down into small components that are you know responsible for their own thing and that can be then
you know composed together I think was just a better architecture so on the one hand I'd say like for us it changed the nature of like how we iterate on add features to fix bugs in our applications it made our apps a bit more reliable and it was a bit more fun for developers especially compared to the things that we were using beforehand there's another interesting thing I think that happened with react though especially you know post adoption so I won't say Post open source because
there's a whole story about open sourcing react but I think like as you know everything kind of started shifting towards mobile development because of you know time spent on our mobile devices just going through the roof I think like web development started to almost languish while all of the best and brightest in the industry started focusing all of their attention on idiomatic platform native development for IOS and Android and I think one of the things that I saw happen with react
Video Details
- Duration
- 1:01:19
- Published
- December 17, 2022
- Channel
- Real World React
- Language
- ENGLISH
- Views
- 4,107
- Likes
- 167