Speaking
The First Two Seconds: Faster Page Loads For React
We're often told it's impossible to create React pages that load quickly. At the ABC we knew slow page loads were not an option for news, entertainment and information. This talk charts the ABC's journey and how page load speed is measured, the trade-offs between different app architectures, and finally the APIs and tools browsers give you to speed your sites up.
Exploring Static Types: Writing Typesafe Code that Feels Like Real JavaScript
For twenty years JavaScript's dynamic typing has given us an easy-to-use scripting language. But now Flow and TypeScript are changing the foundations of the language. Far from turning our code into an object oriented mess, static typing gives us JavaScript code that's cleaner, simpler and more predictable. And by embracing the nature of typechecking, we end up with interfaces that are easier for humans to understand too.
Designing a Culture that Fosters Growth
Many companies say they want the best developers. But they don’t back that up with their actions. Facebook has invested heavily in designing a culture that grows developers over many years.
In this presentation I share lessons learned working for Facebook, a companay that has held a high bar for quality while growing its engineering head count at an almost unimaginable rate over the last decade.
Frontend At Scale: Designing Infra For Big Teams
Developing high quality web applications means understanding browser quirks, web performance, testing strategies, and API design. Getting all of this right is difficult in an organization where hundreds of engineers are collaborating on the same codebase,
This talk looks at how Facebook tackles this problem with stable infrastructure for data fetching, code delivery, performance profiling, and testing.
Rediscovering the Server
React makes it easy to build beautiful and responsive JavaScript applications, but moving rendering from server to client reveals new and unique performance challenges. Preloading data, minimizing round trips, and reducing JS overhead are just some of the problems JavaScript developers face.
Facebook is combining the strengths of server and client execution with abstractions like GraphQL and Relay, and we see how we can apply the same design principles to other performance problems.
GraphQL + Relay
A primer on GraphQL, a query language for APIs, and Relay, a framework for defining GraphQL queries and managing data on the client.