The Changelog: Software Development, Open Source - Connecting the dots in public (Interview)
Episode Date: November 5, 2021Today we're joined by Shawn "swyx" Wang, also known as just "swyx" — and we're talking about his interesting path to becoming a software developer, what it means to "learn in public" and how he's be...en able to leverage that process to not only level up his skills and knowlege, but to also rapidly advance his career. We cover Swyx's recent writing on the light and dark side of the API economy — something he calls "living above or below the API," his thoughts on Cloudflare eating the cloud by playing Go instead of Chess, and we also talk about the work he's doing at Temporal and how's taking his frontend skills to the backend.
Transcript
Discussion (0)
Welcome back. This is The Change Law. We feature the hackers, the leaders, and the innovators of the software world.
Today, we're joined by Sean Swicks Wang, also known just as Swicks, and we're talking about his interesting path to becoming a software developer,
what it means to learn in public, and how he's been able to leverage that process to not only level up his skills and knowledge, but to also rapidly advance his career.
We also cover Swicks' recent writing on the light and dark side of the API economy, something he calls living above or below the API, his thoughts on Cloudflare eating the cloud by playing gold instead of chess, and we also talk about the work he's doing at Temporal and how he's taking his front-end skills to the back-end. Keep it fast and simple. Get $100 in credit at leno.com slash changelog. Our bandwidth is provided by Fastly.
Learn more at fastly.com.
And get your feature flags, pop up LaunchDarkly, get a demo at launchdarkly.com.
This episode is brought to you by our friends at Fly.
Fly lets you deploy your apps and databases close to your users in minutes. You can run your Ruby,
Go, Node,
Deno, Python, or
Elixir app and databases all
over the world. No ops required.
Fly's vision is that all apps should run
close to their users. They have generous free
tiers for most services, so you can easily
prove to yourself and your team
that the Fly platform has everything you need
to run your app globally.
Learn more at fly.io slash changelog and check out the speed run and their excellent docs.
Again, fly.io slash changelog or check tracking your work for years. Well, you've been learning in public for years.
So I've been, I guess, watching you learn.
But we've never had you on the show.
So welcome to The Change Log.
Thank you.
Long time listener.
First time guest, I guess.
Yeah.
Happy to have you here.
Very excited to have you here.
So tell us a little bit of your story because I think it informs the rest of our conversation.
We're going to go somewhat deep into some of your ideas, some of the dots you've been connecting as you participate and watch the tech industry.
But I think for this conversation, it's probably useful to get to know you and how you got to be where you are.
Not the
long, detailed story, but maybe the elevator pitch of your recent history. You want to hook us up?
For sure. For those who want the long history, I did a two and a half hour podcast with Quincy
Larson from Free Code Camp. So you can go check that out if you want. The short version is I'm
born and raised in Singapore, came to the States for college and was totally focused on finance.
I thought people who were in the finance industry ruled the world.
They were like masters of the universe and graduated just in time for the financial crisis.
So not a great place to be.
But I worked my way up and did about six to seven years of investment banking and hedge funds, primarily trading derivatives and tech stocks. And the more I covered tech stocks,
the more I realized,
oh, actually,
A, the technology is taking over the world.
B, all the value is being created pre-IPO.
So I was investing in public stocks
after they were basically done growing.
And you're kind of just like
picking over the public remains.
That's not exactly true, but like-
I tell that to Shopify.
I know exactly, right?
And GitLab.
People do IPO and have a significant growth after,
but that's much more of a risk than at the early stage
where there's a playbook.
And I realized that I'd much rather be value creating
than investing.
So I changed careers at age 30.
I did six months of free code camp.
And after six months of free code camp,
I finished it and that's record time for free code camp, but I finished it and felt not ready. So I enrolled myself in a free code camp. And after six months of free code camp, you know, I finished it and that's record time for free code camp,
but I finished it and felt not ready.
So I enrolled myself in a paid code camp,
Full Stack Academy in New York
and came out of it working for Two Sigma
as a front-end developer.
And I did that for a year
until Netlify came along
and offered me a DevRel job.
And I took that
and that's kind of been my claim to fame.
That's what most people
know me for, which is essentially being a speaker and a writer from my Netlify days, from speaking
about React quite a bit. I joined AWS in early 2020, lasted a year. I actually was very keen on
just learning the entire AWS ecosystem. A front-end developer approaching AWS is a very intimidating task.
But Temporal came along
and now I'm head of developer experience at Temporal.
It's an interesting path.
I love the...
We're obviously huge fans of Free Code Camp
and Quincy and all the work he's done
and the rest of the team has done
to make Free Code Camp literally free globally.
So I love to see...
I really just...
It makes me super happy inside
to know just like how that work impacts real people. Like you see things happen out there
and you think, oh, that's impacted. Then like you really meet somebody. And one, you said you're a
long time listener. So, and now you're on the show. So I like it just really like having been
in the trenches so long and just see all this work over time pay off, just makes me really
believe in that, that whole slow and steady,
keep showing up, do what needs done,
and eventually things happen.
And I just love that.
Yeah, there's an infinite game mentality to this.
But I don't want to diminish the concept of free.
So it bothers me a little
because Quincy actually struggles a lot
with the financial side of things.
He supports millions of people on like a 300K budget.
300K.
If every single one of us
who graduated free CodeCamp
and went on to a successful tech career
actually paid for our free CodeCamp education,
which is what I did.
We started like the hashtag.
It hasn't really taken off.
I started a hashtag called pay it backwards.
Like, just go back once you're done.
And once you can afford it,
just go back and pay what you thought it was worth. For me, I paid 20k. And I hope that everyone who graduates
Free Code Camp does that to keep it going. Well, I mean, why not? I also say one thing, which is
the important part of being free is that I could do it on nights and weekends and take my time to
decide if I want to change careers. So it's not just a free replacement to boot camps. It actually is an async, self-guided, dip your toe in the water, try before you buy type of thing for people who
might potentially change their lives. And that's exactly what happened for me. I kept my day job
until the point where I was like, okay, I like enough of this, but I'm still not good, but I
still like, I like enough of this that I think I could do this full time. I like to pay it backwards.
Hashtag, I wish it had more steam, I suppose.
We should throw some weight behind that, Adam.
See if we can...
Well, you know, you think about Lambda School, for example,
and I don't want to throw any shade by any means
because I think what Austin has done with Lambda,
he's been on Founders Talk before we talked deeply
about this idea of making a CS degree cost nothing,
and there's been a lot of movement in that front there.
But, you know, you essentially go through a TLDR of Lambda
is you go through it and you pay it after you get a job
if you hit a certain criteria and you pay it based upon your earnings.
So why not, right?
Why not have a program like that for Free Code Camp?
Not that you actually have to commit to it, but that it's a way.
I love that you paid that back and you made it an avenue,
an idea of how it could pay back Free go camp despite the commitment not being there.
Right. Yeah. I mean, and Quincy is very dedicated to it being voluntary.
He thinks that people have different financial situations. I don't have kids, so I can afford a bit more.
So people should have that sort of moral obligation rather than legal obligation.
I should mention that Lambda School is currently being accused of some fairly substantial fraud
against its students.
Oh, really?
Yeah, actually, it just came out
like two days ago.
I saw that news too on Monday.
Yeah, it's not evidence in the court of law.
It's one guy digging up dirt.
Let's kind of put this in perspective.
But still, it's very serious allegations
and it should be investigated.
That said, the business of changing careers,
the business of teaching people to code,
and this is innovation of ISAs, income share agreements, where it actually makes financial sense for people to
grow bootcamps and fund bootcamps. This is something I strongly support. Whether or not
it should be a venture funded thing where you try to grow for 10x growth every year. Probably not.
So after Free Code Camp, you didn't feel quite ready. So you did do a bootcamp.
Did you feel ready after that?
Yeah. I did a reflection, by the way, so you did do a boot camp. Did you feel ready after that? Yeah.
I did a reflection, by the way, of my first year learning code.
So people can look it up.
It's called No Zero Days, My Path to Learning to Code.
And I think I posted it on Hacker Noon.
And doing everything twice actually helped me a lot.
Because before I came into my paid boot camp, I had already spun up some React apps.
I already started to mess with Webpack.
And I knew enough that I wasn't understanding it very much.
I was just following instructions.
But the second time you do things,
you have the space to really try to experiment,
to actually read the docs,
which most people don't do, right?
And actually try to understand
what the hell it is you're doing.
And I felt that I had an edge over the other people in my bootcamp because I did six months of free code camp prior.
So this other thing that you do, which not everybody does, is this learning in public
idea. And you have this post learning in public, you call it the fastest way to learn,
or the fastest way to build your expertise network and second brain. I'm not sure what
the second brain is. So help us out with that one. But also why is learning in public faster than learning in private?
Yeah, this is a reflection that came from me understanding the difference qualitatively
between why I'm doing so well in my tech career versus my finance career. In finance,
everything is private, meaning the investment memos that I wrote, the trade ideas that I had,
they're just for my company.
They're intellectual property of my company.
In fact, I no longer own them.
Some of my best work has been in that phase
and it's locked up in an email inbox somewhere.
I'll never see it again.
And that's because tech is a fundamentally open
and positive sum industry
where if you share things, you don't lose anything.
You actually gain from sharing things.
Whereas in finance, it's a zero-sum battle against who's got the secret first and who can act on it first and i think when you're in
tech you should exploit that i think that we have been trained our entire lives to be zero-sum from
just like the earliest days of our school when we learn we keep it to ourselves we try to pass the
test try to get the best scores try to bet the best jobs the best colleges and all that because
everything's positional like you have to win for you For you to win, others have to lose. But I don't see tech in that
way, primarily because tech is still growing so fast. There's multiple ways for people to succeed.
And that's just the fundamental baseline. You layer on top of that a bunch of other psychological
phenomenon. So I've been really fascinated by this, by like why it is so effective so first of all you have your skin in the game meaning that a lot of times when your names on
the blog post out there or your names on a talk that you gave your face is there and people can
criticize you you're just incentivized to learn better instead of just like oh i'll read this and
then i'll just try to remember it and no it doesn't really stick as much so having skin in the game
really helps yeah when you get something wrong in public,
there are two effects that happen.
First is people will climb over broken glass
to correct you
because that's how the internet does.
There's a famous XKCD comic
where like, you know,
I can't go to bed yet.
Why?
Someone's wrong on the internet.
I have to correct them.
Right.
So you really incentivize,
people incentivize to fix your flaws for you.
That's fantastic.
If you have a small ego
i'm gonna say that requires thick skin yeah exactly so honestly like that and that's a
barrier for a lot of people they cannot get over this embarrassment what i always say is you can
learn so much on the internet for the low low price of your ego i mean get over that you can
learn so much just because you don't care like and the way to get over it is just realize that
the the version that you put out today is the version that you should be embarrassed about a year from now, because that shows that you've grown, right?
So you divorce your identity from your work and just let people criticize your work.
It's fine because it was done by you before you knew what you know today.
And that's totally fine.
And then the second part, which is that once you've gotten something wrong in public, it's just so embarrassing that you just remember it in a much clearer fashion.
This builds a feedback loop
because once you started doing this
and you show people that you respond to feedback,
then it builds a feedback expectation
that you'll do the next thing
and people respond to the next thing.
It becomes a conversation
rather than a solitary endeavor
of like you just learning the source material.
So I really like that viral feedback loop.
It helps you grow
your reputation because this is not just useful to people who are behind you. A lot of people,
when they blog, when they write, when they speak, they're talking down. They're like,
I have five years experience in this. Here's the intro to whatever. Here's the approach to
beginners. They don't actually get much out of that. That's really, really good, by the way,
for beginners. That's really important that experts in the field share their knowledge. They don't see this blogging or this talk speaking as a way to level up in terms of
speaking to their experts in their field. So, but I think it's actually very helpful. So you can be
helpful to people behind you. You can be helpful to people around you, but you can actually be
helpful to people ahead of you because you're helping to basically broadcast or personalize
their message. They can check their messaging and see if you're getting this wrong, then they're
getting something wrong on their end, docs-wise or messaging-wise. That becomes a really good
conversation. So I've interacted with mentors that way. That's much more how I prefer to interact
with my mentors than like, hey, DMing, like say, hey, can you be my mentor, which is an unspecified, unpaid, indefinitely long job,
which nobody really enjoys. I like sort of project-based mentorship. I like occasional
mentorship. I really think that that develops when you learn in public.
I heard it said that today is the tomorrow you hope for.
Wow.
Because today is always tomorrow at some point right like like today is the day and today
you were hoping for tomorrow to be better i think by definition today is not tomorrow no today is
tomorrow is the tomorrow that you hoped for meaning like seize your moment like it's here
carpet gotcha yeah kind of kind of feel like that i feel a little shady like obviously i agree but
also i feel a little shady whenever you venture into this territory because then it becomes very motivational speaking wise. And I'm not about
that. Kind of. But I think it's like, you're in the right place. Keep kind of showing up where
you need to be, that kind of thing. But I think your perspective, though, comes from the fact
that you had this finance career and a different perspective on the way work and the way a career
progressed. And so you have a dichotomy essentially between like two different worlds,
one where it's private and one where it's open.
That to me is pretty interesting how you're able to tie those two together
and see things differently.
Because too often, sometimes in tech, especially staying around late at night,
correcting somebody on the internet, you're just steeped so deeply in one industry
and you have like one almost a bubble
around you right you have one lens for which you see the world and you've been able to have
multi-faceted perspectives of this world as well as others because of a more informed career path
when you talk about finance as a zero-sum game i feel like there's actually being moves now
to actually open up about finance as well i'm not sure if either of you have tracked kind of the celebrity rise of Cathie Wood and ARK Invest and a lot of the moves that
she's doing in public. They actually, you know, they're an investment fund and they will actually
publish their moves at the end of every day. Like we sold these stocks, we bought these stocks
and people laughed at that for a while, but because she's been successful with early on
Bitcoin or early with Tesla,
she's very much into growth stocks because of that.
People started to follow her very closely and just emulate.
And when she makes moves now,
it makes news like on a lot of the C spans and the C span,
the Congress one,
what's the one that's the finance one?
CNBC.
CNBC and not C span.
And so she's very much learning in public like she's
making her moves public she's learning as she goes and to a certain degree it's paid off paid
dividends in her career now i'm not sure if like everyone's doing that when you look at crypto
investors like okay pseudonymous but a lot of that stuff public ledgers so there's moves that are
being made but in public there as well so I wonder if eventually some of that mentality will change.
What do you think about that?
It's definitely changed for, there's always been celebrity investors and people have been
copying the Buffett portfolio for 30 years.
So none of that is new.
What is new is that Cathie Wood is running an ETF and just by way of regulation and by way of, I guess, innovation, she does have to report
those changes.
So mutual funds, hedge fund holdings, these have all been public and people do follow
them.
And you're always incentivized to talk your book after you've established your position
in your book.
Right, but you establish it first.
So none of that has changed.
But I think, yeah, Cath Kathy has been leading an open approach.
Is it the rate of disclosure perhaps is what's new?
Because it seems like it's more real time than it has historically.
Or maybe she's like...
I mean, she's running an ETF, which is new, actually.
Most people just run mutual funds or hedge funds.
And those are much more private.
The other two I'll probably shout out is Patrick O'Shaughnessy,
who's been running a sort of, I guess, fund of funds.
And he's been fairly open he actually adopted the learning public slogan in the finance field independently
of me and then finally the other one is probably Ted Seides who who is on the institutional investor
side of things so he invests for universities and teachers pensions and stuff like that so all these
people yeah they've been leading that that I'm not sure if it's like spreading or they've just been extraordinarily successful
and celebrity because of it.
This idea of in public is happening.
Like you see people to like copy AI
is building in public.
This idea of like, you know,
learning in public or building in public
or exiting in public,
whatever the public might be,
like it's happening more and more.
And I think it's definitely like a
similar to the way that open source moved around.
Like it's open. So it's visible to everyone. There is no, there's no barrier to see what's
happening, whether it's positive or negative with whatever it is in public. They're leveraging this
to their advantage because it's basically free marketing and that's how the world has evolved
to use social media. Social media is inherently been public because it's social. Aside from
Facebook being gated with friends and stuff like that, Twitter is probably the most primary example of that.
Maybe even TikTok where if I'm a creator on TikTok, I almost can't control whom sees my content.
I assume it's for the world and theoretically controlled by the algorithm because if I live in Europe, I may not see content in the U.S.
And the algorithm says no or whatever.
But it's almost like everybody's just in public in those spaces and they're leveraging it to their advantage, which is an interesting place to be in the world.
There was never an opportunity before.
You couldn't do it at that level, at that scale, 10 years ago, 20 years ago.
It's a now moment.
So can you give us an example of something learned in public?
Like, do you basically mean like blog
when you've learned something or ask questions?
What does learning in public actually mean
when it comes to, say, take a technology,
maybe you don't understand Redux.
I could raise my hand on that one.
How could I learn that in public?
There are a bunch of things that you can try.
You can record a live stream
of you going through the docs
and that's useful to the maintainers understanding, hey, is this useful
or not? And that's immediately useful, right? It's so tangible. So I actually have a list. I have a
talk about this on the blog post as well. Just a suggestion of things that you can do. It's not
just blogging. You can speak, you can draw comics. Cheat sheets are really helpful. So I think Amy Hoy did a
Ruby on Rails cheat sheet that basically everyone has printed out and stapled to their wall or
something. And if you can do a nice cheat sheet, I think that's also a way for you to internalize
those things that you're trying to learn anyway. And it just so happens to benefit others. So I
really like this idea that whatever content you're doing, it's learning exhaust. It's a side effect
of you learning and you just happen to put it learning exhaust. Like it's a side effect of you learning.
And you just happen to put it out there.
You understand what formats work for you
because you have abnormal talents,
especially if you can draw, do that.
People love developers who can draw.
And then you just put it out there
and you win anyway, just by doing it.
You don't need an audience.
You get one if you do this long enough,
but you don't need an audience right away.
And you win whether or not people participate with you.
It's a single player game
that can become a multiplayer game.
Yeah, specifically for Redux,
go through the source code or go through the docs,
go to the sample app,
do a simple little YouTube video on it.
Depending on the maturity,
you may want to try to speak at a meetup or whatever.
You don't have to make everything a big deal.
I'm trying to remove the perception from people
that everything has to be like this big step of like,
oh, you know, it has to be like
top of hacker news or something.
No, it could just be helpful for one person.
I often write blog posts just for like,
with one persona in mind.
I mean, I don't name that person,
but if you focus on that target persona,
actually often it does better than
when you try to make some giant thesis
that like shakes the world
yeah too often we don't move because we feel like the weight of the move is just too much like it's
like oh how many people have to read this for me to make this a success for me like you mentioned
it's a learning exhaust and this exhaust that you put out before has it been helpful really to you
like is that exhaust process very helpful to you is that sort of ingrained the learnings that you've just gone through to sort of like synthesize?
Okay, I learned. Here's actually what I learned. Yeah. This is an opportunity to tie it into that
second brain concept, which maybe you wanted to talk a little bit about. Everything that you write
down becomes your second brain. At this point, I can search Google for anything I've ever written
on something and actually come up on my own notes on whatever I had.
So I'm not relying on my memory for that.
Your brain is your human brain.
Your first brain is not very good at storage and it's not very good at search.
So why not outsource that to computers?
And the only way to do that is you have to serialize your knowledge down into some machine readable format.
That's probably search.
I do it in a number of places.
I do it right now.
I do it across GitHub and my blog
and a little bit of my Discord.
Any place where you find,
like, you know, you can store knowledge.
I think that's a really good second brain.
And for Jared,
I'll give you an example, actually,
I was going to bring up,
which is when I was trying to learn React and TypeScript,
like, this goes back,
all the way back to my first developer job.
Like, I was asked to do TypeScript,
even though I'd never done it before.
And honestly, like, my team lead was just like, you know TypeScript, right? Like you're a professional
reactive, you have to know TypeScript. And I actually said no. And I just learned, I started
learning on day one. And what I did was I created the reactive TypeScript cheat sheet, which
literally was just copy pasteable code of everything that I found useful. And I wish I knew
when I was starting out. And I just built that over time.
And I've done that.
I mean, that thing's been live for three years now.
It's got like 20,000 stars.
I've taught thousands of developers
from Uber, from Microsoft,
React and TypeScript.
And they've taught me
every time they send in a question or PR.
I think it's a very fundamental way of interacting,
which is learning in public.
But specifically, this one is open source knowledge, like bringing the power of open source which is learning in public, but specifically this one
is open source knowledge, like bringing the power open source, not just to code, but to everything
else. And I think that's a fundamental feedback loop that I've really enjoyed as well. This episode is brought to you by our friends at Teleport.
With Teleport Access Plane, you can quickly access any computing resource anywhere.
Engineers and security teams can unify access to SSH servers, Kubernetes clusters, web applications, and databases across all environments.
Teleport is open core, which you can use for free, and it's supported by their cloud-hosted version, which lets you forget about configuring, updating, or managing Teleport.
The Teleport team does all that for you.
Your team can focus on your projects
and spend less time worrying about infrastructure access.
Try Teleport today in the cloud,
self-hosted, or open source.
Head to goteleport.com to learn more and get started.
Again, goteleport.com.
And by our friends at Square.
Square is the platform that sellers trust.
There is a massive opportunity for developers to support Square sellers by building apps for today's business needs. And I'm here with Shannon Skipper, head, like our restaurants app. But there are so many different sellers, tuxedo shops, florists who need specific solutions for their domain. And so we have a Node SDK written in TypeScript that allows you to access all of the backend APIs and SDKs that we use to power the billions of transactions that we do annually. And so there's
this massive market of sellers who need help from developers. They either need a bespoke solution
built for themselves on their own node stack, where they are working with Square Dashboard,
working with Square Hardware, or with the e-com, you know, what you see is what you get builder,
and they need one more thing, they need an additional build. And then finally, we have
that marketplace where you can make a node app
and then distribute it.
So it can get in front of millions of sellers
and be an option for them to adopt.
Very cool.
All right.
If you want to learn more,
head to developer.squareup.com
to dive into the docs, APIs, SDKs,
and to create your Square Developer account.
Start developing on the platform sellers trust.
Again, that's developer.squareup.com. account start developing on the platform sellers trust again as developer square up calm So one of the things I appreciate about you, Swix, is how you are always thinking, always
writing down what your thoughts, you've been analyzing, watching and participating in this
industry now for a while.
And you've had some pretty, I think, insightful writings lately.
The first one I want to talk about is this API economy post,
the light and dark side of the API economy.
And you say developers severely underestimate the importance of this to their own career.
So I figure if that's the case, we should hear more about it, right?
Hey, happy to talk about it.
So what is the API economy?
The API economy is developers reshaping the world in their image.
Very bold statement, but kind of true in a sense that there is now an API for everything.
API for cards, API for bank accounts, API for text, API for authentication, API for
shipping physical goods.
There's all sorts of APIs.
And what that enables you to do as a developer is you can call an API. As long as you know REST
or GraphQL these days, you know how to invoke these things and make these things function
according to the rest of your program. You can just fit those things right in. They're a very
powerful thing to have because now the cost of developing one of these services just goes down dramatically because there's another company doing that as a service for you.
And I wrote about it mainly because at Netlify, we were pitching serverless, we're pitching static hosting, and we're pitching APIs.
That's the A in JAMstack.
But when I Google API economy, all the search results were terrible.
There's just horrible SEO,
bland meaningless stuff
that did not speak to developers.
It was just speaking to people
who like tech buzzwords.
So I wrote my own version.
The people who coined it
at Anderson Horowitz, by the way,
do not still to this day,
do not have a blog post on the API economy.
They just have one podcast recording,
which nobody's going to listen to. So I just wrote my version.
You're saying people don't listen to podcasts or what?
No, like when people are looking up a term, they're like, what is this thing?
And you give them a podcast. They're not going to listen, sit down and listen for 46 minutes
on a topic. They just want like, give me it in one paragraph, give me like a visual
and I'm going to move on with my day. So yeah, whenever I see an opportunity like that, I
try to write it up.
And that's the light side.
A lot of people talk about the light side,
but because it's a personal blog,
I am empowered to also talk about the dark side,
which is that there are,
as much as it enables developers,
it actually is a little bit diminishing the status
of human expertise and labor and talent.
So we can talk a little bit about that, but I'm just going to give you time to respond. I'm over here thinking now that
you're not at Netlify, I'm curious, this is like tangential, but what's your take on Jamstack now?
I know you were a professional salesman there for a while, but it seems like Jamstack, we've covered
it for years, marketing term, something we've already been doing, but maybe taking it to the next level.
There's lots of players now, Netlify, Vercel, et cetera.
And yet I don't see much out there in the real world beyond the people doing demos.
Here's how to build a blog.
Here's how to do this.
Here's my personal website.
And I'm just curious.
I'm not like down on Jamstack,
but I just don't see it manifesting in the ways that people have been claiming it's going to.
And maybe we're just waiting for the technology to catch up.
I just love to hear what you think about it now.
Yeah, I think that you're maybe not involved in that world.
So you don't see this, but real companies are moving on to Jamstack.
And the phrasing that I like is that Jamstack has gone mainstream that it's not even worth talking about these days
because it's just granted
that that's an option for you.
So paypal.me is on the Jamstack.
There's large e-commerce sites.
Basically anything that decouples
your backend from your frontend
and your frontend is statically hosted,
that is Jamstack.
So I actually am blanking on the name,
but if you go check out the recent Jamstack Conf, they have a bunch of examples of people who not only moved to Jamstack,
but obviously moved to Netlify where they're trying to promote themselves. So yes, it's true
that I'm no longer a professional spokesperson, but it's not true that Jamstack is no longer
being applied in the enterprise because it is getting adoption. It's moving on to that boring
phase where people don't talk about it.
One thing I'll say is that something,
a thesis that I've been pursuing
is that Jamstack is in its end game.
And what do I mean by that?
There's a spectrum
between the previous paradigm
that Jamstack was pushing back on,
which is the all WordPress,
server render everything paradigm.
And then Jamstack is,
you know, pre-render everything.
And now people are filling in.
I'm going to put my hands in the middle,
in the screen right now, in the Zoom screen.
Now people are filling in that gap
between fully dynamic and fully static, right?
So that's what you see with Next.js
and Gatsby moving into serverless rendering,
partial rendering or incremental rendering.
And there's a full spectrum of things,
of ways in which you can optimize your rendering
for the trade-offs of updating your content versus getting your data or your content delivered
as quickly as possible.
There's always some amount of pre-compilation that you need to do.
And there's always some amount of dynamicism that you have to do that cannot be pre-compiled.
So now there is a full spectrum between those.
Why I say it's the end game is because that's it.
There's nothing else to explore.
It's full dynamic, full static.
Choose some mix in the middle.
That's it.
It's boring.
Hasn't that always been the case, though?
Hasn't there always been sites that server-side render some stuff and pre-render other things?
And we cache, we pre-render.
Some people crawl their own websites once.
And I don't know.
It seems like maybe just a lot of excitement around a lot of
things that we've been doing for many years. So first of all, those are being remade in the
React ecosystem of things. Sure. Which a lot of us lost when a lot of the web development industry
moved to React. And so that's an important thing to get back. I mean, I agree. That's something
that we've always had pre-rendering and service like that. Caching at the CDN layer, we've always had that.
There's some differences.
So if you understand Netlify
and why they're trying to push
distributed persistent rendering, DPR,
it's because the caching is a hard problem
and people always end up turning off the cache
because the first time you run into a bug,
you're going to turn off the cache
and the cache is going to stay off.
So the way that Netlify is trying to fix it is that we put the cache in git essentially that git is the source of truth
instead of your you know some other source of truth distributed somewhere between your cdn
and your database and somewhere else no everything's in git i'm not sure if i represented
that well to be honest good thing you don't work for netlify anymore we're not holding it to the
netlify standard right exactly all i can say that to me me now, it's a good thing in the sense that it's boring. It's a good kind of boring
in a sense of like, okay, there's a spectrum. There's all these techniques. Yes, there were
previous techniques, but now these are the new hotness. Pick your choice. I can get into the
technical discussion of why this technique differs from the others. But also, is it that interesting
unless you're evaluating for your site? Probably not. Well, it does play into this API economy though,i economy though right because when you're full jam stack then like the a is your most important
thing and when the a is owned by a bunch of companies that aren't yours like there's a little
bit of dark side there right all of a sudden now i'm not necessarily the proprietor of my own
website and to a certain degree because i have these contracts i may or may not get cut off we
have there's a lot of concerns when everybody
else is a dependency to your website. Yeah. So I don't consider that a dark side at all.
No, I'm saying to me, that seems like a dark side.
Yeah, sure. This is the risk of lock-in, right? That you're handing over your fate
and your uptime to other people. So you have to trade that off versus can you build this yourself?
And are you capable of doing something like this? And are you capable of maintaining it? And that is a very high upfront cost versus the variable cost
of just hiring one of these people to do it for you as a service. So what I would say is that the
API economy is a net addition because you as a startup, the startup cost is very little. And if
you get big enough where it makes sense for you to build in-house, go ahead.
But this is a net new addition for you to turn fixed costs into variable costs and start with
a small amount of investment. Like I can hire, like Algolia was started by like three PhDs in
search. And I can hire them for sets to do search on my crummy little website. I would absolutely
do that every single day until I get to a big enough point where I cannot depend on them anymore
and I have to build my own search.
Fine, I'll do that.
But until then, I can just rely on them.
That's a net new addition, man.
100%.
So what then do you think is the darker side?
You mentioned it, but put a finer point on it.
Yeah.
The dark side is that there are people,
like when I call an Uber ride,
Uber is an API for teleportation, essentially.
I'm here, I want to go there.
I press a button, a car shows up.
I get in the car, get off, I'm there, right?
What this paper is over
is that the APIs are calling real actual humans
who are being commoditized.
I don't care who drives the car.
I really don't.
I mean, they may have some ratings, but I kind of don't care.
That was the case with taxis, though, wasn't it?
That was the case with taxis, for sure.
But there's a lot of people living below the API who are economically constrained.
And people who live above the API, developers, have all the upside, essentially.
Because these developers are unique.
The labor is commoditized.
My DoorDash pickers,
my Instacart delivers,
all these are subsumed
under the API economy.
They're commodities forever.
They know it.
And there's no way out for them
unless they become developers themselves.
There's a class system developing
below and above the API.
And the moment we can replace these people under the API with robots, you better believe
we'll do that, right?
Because robots are way cheaper and they complain less, they can work 24 hours, all that stuff.
So that's the dark side, which is, yep, as a developer now, fantastic.
I can control most parts of the economy with just a single API call.
As a startup founder, I can develop an API for literally anything and people will buy it.
The downside is human talent is being commoditized and I don't know how to feel about that. I think
people are not talking enough about it and I just want to flag it to people.
So dark side can mean a couple of things. It could mean one, it could mean literally bad.
Dark is synonymous with bad.
Or dark as in shady.
And we're not sure.
It's obscured in terms of what's happening.
And so let's use an Instacart or a Dasher to use their terminology.
I happen to be a DoorDash user, so I know they're called Dashers.
That's the only reason I know that.
It's not a downplay.
It's just simply what the terminology is.
You could say it's below the API, but I wonder if you've spoken with these people or people
that live in what you call below the API, because I would imagine they're not doing
that because they're being forced.
Like it's an opportunity.
Oh, yeah.
For them.
And I remember when I was younger and I had less opportunity because I had less above
the API, so to speak, talent, talent you know but i do agree there's a
class here but i wonder if it's truly bad you know the dark is truly bad if it's just simply obscure
in terms of like how it's going to play out this is about upside like they will never get to that
six figures income level with this thing not that job no it's really about the class system which is
the dark side you don't want to have society splinter into a bunch of like a servant class and like a, whatever the non-servant class is. It's also about upside.
Like I don't see a way for these people to break out unless they, they really just take a hard
stop and just go, you go to a completely different career track. Right. Here's where I have a hard
time with that. I just, I'm not pushing back on that. You're wrong. I'm just wondering more deeply.
Sure. I imagine at one point in my life, I was a door dasher. I washed dishes.
I did definitely unique jobs at a young age before I had skill.
And so the path is skill.
And as long as we have a path to skill, which you've showcased through free code camp in your path,
then I think that dark side is just simply shady and not bad.
Okay.
And I'm just trying to understand because I was truly a door dasher before door dash was available.
I washed dishes, delivered papers.
I had servant-level things.
I was literally a server at a restaurant before.
And I love doing that kind of work.
But my talents have allowed me to go above that specific job and maybe even the pay that came with that job.
I served in the military before. Got paid terrible dollars, but I love the military.
I love the United States military.
It's great.
And I love everybody who served in our military.
But the point is, I think the path is skill.
And as long as we have a pathway to skill and jobs that can house that skill and leverage
that skill for to create new value for the for the world, I just wonder if it's just
necessary for society
to have, I suppose, above and below API things.
Until we have all the robots,
then there is nobody underneath.
At that point, it's all robots under the API.
Yes, and that is true in a lot of sense, actually.
Like farming is mostly robots these days, right?
You don't have individual.
You do have individual farmers,
but they're much less than they used to be.
Yeah.
I don't know what to say about that.
Yeah, sure, shady or dark.
I think it's just, there's no career track.
You have to go break out of that system yourself.
Thank God there's a way to do it.
But like back in the day,
you used to be able to go from the mailroom to the boardroom.
I see.
I see these like stories of like people used to be janitors at schools,
become the principal.
Companies used to invest in all their people and bring them up. But now we're just hiring your time.
And then if you want to break out of that system, good luck, you're on your own. I think that lack
of upward mobility is a problem. And you're not going to see it today. It's a slow moving train
wreck. But it's going to happen where you have society split in two and bad things happen because
of it. I mean, I can agree with that part there, that there definitely is no lateral
lateral movement from Dasher to CEO of DoorDash.
It's just not going to happen.
You know, VP of engineering at DoorDash. Yeah, there's no, I think because there is no path,
the path would be step outside of that system because that system doesn't have a path. I can
agree with that for sure.
Yeah. I mean, the good news is that we are creating,
there are paths.
It's not like a path from X to Y through that system,
but there are other alternate paths
that we are creating and investing in.
And as well, as the API gets pushed further and further down
in terms of reachability, right?
We now have more and more access to those things.
It's easier now today than it ever has been because of what we're talking about to be
the startup founder, to be the person who starts at CEO because their company has one
person in it and they're the CEO, and to succeed in that case and become the next DoorDash.
So there are opportunities to get out.
It's not a clear line.
And yeah, it takes some, perhaps mentorship,
perhaps ingenuity, like a lot of the things that it takes to succeed anyway.
I'll give a closing note for developers who are listening, because you're already a developer.
So the analogy is, if you're above the API, you tell machines what to do. If you're below the API,
machines tell you what to do. So here's the developer analogy, which is there's another
division in society, which is the Kanban board. If you're below the Kanban board, the Kanban board tells
you what to do. If you're above it, you tell the developers what to do. So how do you break out of
that class division? I'll leave it up to you, but just keep in mind, there's always layers.
I love that. I love the discussion around it, but I'm also thankful you broached the subject
by way of blog posts, because I do believe that this is interesting to talk about and people should talk about it for sure.
Because it provides introspection into, I guess, potentially something you don't really think about, like do I live below or above the API?
I've never thought about that in that way until this very moment talking to you so i love that this episode is brought to you by LaunchDarkly and their upcoming Trajectory Conference.
Software powers the world and LaunchDarkly empowers all teams to deliver and control their software.
DevOps and feature management are reimagining how we build and release new products.
On November 9th and 10th, LaunchDarkly is hosting Trajectory Conference 2021,
a two-day event for software innovators who want to break orbit, not systems.
Trajectory is a fully virtual conference that focuses on the technology, the people, and
the processes that continuously deliver better user experiences and more powerful software.
Registration is free right now at TrajectoryConf.com.
Again, that's TrajectoryConf, C-O-N-F dot com. AWS, Go, not the language, the game Go. I know very little about the language and I know even less about the game.
And Chess, how Cloudflare is approaching things versus how
AWS and Google and others are. Give us the
TLDR of that post and then we'll discuss.
The TLDR of that post is that Cloudflare is trying to become the fourth major cloud after
AWS, Azure, and GCP.
The way they're doing it is fundamentally different than the other three. And the more I've
studied them, I basically observed Cloudflare for the entire time since I joined Netlify.
Netlify kind of is a competitor to Cloudflare. And it's always this uncomfortable debate between
should you put Cloudflare in front of Netlify and Netlify itself is a CDN?
Why would you put a CDN in front of another CDN?
Oh, because Netlify charges for bandwidth and Cloudflare does not.
That's as simple as that.
And then there's DDoS protection, all that stuff.
Very complicated.
Go look up the Netlify blog post on why you should put not Cloudflare.
Why you should not put Cloudflare in front of Netlify and decipher yourself.
But Netlify now taking on AWS S3.
S3 is like a crown jewel of AWS.
Like this is like the eighth wonder of the world.
It provides 11 nines of durability.
Like nothing less than the sun exploding
will take this thing down.
You know what's funny is I don't even consider us
at Changelog AWS customers.
I don't even think of us that way.
But of course we use s3
because that's what you do yeah so yeah we're very much aws customers even though i barely even think
about it because s3 is just like this thing that of course you're going to use there's been a recent
history of people putting out s3 compatible apis just because it's so dominant that it becomes the
de facto standard backblaze did it recently but cloudflare putting out R2 and explicitly saying you can slurp up the S3 data.
And by the way, here's all the cost benefit of AWS egress charges. That's what Matthew Prince
wrote about in his blog post. It's all totally true. Attacks a part of AWS that it cannot
compromise on and just comes at the top three clouds from a different way that they cannot
respond to. And so I always like these analogies of like how people play destruction games. I am a student
of destruction. I studied Ben Thompson and Clay Christensen and that entire world very quickly.
And so I thought this was a different model of destruction where you're essentially embracing
rather than trying to compete head on and wrapping around it is essentially what gold does versus
chess. And I like this always comparison,
like you're playing 2D chess, I'm playing 3D chess.
You're playing chess, I'm playing Go.
And so Cloudflare is playing Go by surrounding the S3 service
and saying, here is a strict superset.
You're already a consumer of S3.
Put us on and magically your costs get lower.
Nothing else about it changes,
including your data still lives in AWS
if you ever decide to leave us.
Or if you want to move to Cloudflare,
you just got to do the final step of cutting off S3, right?
Like that is a genius, brilliant move
that I think people don't really appreciate.
And it's something that I study a lot
because I work at companies
that try to become the next big cloud, right?
I worked at Netlify and a lot of people are asking like, can you build a large public company on top of another
cloud? Are second layer clouds viable? I think Vercel and Netlify are proving that partially it
is. They're both highly valued. I almost leave some info there. I don't know when this is go out.
Next week, probably.
Okay. Yeah. All right. So they're both highly valued.
And like, can they be like $100 billion companies?
I don't know.
It's like, we don't know the end states of cloud.
But I think people are trying to compete there.
And every startup, like I nearly joined Render.com as well.
Every startup that's trying to pitch a second layer cloud thesis
is always working under the shadows of AWS.
And this is the first real thesis that
I've seen that like, oh, okay, you not only can credibly wrap around and benefit, you can actually
come into your own as a fourth major cloud. So I'm going to stop there. There's so many thoughts
I have about Cloudflare. Yeah. So do you see that as R2 then? I think it's a brilliant move
as you described it. As I read your post, I started to appreciate, I think, the move more than I did when I first read about it. I was like, oh, they're just undercutting,
but it seems like they are doing more than just that. But do you think that this R2 then is a
bit of a loss leader in order to just take a whole bunch of AWS customers? Or do you think
there's actually like an economic, is it economically viable as a standalone service?
Or do you think Cloudflare is using it to gain customers?
What's your thoughts on their strategy of why?
This is the top question on Twitter and on Hacker News when they launch.
They are going to make money on this thing.
And the reason is because of all the peering agreements that they've established over the past five years.
As part of the normal business strategy of Cloudflare, they have peering agreements with all the ISPs.
Bandwidth is free for them.
For them in a lot of cases,
again, I have to caveat all this constantly
because I should note to people
that I am not a cloud or networking expert.
I'm just learning in public, just like the rest of you.
And here's what I have so far.
So please correct me if I'm wrong
and I'll learn from it.
But yeah, I mean, straight on, it's not a loss leader.
They plan to make money on it.
And the reason they can is because they've worked so hard
to make their cost structure completely different than AWS.
And they've been a
friend to all the other
ISPs rather than AWS consuming
everything in its own world. Now you're starting to see
the benefits of that strategy play out. And by
the way, this is just storage, but also
they have data store, also they have service compute
all following the same model.
So what do you think is a more likely
path over the next two years?
Cloudflare.
Prediction time.
Cloudflare steals just massive swaths of AWS customers
or AWS slashes prices to compete.
So I try not to do the prediction business
because I got out of debt from the finance days.
All I'm doing is now casting.
I think I observe what I'm seeing now.
I try to put up the clearest vision of it so that others can follow.
I think that it makes sense for them to new replicating the primitives of every other cloud service.
So they have, you know, 2017, they did service compute with Cloudflare workers.
2018, they did eventually consistent data store.
2019, website hosting.
That's the Netlify competitor.
2020, they did strongly consistent data store with durable objects. 2021, website hosting. That's the Netlify competitor. 2020, they did strongly consistent
data store with durable objects.
2021, object storage. What's next
on that list, right? Go onto your AWS
console and go shopping.
And instead of seven different ways to do async messaging
in AWS, probably
they're going to do one way
in Cloudflare. Unified API
or something like that. Yeah, they'll just look at AWS's
offerings, the one they like the best, and do that way, right? Yeah, just pick it up. Maybe the way to get a
prediction out of you, Swix, might be rather than directly predict, maybe describe how you win Go.
How you win Go. Yeah, what's the point of Go? How do you win Go? Because that might predict what,
you know, the hidden prediction, so to speak. Okay, for listeners who don't know Go, let me
draw out the analogy as well.
So most people are familiar with chess.
Individual chess pieces have different values, different points, and they must all support each other.
Whenever you play chess, you need the rooks to support the knights to support the pawn, something like that.
Whereas in Go, you place your pieces everywhere, and they're all indistinguishable from each other.
And it's more about claiming territory.
And at the end of the day, that's how you win Go.
You claim the most territory compared to the others.
And it's never a winner-take-all situation.
Most likely, it's like a 60-40,
you've won 60% of the territory and your competitor has 40% of the territory.
That's more likely a mapping
of how Cloud is going to play out than chess,
where a winner takes all when they take the king.
There's no king in Cloud.
But there's a lot likely of territory claiming,
and Cloudflare is really positioned very well for that.
It's just part of the final realization I had at the end of the blog post.
And partially, how you take individual pieces of territory
is that you surround all the pieces of the enemy,
and you place the final piece, and you fill up all the gaps
so that the enemy is completely
cut off from everything else and is surrounded. And that's what R2 does to S3. It surrounds S3
and say, it's up to you to place that final piece. They call it Atari, by the way, which is the name
of the old gaming company, Atari. They have placed AWS S3 in Atari and it's up to the customers to
say, I'm going to place that final piece. I'm going to pay the cost of transferring all my data out of S3 and cut S3 off. And they
cut off all the remaining liberties. So how do you win in Go? You claim the most amount of
territory and you surround the pieces of the enemy.
Which, you know, if you thought maybe that was oxygen,
like the territory, you might suck the oxygen away from them so they can't live anymore
so to speak. And maybe you don't take it by killing it.
Maybe you sort of suffocate it almost.
Yeah.
If their space becomes small enough, if you take enough territory and it begins to shrink
enough, it's like a kind of like checkmate, but not.
Yeah.
So there's also a concept of sente in Go, which is that you make a move that the opponent
has to respond to, which is kind of like a check or checkmate in actually, no, just the check in chess. And right now, AWS doesn't
feel the need to respond. Cloudflare is not big enough. These are names to us, but let's just put
things in numbers. Cloudflare's market cap is 36 billion. AWS's market cap is 1.6 trillion.
That's Amazon's total market cap. Obviously, AWS is a subset of that. So your competitor is 40 times larger than you.
Obviously, call for it is incentivized to make a lot of noise and make themselves seem bigger than it is.
But until AWS has to respond, this is not real.
So as a developer, as a customer of potentially one or both of these, let's say you have a whole bunch of stuff on S3.
I'm asking you personally now, Swix, and R2 becomes available.
Is that a no-brainer for you? Or is there any reason not to use that?
You're just adding another vendor in your dependency chain. I think for anyone running
significant bandwidth, it is a no-brainer.
Yeah. So over the course of N months, where N equals when they launch plus a certain number,
I mean, I think this is going to end up eventually on Amazon's radar
to where it's like, it's going to start affecting some bottom lines
that important people are going to notice.
And so I just wonder, I mean, how much territory can Cloudflare grab
before there's a counter move?
It's going to be interesting to watch.
So Ben from Vantage actually did a cost analysis.
Vantage is a startup that is
made up of former AWS console people.
They're trying to build a better developer experience
on top of AWS. They actually did a cost analysis
on the R2 move, and
they said that there's probably about $100 billion worth
of revenue at stake
for Amazon. So if they start to
have a significant dent in that, let's say
40%, AWS will probably have to respond.
But until then, there's nothing to worry about. That's literally how it is in Amazon. You have
to see the numbers hit before you respond. Yeah. It hasn't even been a blip on the radar
at this point of the metrics that they're, the key metrics that the people are who are
important enough to care or watching. You said you started watching all of these CDNs. Of course,
you worked at Netlify. You take an interest in backends.
There's something you mentioned in the break
about frontenders versus backend
and where you've been directing your career,
why you're watching Cloudflare so closely,
what you're up to now with your work.
You want to go there?
Let's go there.
So if you track my career,
I started out as a frontend developer.
I was developing design systems.
I was working in Storybook and React and all that.
Then at Netlify, I was doing more serverless and CLI stuff.
At AWS, more storage and database and AppSync and GraphQL stuff.
And now at Temporal, I'm working on a workflow engine, pure backend.
I just went to KubeCon two weeks ago.
Nice.
What is a front-end developer doing at KubeCon?
New territory.
It's a front-end developer who realizes
that there's a career ceiling for front-end developers.
And it's not polite conversation.
And obviously there are exceptions
to front-end developers who are VPs of Eng,
front-end developers who are startup founders.
And actually, by the way,
there's a lot of VC funding
coming for front-end developers,
which is fantastic for all my friends.
They're all getting funded left, right, and center.
I feel left out.
But there is a career ceiling
in the sense that survey 100 VPs of Eng, how many of them
have backend backgrounds and how many of them have frontend backgrounds?
And given that choice, what's more likely for you in your long-term career progression?
Do you want to specialize in frontend or do you want to specialize in backend?
Different people have different interests.
And I think that you can be successful in whatever discipline you pick.
But for me,
I've been moving towards the backend for that reason.
Describe ceiling. What exactly do you mean when you say ceiling? Do you mean?
Career ceiling. Well, what's your terminal title?
Like your highest role or whatever. Highest salary, highest role, highest title.
Gotcha.
Like straight up, how many VPs of Eng and CTOs have backend backgrounds versus frontend?
Yeah. I mean mean just anecdotally
i would agree with you that it's probably eight or nine out of ten ctos have is that what you said
eight or nine yeah yeah yeah so there's obviously an economic reasoning for this is because there's
a bias in industry that front-end is not real development and back-end is and that has to be
combated but also there's an economic reasoning,
you know,
and I always go back
to the economics part
because of my finance background,
which is that
your value to the company
or your value to the industry
really depends on
how many machines
run through you.
Like you as an individual
unit of labor,
how much money
do you control
and how much machine
process or compute
or storage or whatever
runs through you.
And just straight up front-end
doesn't take as much. You're distributing. Yes, front-end is hard. Yes, design is hard. Yes,
UX is crucially important, especially for consumer-facing products. But at the end of the
day, your compute is being run on other people's machines and people don't value that as much as
the compute that I pay for, that I need to scale. And therefore, I need an experienced leader to run that.
And therefore, that is the leader of my entire eng.
I wonder how, if that changes at all for very product-focused orgs,
where I think a lot of front-enders,
the moves are into product design and architecture
and away from not software architecture, but product design.
And it seems like maybe if you compared not VP of Eng,
but VP of product, you'd see a lot of former front-enders.
Maybe that's their path.
You think that's...
Totally.
But you're no longer front-end dev.
You suddenly have to do mocks.
Yeah, but when you're VP of Eng,
you're not a back-end dev either, right?
You're like...
So you're kind of both ascending to that degree.
Back-end devs will never report to you that's been that way okay fair where somehow front-end devs have to report to back-end devs
for some reason just because they're superior or something i don't know it's just like an
unspoken thing and it's like a very impolite conversation but hey it's a reality man so do
you see this personally or do you see this by looking around yeah yeah you felt like you had
breached the ceiling well i mean, I don't know.
I think there's, again,
like this is very impolite.
There's a ton of ways to succeed.
And there are definitely exceptions
like Emily Nakashima at Honeycomb,
former front-end person,
now VP of Edge, right?
Like, I don't know.
I could have done that.
I personally, I have interest in backend
and I'm pursuing that.
So I would say that,
like this is a soft ceiling.
It's a permeable ceiling.
Sure.
It's on a hard ceiling. Sure. There is a ceiling though, because you can see it in the numbers. So.
What is it that in particular, the VP of engineering does that would make a front
ender less likely to have that role? Like what specifically, I mean, engineering is one of the
things, right? Like commanding the software, which is not necessarily front end.
Well, front end is also an engineering discipline.
I guess it kind of depends on the company too.
Like Honeycomb is probably a different example.
I haven't been a VP of Edge, so I only have some theories.
So I suggest you just ask the next VP of Edge that you talk to or CTO.
Yeah.
Yeah.
I'd be a good one to start asking people, what do you do here?
What does it you do here?
What is it you do here?
Exactly.
Yeah.
Well, I just wondered if there was a specific skill set that happens
at that VP of engineering level that
leads more towards a back
ender being more likely
than a front ender to get
hired into the role. I think there's some
traditional baggage. Power structures
persist for very,
very long times. And for a long
time, UX and front end was just not valued.
And we're like maybe like five years into the shift into that. And it's going to take a long time. And for a long time, UX and front end was just not valued. And we're like,
maybe like five years into the shift into that. And it's just going to take a long time.
So I agree with that. So tell us what you're up to now. You said you're doing workflows.
I saw a quick lighting talk. You were talking about React for the backend. So you're very
much taking your front end stuff into the backend here with React for the backend. Tell us about
that. Let's go for it. So at Netlify and at AWS,
I was essentially a developer advocate for serverless.
Serverless is very cool.
It does pay-as-you-go compute.
And you can do a lot of cool stuff with it.
But something that was always at the back of my mind
and bothering me,
that serverless does not do well,
is long-running jobs.
Just does not do well. You have to chain up together a bunch of stuff, and it's me that serverless does not do well is long running jobs. Just does
not do well. You have to chain up together a bunch of stuff and it's very brittle. You cannot test it.
It's way more expensive than you would do in the normal environment. And it made me realize that
in this move to take apart everything and make everything as a service,
we have gained scalability, but we've lost basically everything else. And what I was trying to do
was how do we reconstruct the monolith, experience of a monolith, or what are the jobs to be done?
When you break it down, what does a computer do for you? And what is not adequately addressed by
the ecosystem? I went through the exercise. I wrote a blog post called Reconstructing the
Monolith, and I actually listed it out. So what are the jobs of cloud or a computer?
You want static file serving, you want functions, you want gateway, you want socket management,
job runners, queue, scheduler, cold storage, hot storage.
There's meta jobs like error logging, usage logging, dashboarding, and then edge computing
is like a unique to cloud thing.
But everything else, you can kind of break it up and you can locate on one machine, or
you can locate on multiple machines, some of them owned by you,
some of them not owned by you, right?
The thing that serverless,
that had a hole in the ecosystem was job running.
Not good.
Basically, you set a cloud,
like the answer if you ask any AWS developer right now,
the answer is you set a cloud watch,
like schedule function and you pull an endpoint
and that should check through
and read some states from a database
and check through where you are
and compute until the 15-minute timeout for Lambda
and then save it back in
and then wait for the next poll
and start back up again.
Super brittle and just terrible experience.
You will never want to go this way.
The AWS current response to that
is AWS Step Functions,
which is a JSON graph of what happens after the other
and this central orchestrator controls all of that.
I think we could do better.
And that's eventually what got me to Temporal.
So it's actually this blog post that I wrote.
People found me through that
and hired both our head of products and myself
from this single blog post.
So it's probably the highest ROI blog post I've ever written.
Wow.
It's just that-
That's spectacular.
The VC that invested in Temporal.
So what Temporal does
is it helps you write long running workflows in a durable fashion. Every single state transition
is persisted to a database in idiomatic code. So idiomatic Java, idiomatic Go, idiomatic JavaScript
and PHP. This is different from other systems because other systems force you to learn their
language. For Amazon, you have to learn Amazon State's language. For Google Workflows, Google Workflows has a very long,
very verbose JSON and YAML language as well.
And these are all weird perversions of...
You want to start simple.
JSON is very simple for dragging and dropping,
for doing boxes and arrows and stuff like that.
But you start ending up having to handwrite the AST
of a general-purpose programming language
because you want variables, you want loops,
you want branching, you want all that good stuff. And the best way to model
asynchronous and dynamic business logic is with a general purpose programming language. And that's
our strong opinion there. So this temple was created at Uber. It runs 300 over use cases at
Uber, including like driver onboarding and marketing and some of the trip stuff as well.
It was open source and adopted at Airbnb and Stripe and Netflix.
And we have all those case studies on DoorDash as well, by the way,
runs on the Uber version of Temporal.
There you go, Adam.
And yeah, they spun out to a company two years ago,
and we're now trying to make it as an independent cloud company.
And again, the cloud strategy part comes in, right?
Like why should this be an independent startup versus just being a functionality in other clouds? Because this is one of those interesting midpoints in that actually
lets you be multi-cloud because as a source of truth of application state, I can call between
clouds and I happen to be the neutral party. So it's a very nice position to be in.
Nice. Well, what I saw from your code that excited me, which I think was the coolest part,
is basically inside of this workflow, which looks like a serialized function, serialized meaning
like step one, two, three, four, five. You have a step in there that says sleep for a month.
Yeah.
And then wake up. This is like how you're implementing third party, not third party,
excuse me, like a 30 day trial or something, right? Like charge their Stripe card, make sure it's valid. And then sleep for 30 days, wake up
and actually charge the amount. I thought, now that's a cool demo right there. You got my interest.
You liked it?
Yeah, that's sweet, man.
So, you know, Temporal combines a database, a scheduler and a queue system. So why do we not
currently do sleep 30 days in our system? Because it ties up compute and it's all in memory.
It's going to go away the moment your system goes down.
So what you need to do is at every single point in time,
save any state change to the database
and be able to set internal timers to wake up again
when it's time to carry on to the next step.
And that, by the way, what you saw there with the 30-day sleep
is also applicable
for timeouts and retries.
So any single time
that you need to call an API,
oh, it's temporarily rate limited,
you need to try it again.
But guess what?
You have to set up
all this infrastructure
and code
to do the timeouts and retries.
With Temporal,
it just kind of
bakes that in for you.
Interesting.
What's the prediction then?
So if this is the next
big thing
and you got a knack for going to the right cloud, now. Interesting. What's the prediction then? So if this is the next big thing and you got a knack
for going to the right clouds.
Now cast us.
Or at least
the most influential ones.
What's your hot take?
What'd you call it?
Your now cast.
What's your now cast
for Temporal?
What's going to happen
in the next,
you know,
what's now for that
the next six months,
year?
What's the current now?
So for what it's worth,
the multi-cloud story
is not something
that we're pushing at all.
It's just possible. It's not like a main part of the story. The main
part of the story is that people are doing long-running jobs badly. They're doing microservice
orchestration badly. And that mostly comes out of not having the right abstraction to do it.
We have centuries of distributed systems people here that solve that for you in a framework.
If you just thought in our breakdown of workflows and activities,
everything else is going to behave predictably
and testably, and you can maintain it.
So I have a blog post for people who are interested
on Y-Temporal.
That's literally the URL, Y-Temporal.
The prediction really is about
that microservices are exploding,
serverless ecosystem environments are exploding,
and they need a way to manage complexity.
Every time you call an API,
your risk of failure goes up exponentially
the more APIs you call.
And workflows are getting more and more complex.
So we're just long that.
As long as that goes up, we go up.
And I think that's a fairly safe bet, I think.
The other thing which personally for me,
like Netlify struggles to justify its value
because people, again, don't value CDNs very much
because basically because Cloudflare gives it away for free,
gives away a very, very good product.
But I noticed that database companies
have no problems monetizing.
You talk to Spencer at Cockroach
or you talk to whoever runs MongoDB.
Fauna.
Fauna, exactly.
And that's because people know how to pay for storage.
They know how to pay for-
Planet scale.
Bandwidth and compute and all this,
like very, very well-established things.
And I think there's a very strong roadmap here
that we can just follow
that doesn't take a rocket science genius
at product market fit or whatever.
And we are seeing it, by the way.
We have strong customers.
We just got Stripe to present how they're a user of us
at our community meetup. And I- just absurd. The amount of product market fit here is just
amazing. So it's an open source project, so you can self-host it. But we're seeing that people
want to pay us to do it for them. And it's very serious companies. And I've seen multiple instances
where this has worked in the past. So I feel very safe betting on this thing.
Well, we will hold off any further questions
because we're going to bring you on JS Party
for a full temporal deep dive
coming to a JS Party near you soon.
Listeners, if you're not listening to JS Party,
you got something wired wrong.
You got to head over there.
jsparty.fm
That's right.
Stay tuned because Swix will be hitting that feed
soon for a full conversation
with people
who are smarter
than Adam and I
are at things like
JavaScript
and React
and they can ask
the hard questions
that we can only feign
asking
Swix
this has been so much fun
any final words
final thoughts
anything you want to say
before we call it a show
so my call to action
I guess for people is to learn in public more. Share what you learn. And as you have reflective thoughts,
like I've been doing with the Cloudflare and the API economy stuff, share those as well,
because I'm only one guy. I'm eager to hear your perspectives. Developers don't talk enough
about the real issues. I wish you did. I wish people shared more. I know it's an extra burden,
and I know you have day jobs and stuff. But if you can find the time, share it.. I wish you did. I wish people shared more. I know it's an extra burden and I know you have day jobs and stuff,
but if you can find the time,
share it.
And I think you'll find that
it's rewarding to you personally
and professionally.
Yeah.
I appreciate you, man.
Thank you for being a listener
for all these years.
Thank you for all you shared here today.
I really appreciate you.
Thank you.
Yeah.
Thanks for having me on.
It was a blast.
That's it for this episode.
Thanks for tuning in.
If you enjoyed this show, let us know in the comments.
If you haven't yet, check out ChangeLog++.
That's our membership.
Support us directly and make the ads disappear on all our shows at changelog.com slash plus plus.
Up next on the feed, we're sharing an episode of JS Party with Mitch and Andrew from 1 one password about why they're all in on the web stack.
Also on deck is Jessica Lord on get up sponsors and the origin of electron.
Thanks again to our partners,
Linode fast.
They launched darkly.
Thanks also to break master cylinder for making all of our awesome beats.
And thank you to you for listening.
If you enjoy the show,
do us a favor,
share it on Twitter,
Reddit,
hacker news,
whatever works for you.
Word of mouth is by far the best way for our shows to grow.
The Galaxy brand move is to subscribe to the Master Feed and get all our podcasts in one single feed.
Check it out at changelog.com slash master.
That's it. This show is done. Thanks for tuning in.
We'll see you next time. Thank you. Outro Music