Backend Banter

#062 - Declaring War Against the Frontend feat. Sam Selikoff

· Summarized

Share this episode
Anyone with this link can open it.
Share Link
Start at 0:00

Key takeaways

  • Understanding abstractions is crucial; poor abstractions can complicate, rather than simplify development.
  • There is a balance to be found between the high floor and high ceiling of frameworks, leveraging the strengths of both frontend and backend communities.
  • Frontend should drive backend development to ensure products are built with the user experience in mind.
  • Type flow from database to frontend is essential, while product decisions should be independent of backend constraints.
  • React Server Components could transform application development by reducing complexity in handling state and data.

Summary

Introduction to Sam Selikoff

In this episode of Back End Banter, hosts engage with Sam Selikoff, co-host of the Frontend First podcast and an expert in frontend development. They reminisce about their previous encounter at Big Sky Dev Comp and delve into Sam's experiences in both frontend and backend work.

The Debate on Abstractions

A key topic discussed is the importance of understanding the layers below the tools developers use, like abstractions. Sam notes that while learning more about abstractions is beneficial, it can also lead to confusion if the abstractions are poor or 'leaky.' The conversation revolves around the ongoing struggle in the frontend community to create better abstractions that actually simplify development.

Full Stack Framework Discussions

They discuss the comparison between traditional backend frameworks such as Rails and Laravel versus newer JavaScript frameworks like React, Next.js, and Remix. These frameworks are trying to blend backend capabilities with frontend flexibility, but the discussion highlights how the old guard's insights can help new frameworks raise their floor (ease of use) while also providing the ceiling (flexibility).

Frontend Driving the Backend

The hosts emphasize the need for the frontend to dictate the requirements of the backend rather than the other way around. This approach fosters a better product development cycle where features are built with the user in mind.

Type Flow and Productivity

The discussion also happens around how types in programming should flow from the database to the frontend, while noting that product decisions should remain separate. This distinction helps maintain a clean separation of concerns, ensuring that features deliver user value without being bound by backend constraints.

React Server Components (RSCs)

In the latter part of the episode, Sam explains React Server Components (RSCs), which allow developers to render components exclusively on the server. RSCs promise to streamline data-fetching processes and reduce the cognitive overhead involved in client-side state management. This innovation could ultimately unify how developers work with their applications, blending server and client interactions more seamlessly.

Sponsors

  • Boot.dev · Learn back-end development

Show notes

In today’s episode, we go to war with Sam Selikoff, co-host of the Frontend First podcast, and specialist on everything Frontend related.


We have an amazing conversation where we discuss Sam’s journey, as he also did some backend work in the past, we talk about abstractions, what JavaScript is doing differently from other languages and frameworks, why the frontend should be driving the backend and not the other way around, and finish it off with a discussion about RSCs (React Server Components).


Learn back-end development - https://www.boot.dev

Listen on your favorite podcast player: https://www.backendbanter.fm


Frontend First: https://frontendfirst.fm/

Sam's X/Twitter: https://x.com/samselikoff

Sam's Youtube: https://www.youtube.com/samselikoff


Timestamps:


00:00 Intro

00:51 Who is Sam Selikoff

02:12 Abstractions - Should you go a level deeper?

06:37 What was Sam's talk about

10:51 What is JavaScript doing differently?

19:10 Do you want the frameworks to push more features out of the box for backend work?

24:04 Strong opinions on a library level

30:29 Shipping more standardized interfaces

37:06 The frontend should be driving everything in the backend

39:12 Your types should flow from the database to the frontend, but not the product decisions

46:53 React Server Components

58:49 Where to find Sam


Follow this show on AudioBrevity and new episodes get summarized for you. Create a free account

Couldn't load the audio. A blocker may be stopping the show's tracking links. Open the file