Hulu is actually now almost entirely built with
@nextjs
in TypeScript. Type safety has helped us as our engineering team has grown to hundreds of developers.
Gotta love the pivot from "it doesn't scale" to "you can't write real systems without types" as the new ding-dong argument against dynamically-typed languages like Ruby (and vanilla JavaScript and Smalltalk and...).
After a couple months of work, I'm super excited to say that
@disneyplus
and parts of
@hulu
will be running in a JavaScript monorepo powered by
@pnpmjs
. We'll be adding
@turborepo
in the coming months too!
we now compute graphs in a background job powered by
@inngest
and cache the result in Redis via
@upstash
now you can visualize larger projects like
@nextjs
even faster
🛠️ quick diagram of how it's built below 👇
- I got nominated to Principal Software Engineer working on
@DisneyPlus
- I was able to pay for an amazing wedding and take my husband on a honeymoon to Japan
- (Virtually) spoke at
@nextjs
Conf
- Didn’t have a mental breakdown
This is the first time RSC has truly blown my mind 🤯
Every time the graph changes, we're actually calculating the new layout on the server and streaming in a new graph.
Client-side interactions feel seamless alongside streaming
Some context to keep in mind:
A lot of the tech that is stable and exists now didn’t 10-20 years ago. As new tech is created folks will switch if it fits their use case better. This is natural and will happen to most of your tech choices eventually.
Folks forget that Hulu is
Some news! After three years I'll be leaving my role as architect for the
@DisneyPlus
and
@hulu
web teams.
There have been ups and downs but some of my proudest moments are:
• Leading architectural efforts for one of the largest apps in the world from launch to 150M users
•
I went from zero to getting nominated to Principal Software Engineer, building Disney+ in about ten years without a degree.
If you're considering an alternative career path, here are some things that were great, not so great, and some things I wish I had known earlier...
@aarondfrancis
@PlanetScale
I'm so sorry, you are SO good at what you do and it's been incredibly inspiring to see your growth
hopefully, you can take some time to rest but you've struck a chord with the entire community and anyone would be lucky to have you. the best is still to come!
Family kicked me out after coming out.
Was working an unpaid internship and only ate if my bank let me overdraft my checking account.
Slept on a friend’s air mattress for months and taught myself to code in a coffee shop at night until I got my first paid job as a contractor.
Thanks for watching my
@nextjs
Conf talk today!
If you want to learn more about scaling applications with monorepo tooling. I wrote up a longer guide to dive deeper!
@Madisonkanna
Interviewing is super anxiety-inducing for me. I'm okay not chasing marginal gains in TC if I'm content and happy in a position. I'll only start interviewing if that changes for me.
@laneparton
@nextjs
It was! The original tweet quotes applications that were at one point built with Rails over the past 20 years.
A lot has changed in that time and eventually the team chose Next.js as it fit their needs better as they grew. Before my time but worth a read:
I started my career in startups, but transitioning into architect role at a huge company like Disney required some new skills. Here are three soft skill tips I learned from leading the Disney+ and Hulu teams as an IC over the past 3 years...👇
The number of straight men in the replies feeling like they’re being infringed upon not realizing that these questions are designed to prevent that exact thing from happening to a different group of people. 😂
Main character syndrome for real
I’ve been thinking about submitting a talk to Next.js Conf this year about how we used
@turborepo
and
@nextjs
to build the monorepo for
@DisneyPlus
and lessons learned while scaling it to 100+ devs.
Would need to clear it first but is that something would interest folks?
@ryanflorence
totally agree, feature folders end up scaling the best especially as your codebase grows
talked a bit about this in my
@nextjs
conf talk this year!
I am SO excited to say that in a month I’ll be joining
@DisneyStreaming
as a Technical Lead building the front-end for
@disneyplus
. I never thought I’d be able to work for
@WaltDisneyCo
, seriously a dream come true.
Have you ever enjoyed the sunset shadow on a website?
Here is a sneak peek of what we have been cooking with
@matiasperz_
at
@basementstudio
:
🔗
📝 Article coming soon
A first look at the newest monorepo tool...
✨Commonality✨
• Works with any JS project
• Place constraints on dependencies in your project
• Codify best practices for the tools you already use with checks
• No wrappers, no lock-in
Want to try it out first? Let me know ⬇️
Today was really really really shitty and I am not feeling great
Going to doordash chicken nuggets, watch a movie on the couch, and reset so I can push forward tomorrow
@jay_soo
We allowed teams to have different dependency versions in the Disney+ monorepo and it became a complete nightmare.
I'm fully on team keep dependencies in sync and if there's a good reason to have diff versions then those packages might warrant being in a different monorepo.
In 2020, I joined a company that I had wanted to work for since I was a kid.
Over the past 3 years, I've had the once-in-a-lifetime opportunity to help bring Disney+ from launch to scale.
Humbled to work alongside so many amazing engineers across the world.
Happy
#Disney100
!
Amazing launch from the team getting a Hulu tile in Disney+.
Looks simple but is only possible because of years of hard work from our streaming teams.
👏👏👏
this is peak DevEx
the
@posthog
toolbar allows you to view analytics and heatmaps directly on a page but it also has "hedgehog mode"
dress your hedgehog up and it'll keep you company or you can control it and walk around the page 🦔
Seeing homophobic comments on these posts is disappointing, but it's so so inspiring to see a gay man become one of the most successful founders of our time and continue to pursue happiness.
Congrats
@sama
!
@_thomasholland
@pnpmjs
@turborepo
We wanted something that allowed us to iterate on the underlying toolset and pivot if needed. NX's tooling was a little too heavy-handed for us and didn't allow the flexibility that
@turborepo
does. Hulu also is built with
@nextjs
so roadmap alignment from
@vercel
is huge for us
ICs focus a lot on mentorship but sponsorship is equally as important.
If you're an IC and see a coworker:
• Going above and beyond to solve a problem for you or your peers
• Communicating clearly and empathetically
• Sparking joy in otherwise mundane tasks
TELL THEIR
I was a
@tailwindcss
holdout for years and have tried almost every other styling alternative.
I eventually came back to Tailwind and can say with a good degree of confidence that all these comments made by Nue.js are false.
Reasons why in 🧵