Software Huddle - Developer Education and Training with Craig Dennis from Twilio
Episode Date: October 3, 2023In this episode, We spoke with Craig Dennis from Twilio about developer education and training. Craig's been working in the developer education space for a long time and has a ton of experience. And, ...of course, Twilio is a company well known for having a heavy investment in Developer relations and fantastic developer resources and learning resources. We get into a bunch of things around Twilio's developer education programs. Why Twilio, from a strategy standpoint, has invested so heavily in this and how teaching developers might actually be different than teaching regular people? We hope you enjoy the episode.
Transcript
Discussion (0)
walk away from whatever the thing is. If you're like super frustrated and you've spent more than
like 20 minutes on the thing, walk away from it. And the time you get your water or whatever it is
you're going to get, it's going to be there. It's just going to show up in your brain. A lot of
people think that they don't have experience. They're like, oh, this job is asking for this
experience or this is, this is experience. Make sure that you track your experience and put,
put your stuff up on GitHub and count that as experience. And I think, I think that's the job
of the developer educator too, right?
Is like to meet the people where they're at
and make it fun for them.
Help them find the fun and what it is there.
You know, help them be successful.
Hey everyone, this is Sean Falconer from Huddle.
In this episode, I talked with Craig Dennis
from Twilio about developer education and training.
I was really interested in exploring this with Craig
because he's been working
in the developer education space for a long time, has a ton of experience,
really knows his stuff. And of course, Twilio is a company that's well known for having a heavy
investment in developer relations and having fantastic developer resources and learning
resources. And personally, I actually used to teach computer science at university. So
I've always been interested in education and being an educator. Craig and I get into a bunch of things around Twilio's developer education program,
why Twilio from a strategy standpoint has actually invested so heavily in this,
and how teaching developers might actually be different than teaching regular people.
One of the big challenges he talks about is it's hard to meet people at the right level,
especially if you're running an event and you don't know who's showing up.
You can't go too deep with the newbies and you'll be boring people who already know those things. Craig has a super
interesting background with prior experience teaching in the Peace Corps, working in nonprofits
and even being the CTO of his own company. I think this is a really fascinating discussion and I hope
you enjoy the episode. Last thing before I get you over the interview, if you're enjoying Software
Huddle, please remember to subscribe and leave a positive review.
And feel free to follow me on Twitter at Sean Baupner or Alex,
my co-host at Alex B. Debris
or our show is Software Huddle.
Cheers.
And here's the interview
with Craig Dennis of Twilio.
Craig, welcome to the show.
Hey, thanks Sean.
Thanks for having me.
Yeah, thanks for doing this.
I know this is our second attempt at recording.
You didn't have the best Wi-Fi situation the first time you were on sabbatical. And I also appreciate you doing this. I know this is our second attempt at recording. You didn't have the best
Wi-Fi situation the first time you were on sabbatical. And I also appreciate you doing
this as your first day back. So I imagine you got a million things that you're going on right now.
But where in the world were you off to during your sabbatical? Yeah, so I was off and I started the
trip in Guyana, which is in South America, a little tiny country, not very well known about
next to Venezuela. My wife and I actually met there and we served in the peace corps together
20 years ago. Um, and then we went, made our way to Grenada after that and just spent three
beautiful weeks of hammocks, just reading books and the dream, the dream, swimming, swimming,
swimming. That sounds awesome. Uh, but awesome. But now you're back working.
But that's quite the context shift.
So I want to give you a chance to kind of introduce yourself a little bit.
We're going to be focusing a lot of this conversation around developer education.
You're a principal developer educator at Twilio.
So what exactly is that role?
And any other kind of background that you can give about your sort of way that you found yourself in this career at Twilio?
Cool. Yeah, yeah, absolutely.
So a developer educator, we kind of wear multiple hats here at Twilio.
We kind of work, we dive into the docs.
But really our job here is to kind of inspire and equip developers to just be
able to build. Like at Twilio, we're like super into letting people build. So what do you need?
What skills do you need to be able to build specifically here on Twilio, but in developers
in general, that's kind of where developer education is like, let us get you the right
amount of skills, get you just the right amount of information to get you inspired to understand what it is you can even build and then get you going uh build on that
and you've been in that space for for quite a long time how did you kind of end up in that career
yeah yeah that's a that's a great question i i um i uh started out in software development very
very early in my my career uh one of my first, I've only done it. I've only done this world.
I say, yeah. And I decided to join the Peace Corps. Like we had mentioned there a little bit
earlier. And when I was in the Peace Corps, I taught. It was the very first time I ever taught.
And I was dabbling a little bit in theater and improv and that sort of stuff. I really loved the kind of the way I was using my skills together on that.
And so I taught there and I just I kind of fell in love with the craft of teaching.
And when I came back from the Peace Corps, I worked for a nonprofit and I took a swing at like doing some CTO sort of stuff, running a team and that sort of thing.
I really miss teaching.
I really like like like deep in my core, like that's, I really miss that. And this is like at
the start of MOOCs. I don't know if you remember that or not, like massive online open course or
something like that. So it's basically online education, like ed tech stuff. It was kind of
just, just taken off. There's a company called Treehouse that just randomly happened to be in Portland where I was living, doing online education. And that was for
people who were brand new to code. And I applied, I put my hand in the ring and it was awesome. We
ended up, I ended up, I loved, loved my run there. And that's kind of how I really got into the game
of developer education there. So yeah. Yeah. And I think like Twilio is one of those companies that's very well
known for being a developer first company and also a company that's done a lot in the developer
relations and developer education space. I feel like through my career, I've interviewed a ton
of people over the years for jobs and so forth that have spoken about first getting really
interested in programming or computer science due to someone from Twilio essentially showing up at their university
or, you know, wherever they were and running in a van or hackathon.
So why is it that developer education and training has become so important to Twilio?
Yeah, yeah, that's a great question.
And actually one that I love, I think that there's this, if you've never used an API
before and you want to explain to somebody how you can use an API, I love. I think that there's this, if you've never used an API before and you want to explain
to somebody how you can use an API, I love sending a text message, right? Like it's just the fact
that you can send a text message. So with Twilio, right, with a single API call, single line of
code, you can send a text message. And that is magical. That's magical if you've never done
something like that before. Like if you didn't even, I mean, it was magical. I was a developer.
I was like, oh, whoa, you could just do that in a single line of code uh and we do so much more than that but like really i think that that little that little way in there of also you
can also make somebody's phone ring with like a phone call also very similar small small amount
of code but i think for um developers that are new in the space it's a great api to learn on and in
fact we we like totally, we, we believe
that as well. We like, we, you know, I, I have a course out on, um, uh, free code camp that, uh,
is about introduction to APIs and I use Twilio in it because I think it's a great API to teach.
I show, I show off a little Spotify API and then I show off a little Twilio guy. Cause I think it's
a really neat concept of like, oh, I, I don't know how this thing works over here, but I'm just
going to hit it and it's going to do what I need it to do. And thing works over here, but I'm just going to hit it
and it's going to do what I need it to do.
And that's all I need to understand.
And yeah, so as far as DevRel goes,
I think that that's huge.
And like, if you think about like hackathons,
like when hackathons are happening,
it's really awesome to build an entire application
where there's no UI
because you don't need to waste the time on that.
You're just kind of showing off what's happening.
We're seeing a resurgence of that actually
with all the AI stuff out here. Like don't build a waste the time on that. You're just kind of showing off what's happening. We're seeing a resurgence of that, actually, with all the AI stuff out here.
Like, don't build a UI in front of it.
Just connect the phone to this thing, you know.
Yeah, I think you make a really good point.
There's something sort of magical as an experience to actually, like, receive something on your own device.
And it feels somehow, like, more powerful than just seeing it rendered on a computer
or something like that.
Even in my time working at Google,
I worked on messaging products there,
business communication space.
And there was something always really powerful
about giving like that live demo of like,
here it is on a device that everyone can sort of,
you know, recognize,
they can hold it in their hands and so forth.
And it makes it feel real.
And then also for Twilio, you know when they started i forget the exact you know 2000 late 2008 7
somewhere in there like even the concept of apis as we know it today was very different so i'm sure
they had to do a lot of investment in educating and training just to teach people you can essentially interact in this way
you can do uh something as crazy as sending a text message or making a phone call through
essentially a simple api endpoint yeah yeah absolutely and you know like the fact that it's
two-way uh communication that it's an input output device like that's not you don't really
ever think about that but like in a live demo of tul, I can have you text me and then I have your phone number so I can make your phone ring.
Right. So like, that's, that's kind of the neat thing. It's like, text this number,
you'll get a message back. And now I have a hold of your phone number. I'm going to
run through all the phone numbers. I'm going to make your phone. I'm going to call you.
I'm going to Rick roll you most likely. It's what I'm going to do.
And what does like Twilio sort of developer education program consist of today?
Because I imagine it's changed a lot over time as Twilio has become such a massive company relative to where it was a decade ago.
Yeah, yeah, absolutely.
We've built up a lot of products on top of the little building blocks that were set there.
So the Twilioverse, as we like to call it, is huge.
And part of the educational process there is that,
hey, this thing is big.
We might already have the product that you're looking for, right?
So like that's on our space to be like, hey, this is how you might,
this is something that you might want to build
that somebody else has already built.
Here's a use case.
Here's some ways to think about this new input output device that you have and here's here's some uh other things that to possibly
think about as well as here's some tutorials to go do that here's a here's a um a working
application that we you might want to dive into and that sort of thing so just kind of getting
people oriented with our tone too right like we're we're for builders and that might always come
across right so we want to make sure
that we still understand you devs.
You know, you could come in
into this machine,
but we still get you.
And we want to put you off
into the right place
of where that goes.
So that's kind of like
a little bit of a shepherding job
in the beginning there.
We have a program called
Superclass that does that.
So it's been a rough year
in terms of layoffs and shifts and things.
Um, but we, at one point had a video game, uh, called Twilio quest, which we don't, we no longer
have anymore with the, with the, the recent shakesups, uh, that we've gone, but awesome
use of like, Hey, come play this video game. It's this guided experience of how to go through and
learn, learn these different things. Um, uh, and knowing that that exists, right?
Like you might not know that that exists as you're coming in, just trying to learn how to send a text message.
Oh, it does all this other stuff.
Like that's, that's kind of on the lines of, of, uh, how does it meeting you where you're at as a dev, like meeting you where to get you move on to your next step.
Yeah.
And you mentioned, you know, in your own past, you, you during the Peace Corps. I imagine you weren't teaching developers there. You were, you know, teaching probably regular school and regular classes and so forth. But now you've shifted in this career where you're combining essentially your engineering skills with teaching and training developers. Is teaching and training developers something that's different? Do you have to kind of approach that differently?
You know, are we, do we just think of ourselves as different or actually, is the way that
we want to be taught and the way that we want to learn actually different than something
like, you know, teaching English?
Yeah, that's an interesting, initially probably, and I think, you know, truly one of the hard,
the challenges of this is, right, so we're bringing in, we're also bringing in telecommunications experts who might not be web developers.
And then reverse.
You're a web developer, you might not be a telecommunication expert.
So, like, there's this world of jargon that we have to be really careful about.
And I think that this is true for all developer education.
And I try to hammer this home, especially again,
like you said, with my background,
I know that people are coming in
and there's words that we use that we just use freely
and they might not be understood, right?
And so like we didn't figure out exactly,
striking that balance is hard, right?
Cause you know that you don't want me to talk too slow.
You don't want me to talk too fast.
So like figuring out how to get your program to the right audience like if i understand what the audience is if it's not just this free-for-all
come to this thing if it's like this is very specific what we're doing i feel like then i
can talk at a certain level and i can educate two most likely developers right at that at that point
if i've if i've marketed it properly and i've gotten it in front of your face i'm gonna say
this is a developer and i talk to you as if you're a developer. And that's really important
actually, I think in developer education is to, to speak to you as a developer, right. You know,
and say, I understand what you're going through. You know, we, whatever examples we're using,
we're trying to use ones that you have probably run into or problems that you're facing,
you know, that, that sort of thing. Yeah. So it sounds like a lot of it comes down to authenticity and sort of be able to, like,
have empathy and actually connect with the types of problems that developers might be
facing because you yourself have faced similar challenges.
Yeah.
Yeah.
And you don't want to miss the mark, too.
Like, you don't want to, like, jump in and start teaching something they already know
about, too, you know, like, unless that's where you're at, right? Like that. And so we also have a no code tool, which I think is interesting in
the space, right? Like there's people, you know, they're, they're, they're builders. They're not
developers yet. They haven't written a line of code, but they can build and they literally can
build and do build on the platform. So they need to know what that is. So now, now you have this
new other problem too, where you're like, you might not understand how all of the stuff works
here, but it's been abstracted. So you don't need to understand what that is so so it's a it's a
it's a challenging space which i love i mean i absolutely love um uh giving targeted uh experiences
targeted fun experiences i think is like really uh awesome it's a fun part of this job and it's
the challenge that keeps on giving.
How do you sort of balance the
different skill levels and learning styles that you might be encountering?
If you're running even a live event or something like that,
you might not have a lot of control over necessarily who's showing up and you could
have a fair amount of variance in terms of where people are in their
developer journey. So how do you kind of like cater your content to like address that variance?
Yeah, that's a great question. And I think one that like we all kind of got pushed into
live events are used to be great where you could take a little break, right? Like if you're there
in front of them and you're doing an educational experience, give a little start, make sure
everybody's okay. Maybe walk around and feel people as you're meeting them as they're coming in.
Now in this virtual environment, people just show up, right? So like we, we run this thing and
anybody could be here. And oftentimes it's supposed to be for developers, but oftentimes they're not.
And we've learned a lot of skills, I think, through this, like live streaming. So all of the,
all the live events that we do now that are like on these virtual platforms, I always try to keep the channel open, the chat open, and then have some people there to either support and then also
kind of get a live feedback of, Ooh, that was too deep. You know, somebody saying something,
somebody is asking a question, take the time to answer the question or, or, or take the time to, to put into a parking lot and be like, oh, it looks like this is something you want to do.
I'll get you some resources afterwards on how to do that sort of thing.
But really using the chat to kind of gauge is this landing or not in a live experience.
And in other ways, like making sure that you're building the proper prerequisites for somebody to be able to jump in at that point.
And I think in sort of traditional computer science education, there's often like a heavy influence on sort of the theoretical concepts and setting like, you know, baseline understanding or principles of how things work.
And not necessarily as much focus on the practical
skills of like day-to-day development and maybe this isn't something that you run into as much
in your role at Twilio but I'm just kind of curious to hear your thoughts on like how does
you actually strike a balance as an educator between sort of teaching those theoretical
concepts so people can really understand things at a first principles level while giving them like practical skills for actually like
implementing and executing on these stuff. Yeah, I think that that really depends on the type of
content that's being produced, right? Like if I'm making a course, which I love, I love to create
courses, you know, my time at Treehouse, I learned how to do that in the heart of that. And I will
open up and I will always open up theoretically and like let people know that, you know, hey, you can 2x this if you need to. But let's go through some
of this theory. You know, I keep it light and fun and then go into the practical, but bring back to
the theory. So in a course style thing, that is definitely where we go. I think more on the when
you're more of one of these live events, especially one of these live events where you're not actually
running a workshop, you're not the people don't really have their lap the people have their laptops out because they're watching you but
they don't have their laptops out because they're coding along i think it's a little bit more of
a little bit of theory here's me doing it here's what it might feel like if you were to do this
but you're not doing this right now you can watch this later you can come back and watch this later
and then i'm going to talk about some theory and if you want to learn more about that i'll include
that in the notes that i send you afterwards you know know, so like that, that sort of like,
I'm not hammering theory onto that you might already know. And at the same time,
I'm not going to confuse you with, uh, I'm not going to overload you. I'm not going to give you
a cognitive overload. I'm like, Whoa, what is this? I don't know this thing he's talking about.
Now I'm just going to say like, and if you don't know what that is, don't worry about it. We're going to move forward here.
Yeah, it's interesting
depending on,
I think,
the way that you're
delivering it changes.
And it changes
in the expectation
of the learner.
The learner's like,
oh, I'm just learning here
this quick little tool
from Twilio versus,
oh, I'm going to learn
how APIs work, right?
Like, I'm going to learn
how this works.
That's a different vibe. But I always like to have if I ever do like a could just complete everything,
I always like to have something at the end that ties back. So you can kind of see like,
oh, yeah, I did learn that. That's the thing that I learned. Yeah. I see. And then what about in the
case where, you know, you might be either it's a digital course, or maybe it's something that
you're doing live.
A lot of times when you're teaching, you know, introductory into something, you end up building kind of like toy problems.
But what about translating that essentially into like real world project problems or projects where off for success to be able to go from these
kind of smaller scale toy problems that someone might be able to learn the concepts and learn the
basics in an hour but then be able to translate that into something that's like a real world
project yeah yeah i i definitely think that we get them to that point right we get them to the
point of like this is how it feels and if you were going to go deeper, this is the direction that you want to go.
And here's the resources that you want to go to.
We do a thing called the code exchange, which there's like existing applications that you can kind of go and tweak.
Maybe not fully production grade or, but we do it.
We have a serverless solution.
So a lot of them will work and they will scale for you.
That's just a
new weird, weird world that we're in, right. Of like, oh no, this was actually going to be okay.
You could actually just deploy this and it would work. You press that button and now you have this
thing. Um, uh, yeah, I mean, I, I do think, and I'm not sure that that's exactly what people are
looking for when they're, when they're coming in. Um, we don't get too much of that feedback,
right? We don't get too much of that feedback of like, yeah, that's great. But like,
where can I go from here? And we try to make them a little bit more than hello world, right? Like
I try to, um, for instance, one of the, one of the things that I always try to do is I try to keep
it. I keep, uh, my improv history in here. I was trying to make sure that like i've whatever the day is like
national hot dog day or whatever i'll make a hot dog app and i'll be like i'm working on this app
and then i'll have like plug twilio into this so you kind of see me in the builder stage of like
here's a web application oh now it's a twilio application because we could we could do this
back and forth and i think that that concept does it of like, it doesn't matter what your web stack looks like, right?
It's this concept is what's going in there.
Yes.
And then we can take it farther, right?
So we have this concept of like,
we do these things called level ups
and you can level up your knowledge.
And those are powerful because I can say,
I'm expecting that you know this
before you get in here. And then we can talk deep. We can talk about scaling and we can talk about
other sorts of problems, but you're not walking into that accidentally. You very specifically
hit that. And that's the audience that we're trying to grab there. Right. Yeah. Yeah. And I
imagine if you are in a situation where as an engineer, you're working on some like super complicated system that's using, you know, 400 different Amazon web services or something like that or services.
Then presumably you have a pretty like deep knowledge base that you're building off of.
So you're probably able to make some of those mental leaps of how do I translate this, you know, smaller application into my larger applications day job.
Yeah, absolutely. And we always try to make sure that, you know, we take advantage my larger applications day job. Yeah, absolutely.
And, and we always try to make sure that, you know, we take advantage of the fact that
it's live, right.
And we try to get those into the chat and we, we've been experimenting with, um, what
if we just brought people in and like talk to them?
Like we asked the question, it is, this is really like, it's such a powerful question.
If you're like, what are you building?
If you ask that question to a group of people, somebody will come in and start talking and they'll start talking to the other ones.
We'll talk about it. Like, well, how are you dealing with this? And they'll just help each
other, which is neat. I mean, I think that's the developer community, right? Like that's just,
yeah, just us like, Oh, you're building. Oh, I love to build. Like, I think that that's a,
um, uh, and I like, I like hosting that space. Like let's, let's let you talk. You know,
you saw all this stuff, your brains are running, uh, running wild right now. Like, let's let you talk. You know, you saw all this stuff. Your brain's running wild right now.
And what are you building?
What are you going to build with this?
What could you see?
So, yeah.
Yeah, it's a good icebreaker.
Yeah.
Yeah, for sure.
For sure.
So what we're, you know, as you, you know, we're reaching a place now in the world where
we're kind of, it's somewhat getting back to what we understood as normal in our life in 2019, you know, going to conferences, traveling,
being able to do in-person events. But what was that like for you as a person who's built a career
in developer education, as you had to sort of like transition to a world where you couldn't do those
types of things? What were some of the challenges that you faced and some of the changes that you had to make
in terms of how you educate and reach developers?
Yeah, you know, I really,
we really leaned into like
what the Twitch streamers were doing, right?
We were like, oh, how are you?
How are you doing that?
How are you interacting?
Because like, you know,
like if I'm saying something in a classroom,
if I'm saying something in front of a row of people,
I can read faces and I can't read the faces on this, this empty, all I got is this chat.
And so if I don't have you working in that chat, I'm going to read that you're not paying attention.
So like, how do I make that, keep that chat alive? And how do I, how do I make it feel like
this isn't just another boring zoom call? Like that, that was, that was the trick, right? Of
like, like how do we keep this thing fun always?
And Twilio is great for that because of course I can interact, right?
I can build an app that literally you can call as I build it.
And you saw me build it, like, that's cool.
And you're working on it.
Now you have it at home and it's in your hand, right?
Like that's a, that's a neat, a neat magic trick that we just have.
We happen to have.
But I really find that like also keeping it fresh. If you don't do that, it'll like, we have people that come back and if I do, if I give you the same show again, it's like,
it's like going to see a comedian on all three nights when they're in town, right. You're going
to see the same show. And so you gotta try to figure out how to, how to kind of mix that up.
Uh, yeah, so that was, that was hard. I mean, actually the reverse is true now. Like we're
going back to in person and like, oh wait, how did I do this before? You know, like we, we do a couple of these and it's like, how do, how do I make you feel like you're, you're working together here? I mean, but there's still nothing like, you know, when you, if I can make your phone, if I say turn your ringers up and I can make everybody's phone ring and there's nothing like that or the laughter right like hearing people laugh so like it's like
that's a good a good knowing that people are on pace with where you're at i missed that and i feel
like we found that through chips like that that was a a really good answer of like are you getting
this or you're not getting this are you um if they're not giving you feedback uh coming into
and then like if your apps aren't work if they're not responding to your app, that's also a trick of, so like this like constant engagement
through that I've, I've, it was finished.
It was an incredible challenge and I, I really enjoyed it.
I enjoyed, uh, how do, how do we make this work?
And I, and it was, it's been working.
It's been, it's been fun.
Um, we actually found that, you know, it's really interesting if you, if you record one
of these live, if like we're doing this, I hate to use the word webinar.
This is a good, this is a good, like it's different for, for dense, right?
If I use the word webinar, it's different than learning and experience or like whatever,
whatever brand.
Yeah, exactly.
I don't want to go to a webinar.
So if we record them, people will watch them.
People will go back and watch them in the same energies there.
You get the same sort of feedback, even though they weren't there.
And now they necessarily can't work with the things that you built, but they will still get value from it.
And that was like kind of a nice surprise.
And that's not something you get from live events unless you have them recorded.
And in which case nobody watches those.
Nobody watches the actual physical live recording but one of these like virtual events people can watch you're going to get get benefit
from to a point where i didn't think that that was going to actually happen right like i didn't
think that that people watch what they do so yeah i mean in the sort of you know like webinar style
it's easier to do a recording that's going to play better on the playback than yeah in a live
situation where you you can't hear certain conversations right the camera's probably not
in the best and like it there's a lot of challenges uh uh to to think through and it just doesn't
come across as well yeah what about um how did you sort of navigate having situations where you
might have to remotely like debug or help somebody in a remote
situation you know when you're in person you walk up to their laptop yeah you can you know hands on
keyboard like point out what's wrong it's a lot harder to do that when the person is across the
world and know any facility you have is chat yep yep uh so we we tried this uh structure and we
this is actually like we took the live structure and put it into the virtual experience where we bring our solutions engineers that we have on staff.
We would bring them, we call them teacher assistants and they would come and they'd walk around.
They would do exactly that, walk around, see what, if anybody's having any problems, like if somebody's raising their hands or whatever.
And what we realized was if we brought that into the chat and then we also allowed for the ability for you to go and ask them directly that you could.
But a lot of times people just ask main in the channel, ask in the main channel.
And then like if the answer is there, other people were having that problem, too, with like whatever is going on.
And we don't try to do too many workshop things.
So like we really do want to just kind of be like, try to follow along with this.
You'll get a recording of this.
I want you to be inspired.
I want you to know where the docs are. I want you to know where the docs are.
I want you to know where the tutorials are.
But in, in most of those live events, we have people there and like, I encourage them to
ask questions.
Cause you know, like the, the best time to ask a question is the time that you have it.
And so when people do that and they feel comfortable doing that, you'll surface a lot of the stuff
that maybe somebody would have raised their hand about that, that TA would have had to
do six or seven times throughout right because the frequently you know there's a
reason why they're called frequently asked questions is because they are frequently asked
so like if you can get that to come through the chat it's a wonderful like it's a wonderful trick
and i don't know i the way as we see as we're going back back to uh in-person engagements we'll
see what what that looks like i think things are going to be changed. I think that the way that that happens
is going to be changed.
We're definitely seeing attendance
worse off.
Like we tried a couple of live events
and we're like, oh, whoa,
why didn't people show up?
There's like 11% of the people
who said they were going to come.
It's like, oh, because it was raining?
Is that what happened?
So, yeah.
I've noticed that a little bit with um
meetups as well i think uh they haven't quite recovered but i do feel like conferences are
back and in a big way so maybe the the mediums changed a little bit or maybe it take a little
bit longer for some of these kind of more like deeper developer events to to come back it's
people get used to leaving their house once again. Yeah, right, right.
Yeah.
And then in terms of just like kind of looking back
on some of the things that you've done in your career,
what are some of the big challenges
that you've faced as a developer educator
and as somebody who maybe is thinking about
either entering that career
or maybe spinning off,
starting their own developer education program in their own company? What are some of the things that they might need to think
through? Yeah. You know, one of the things that we recently, we tried to tackle this problem and
we found this, again, we had a video game, right? So we had this video game that you'd play and we'd
found that people don't know some of the basics and that's fine if you don't know some of the
basics and you're just like ahead of yourself, right? Like people are learning and they're moving in the self-learn pace. They're like, oh, I want to send a text message. fine if you don't know some of the basics and you're just like ahead of yourself right like people are learning and they're moving in the self-learn pace they're
like oh i want to send a text message oh i don't know how what an api is so like that's a thing
where you're like oh that's a prerequisite that we could probably help with like we could probably
teach teach what that what an api is and how that works um or a web hook right a web hook like is a
kind of confusing it's kind of like a, you know, flip your brain around.
And if you've never used them before
and you might be far on your career,
I really had to use them very, very much
before joining Twilio.
And I was like, oh, wow, this is a cool technology.
But I sort of knew what it was.
But like, if I'm just like, go do this webhook.
Oh, I don't, I don't know what that is.
What is a webhook?
Like, I don't know.
I don't, I don't know.
And so I think that like, we have a lot of, um, we have a lot of assumptions
as, as developers and then as developer educators, it's really
about like honing in on that.
Um, one of the fascinating things that, that we found is that modern day
learners, so new, new developers that could be going through some of the
analogies that we've built as computer scientists are not relevant anymore.
The one that I love to use is the file folder.
Like that's a thing.
But have you ever physically seen a file folder if you're 19?
Probably not.
Or a filing system.
Like even like, you know, that sort of like you probably seen that.
And that's fascinating because we're forcing you to learn that or, you know, you're going to dive
into a file structure and it's got a folder, a manila folder, and it's got a, you know,
and so, so that's something to like, kind of like always keep your mind on. I think as a,
as a developer educator that like, don't make assumptions, right um and test your assumptions right like and it's it's
fine like iterate like iterate and see if if people are getting hung up there and if you can
if you have the chance to get a little feedback loop going if people know what you're talking
about and if they don't build that right build that because somebody else is going to use that
too someone else is going to going to need that you'll definitely find holes and you'll find
you know like depending on where you're
sitting, like if you're looking for marketing, that's a great place because you're filling
a knowledge gap that's out there and people will get to know you and get to trust you
and then also trust you as you teach about the product that you're working towards.
Right.
Yeah, that's a good point.
I mean, even like from an iconography standpoint, like a lot of our icons are just really dated because they were, you know, created 30 years ago.
Yeah.
I mean, I think it's finally starting to go away, but I wouldn't be surprised if you find a floppy disk on a save button somewhere out there in a modern piece of software. For sure. Yeah. There's a tweet that said, oh, this is cute. Somebody 3D printed
the save icon. And it was really just a floppy disk that somebody found, but they're like,
oh, this is cute. That's great. And for people who are, you know, companies that are interested
in investing in this space, or we even want to get a better understanding of how successful
their own programs are, how do you actually measure the success of a developer education program?
Yeah, I think that really depends on where it sits, right?
I've seen this sit in several different places.
One of them that it sits on, you know, like if you've got, if the product that you're selling is developer-based, it's super important, right?
It's super important that developers know how to use your application.
So like, otherwise, you're just, just otherwise how do they use it right like and how do you make sure
that they're using it um yeah so so i think a lot of times there if it's on the marketing team
you can track how much people who can especially if you've got um a lead that your your sales team
is sending people to go to learn about this thing because
they know this is like a step in the process, right? You know, you could, you have a touch
point, right? An educational, a live event is an excellent educate is an excellent touch point
that you can see, oh, this made a difference. And this went, this went forward. Um, you can also do
a really nice, uh, I found that the feedback loop here is great because you can say,
what did you think about what was taught? What do you think
about the product? You get some really good
feedback because people who have
attended and are made it to the end of
whatever it is that you're presenting,
you've got a really good NPS score so you can
see how they're feeling about what happened there.
You can also get some great
information. We definitely send information
back into product about that or
product will ask a question and we can very
specifically ask that question in
the talk and see what happens.
Yeah, so there's
sounds like, you know, from a marketing
and sales perspective, it could be a
pipeline accelerator essentially or even
potentially lead generation
from sort of, you know, like
from the developer standpoint or like a bottom
up motion into, you know,
product-led growth and so forth, because you're getting signups and people using the API.
So you're going to see those kinds of growth metrics.
And then you also have things like you can measure essentially how effective or how much
people enjoyed the experience through things like, you know, NPS or CSAT score or something
like that.
Yeah, yeah, absolutely.
And if they returned, right?
Like if you have this
ongoing uh set most likely if they come to another one you that you you did it you did you did your
work there and they want to learn more right so yeah absolutely that makes a lot of sense and then
you know one of the things that you mentioned earlier on was this uh sort of like video game
twilio quest that had been used as like a training tool.
Yeah.
So that sounds like a, you know,
very sort of like innovative way to teach people,
make it a game experience.
What other types of innovations have you seen
in the space of developer education?
Yeah.
Yeah.
I mean, honestly, like when I saw that,
I was like, oh, I have to work for that company.
Like literally I work here because I saw that. Like, wow, you're teaching through a video game. That's so smart. And it, you know, that comes with its, its challenges where everybody's like, why am I playing a video game? I could have played this at home or I don't play video games or, you know, they don't know how to move around with the cursor. Some people really didn't know how to do that. I was like, whoa, whoa, sorry. You never played a video game before, but it doesn't, it doesn't land with everybody.
Right.
Um, right.
I, I've been loving, I've been loving this new, like embrace the short
form, uh, educational things like the really quick Tik Tok stuff.
I've been, I've been seeing some people experiment in that, in that space and
be really creative in ways of getting you to still have fun the way the
platform intended you to, but also get exactly what you were supposed to learn
from it, I think that there's been some really interesting advances there in
ways that, um, you know, I I've been, uh, I I'm some of the younger developer
evangelists on my team have been pushing me more into that space to like play.
Like what, how can we play in the space and still be educational? It, it, it's, it's fun. And I
think works, you know, I think that you can, you can grab people that, that really important
attention that we don't have much of anymore. You can kind of grab it for a little bit there
and maybe learn a little bit, you know? Yeah. I heard recently on a, on a podcast,
actually, they were talking about how effective tiktok videos are for like
life hack type stuff if you want to know how do i get a stain out of you know this shirt where the
stain was made with i don't know like edge and grease or something like that then you can find
a tiktok and then it's like super fast and consumable versus you know uh the challenge
sometimes with finding that stuff on youtube is you can find a video but it's like 18 minutes
yeah and uh like most of it's filler.
And then there's actually 30 seconds of useful material for something that's like as specific
as that.
So I can definitely see some types of things in the developer world, engineering world
that could be a fit for that format as well.
Yeah.
People, there's a, there's a trend and I don't know, maybe we'll listen to the same podcast,
but there's a trend of people using that as their main search engine, right?
Like, where do I want to go eat?
I would never think of that.
I would never think to go search that, but like, yeah, maybe, maybe that's worked that
way.
I'm not a, I'm not a TikTok user myself, but maybe I need to, uh, maybe I need to do some
experimenting as well.
Well, if, if I introduced you into that world, I am sorry.
It is a lot of brain bleach, but it's good.
There is a lot of fun in there.
And there's a lot, people are doing creative things in there.
I think there's a lot of creativity, which I'm always like, oh, what's this?
So outside of some of these like technology innovation, are there sort of future trends in the world of developer education and training that
you've seen uh that are sort of emerging oh my gosh you know the the thing i'm going to say is
the ai right like so so ask your docs whatever that stuff like you know we we run some hackathons
here at the office and there's been like four or five people who have done that have gone and like
taken our docs and then you can ask a question and it comes out and it works pretty good right like that
works pretty good i think that there's a lot of um i would love to see more of um i think one of
the things that happens right one of the things that happens in in this space is we never let
people go back and assess themselves they don't like get to do like any self-assessment i think
ai is wonderful for that.
I would love to like say,
here is a body of work that you just watched.
Write an assessment on that
and write a quiz
that somebody can take
and self-assess.
And they're not getting
any certificate
or anything like that,
but they're just getting
the knowledge that they understood
what was supposed to happen in there.
I feel like that's a huge space
that is not yet tapped.
And there's a lot of companies
who do that already, right?
You know, like they'll say, here's this, here's a, here's a quiz after you're done to see
how it is.
And then you can score your quiz.
But I think you could probably just do that the same way that I can ask a question to
my docs.
I can write, I can take a transcript of whatever the lesson was and generate some sort of assessment
that you could do some sort of self-assessment.
I think that that'd be huge.
I would love to see that.
I've been noodling on that on my sabbatical there.
That was kind of one of the things I was like, wow, that'd be really neat to be able to tackle.
Yeah, I remember some, even like 20 years ago when I was in university, there was some
like early rudimentary attempts with some of that stuff.
And it just, the technology just was not in the place that it is today to do that in a way that
was not like, or that was, that's actually effective. But I think we're getting that
into a place where with generative AI and everything that's happening in the LLM space,
that we probably can do that kind of stuff. And that helps people who want to do, you know,
self-directed
learning where they can actually have those sort of feedback cycles to learn it from what they're
doing and even get better yeah absolutely i think that there's like a you know on the on the creation
side of it right so we're talking about generative ai here we're talking like i would love to say
this is what i want to go teach what are some of the learning objectives that I should be able to provide
based on this or,
or reverse,
right?
Like here's a,
here's a piece of thing that we did that we didn't have learning objectives
for.
What are the learning objectives that happen inside of here?
And you pull the learning objectives out of it just automatically.
And I've,
I've played with it enough to know that that's probably possible,
you know,
with the right enough,
enough of the right tuning.
You could probably do that fairly easily.
I haven't seen it yet.
I haven't seen anybody play it in that space yet, but I, I am looking forward to it.
I'm looking forward to that, to that happening.
And like, yeah, uh, uh, some of that, uh, sentacious stuff.
I don't know if you've seen that where it's like, uh, it's a video with like a talking
head, like a, like, like I do, but just it's all AI and it's the things there and it seems real.
And the person's kind of like acting, uh, a little, it's a little stiff, but like,
it's impressive for what you need to do. You know, like if you were trying to make a nice video,
it might be one way to, to do that, um, at a smaller scale, right.
Place. Yeah. In some ways it's interesting because I think one of the challenges someone might have with, you know, being an educator in this space is maybe they don't feel super dynamic and interested in being on camera, but they still have aspirations for teaching. lower the barrier to entry and actually make this easier for some certain people or certain people
who have a certain skill set that can contribute but maybe they just don't want to be on camera
they don't want to be camera facing yeah yeah absolutely and i feel like there's also like lots
of um extraction stuff too with the ai where you can like i want you to look at the script and you
want you to tell me what you might not think that somebody who was a junior developer would
understand from here and pull those out and show me what that is like think that somebody who was a junior developer would understand from here and
pull those out and show me what that is like they're just just that that stuff like and it
really is like just any thought you have about ai and education is like exciting as as everything
is with ai right everything's just exciting right now so in terms of people who are you know maybe
listening and they're they're they're early on in a developer
journey, what kind of advice do you have for them in terms of the things that might set
them up for success or help them expand their skill sets?
Sure.
Yeah.
And I love being in this space.
And I think that like, it's, you know, if somebody is listening to this and you are,
you're going in this, this is a fun, it is a very fun profession.
And we have all been through whatever the struggle is a very fun profession and we have all been through
whatever the struggle is that you are happening we have probably been through that like we think
you oftentimes as a learner you're like oh everybody else understands this it's like no
we hit our head on the keyboard too you know we missed that semicolon on line 11 we we know we
the pain that you're having is is um hopefully better right like hopefully you're not
having the same pain that we had hopefully your github copilot's helping you out it's not like
you are actually learning the stuff that it's completing you know that sort of stuff
um but yeah i think just that like realizing that like literally everybody had to do this
one time like whatever it is that you're going through whoever you're looking up to
somebody has gone through that and and struggled it is a struggle right like it is that you're going through, whoever you're looking up to, somebody has gone through that and struggled. It is a struggle, right? Like it hurts when you, when you put new stuff in your brain, it hurts. And that's like, that's like when your muscles hurt, when you, when you work out, that's your brain hurting. It's like no pain, no gain for your brain. It's like, it should feel like, Oh, this is what is this? Do I get this? And then take a break. That's the other thing. Like walk away, walk away from whatever the thing is. If you're like super frustrated and you spent more than like 20 minutes on the thing, walk away from it. And the time you get your water or whatever it is you're going to get, it's going to be there. It's just going to show up in your brain. advice i from my own perspective um i think one thing that helps uh as well is uh kind of picking
a project that you know maybe it's not too ambitious but it's something that you actually
like like working on or is like something that's useful for you or is interesting because if it's
interesting then at least if you're struggling with the technology like you can you're working
towards a goal that is going to be something that's you know fun or interestingly you know like that could be a game or it could be something that's
just useful for you and your friends or your family and that really has an impact in terms of
the level of engagement and commitment that you're going to have to you know it's a lot easier to do
that than if you're you know trying to to build some you know business application they have like
no zero interest in yeah exactly exactly yeah find Find the things and then know that like whatever it is that
you're building, you're going to reuse those concepts, right? If you have like a list of
thing that goes to detail page, list of thing that goes to detail page is like 90% of the internet.
Like here's a bunch of things. Click the thing. You went to the thing. Oh, do you like the thing?
Oh, now there's another thing. And it's that same pattern is just over and over again in whatever you're learning. And like, that's true of all the AI
stuff and everything. You get, get your patterns, learn your little, your little patterns of all,
this is how I might solve that input and output wise. And I think that like, yeah,
and this is the other thing. Um, a lot of people think that they don't have experience. They're
like, oh, this job is asking for this experience or this is experience.
Make sure that you track your experience
and put your stuff up on GitHub
and count that as experience.
I would count that as experience, right?
Like if I was trying to pitch myself as a junior thing
and they're like, well, first of all,
this is the worst when you're like pitching
for a junior developer job
and like seven years of experience with React.
And it's like, how am I a junior with seven years of,
you know, like, but realize that you have experience
and there's also experience in like business logic
that you have other experience outside of developer.
Like if you're a career changer,
you're not just right out of the gates.
You have some experience,
even if it's like a job
that you don't think is any related at all.
Like if you're a cake decorator, there is, there are synergies. I'll use, I'll use a business word
there. There are synergies between the skills that you have and what might be helpful. And you
might not think about that. So like trying to think about it, try to, try to always think about
the fact that you are coming with your, yourself, bring yourself to your, to your projects.
Right. Yeah. I think a lot of it comes down to, you know, when your yourself, bring yourself to your, to your projects. Right.
Yeah.
I think a lot of it comes down to, you know, when you're, you're making a career switch
or even if you're, you're starting out, it's, it's about storytelling.
You know, how do you relate the experiences that you have or the things that you have
in your life to whatever your new ambition is and what the company or whoever it is might
be looking for.
And, uh, and I think showing that passion and being
able to tell that story is matters a ton. Yeah, absolutely. When you get there.
What is your thoughts on so I feel like, in the world of, you know, developers kind of in the
early stages learning how to code, there's often sort of two camps, there's this camp that, you
know, I've heard Joel Spolsky talk about this, where it's
a, to literally, you know, everyone should start out coding in, you know, C or C++. They need to
feel the pain of not understanding, you know, memory error and having to dig into the details
to really understand the machine at its lowest level before, you know, graduating to sort of higher level, easier languages.
And that's really like key.
Basically, you need to weed out the weak early on.
And then there's another camp that's like, hey, let's be a little bit, you know, more
inclusive.
Let's start out, you know, learn, I don't know, Python or JavaScript, something that's
like a little, you don't have to worry about compiler, a little bit easier to maybe get up and running, doing that first program.
And then, you know, when you're successful there, maybe you'll graduate into more complex
tasks and so forth.
What is your thoughts in terms of how someone, you know, navigates that world?
Is there a right or wrong in this?
I would say if you can struggle through this, the C compiler,
yeah, you're probably set up to do this. But if you go and you hit this to C compiler,
you're like, this is all the programming is. And this is what it's about. And I'm not going to do this because this isn't for me. You're wrong. Right. That's your, that's not what it's about.
Right. Like anymore. Right. Like, I don't, I don't feel like that. That is, there are,
there are parts of this that you, you could like, and you're cheating yourself, I think by making it in that, why not
using the abstractions that exist? I even think that no code is a great way to come in and start
playing around with Kotick ironically, right? Like, like understanding the structure and how,
how things flow and what, what that's all about is an abstraction. No code has given us. And, you know, I think that there was like all this, there's a bunch of buzz
around that, about that taking over our jobs and things like that.
But I think really what, what happened is like there's abstractions and if you
can use the abstraction and it doesn't, you don't need to dive deeper, I think
you're going to be okay and like you should dive deeper when you need to, right?
If you run into something that you're not understanding, that's where you go and dive into it. But
like really, if you're building, if you're, if you're working on a smaller site, if you're,
if you're just getting started and you're working on a, on a website, you're working
on just like a standard website that, that has displaying some dynamic data. Do you need
to know how a compiler works? Do you need to know what a compiler is?
Like, I don't know.
There's this, there's this level of like, that's, that's where I'm at.
And like, I, I do see that as, um, you know, I think that there's, that's
also the camp of like, you need a degree to, to do this, that, that, that camp
exists, I don't know anymore.
I, I think that it's almost like your waste.
This is me talking.
I'm not the views I express might not be part of my employers.
I think that you're almost at this point, four years dialed into a curriculum.
There's no way that that's up to date.
There's not like that.
That's just a plain truth.
There's, there's no way that what you learn in there is still going to be up to date.
And maybe that's where you're jamming the compiler or something.
Cause that still is, is valid.
Right.
And that, that you are going to learn that stuff there.
Are you going to enjoy that?
Are you going to actually be building the stuff that makes you think that I want to
do this forever, or are you going to get near the end of this and be like, ah, I
don't know if this is for me, wait, what's an API and you're like a junior in college
and you don't know what an API is yet
on using a computer science thing.
That's interesting.
It's an interesting problem, right?
So I'm almost on the other side.
I think like if I had to put myself in a camp,
I would be like, do what's fun, right?
Because this is a fun job if you can find it
and you can find it.
It will be there.
That fun exists.
And whether that's the problem that you're solving or the way that you're solving it,
you're going to find it and explore.
I think, I think exploration is a huge in, in this, in this world.
Yeah.
Yeah.
I think that a lot of it probably ultimately comes down to the individual.
Like, you know, for myself speaking, you know, from my own experience, I had a classical sort of, you know, computer science education training and also very much was taught the camp of like, you know, the world of hard knocks.
Like you either suffer through this pain or, you know, go change careers and pick a different degree, essentially. But I have, you know, worked at, you know, great places
and with fantastic engineers
that have all kinds of different backgrounds
that have come from boot camps,
have come and started, you know, careers
in completely different spaces
and then took a boot camp,
ended up at, you know, Google was a great engineer
or people who, you know,
started with a variety of different programming languages.
So, I mean, there's probably no right path.
It really comes down to the individual and, you know, how much they get sucked into this,
you know, I think, wonderful world that we've been sucked into of being a builder, creating
and, you know, finding passion within it.
Yeah.
Yeah.
And I think that's the job of the developer educator too, right?
Is like to meet the people where they're at and make it, make it fun for them, help them find the fun
and, and, and what it is there, you know, help, help them be successful.
Absolutely. It should be, it should be fun. Yeah. Well, anyway, uh, Craig, I want to thank you so
much for, for coming on the show. Uh, thanks for, for jumping on in your first day back.
Hopefully, hopefully, uh, this is, uh, you know, a good sort of conclusion to your first day back. Hopefully, this is a good sort of conclusion to your first day back.
Yeah, absolutely.
Thanks for having me.
It was fun.
Fun conversation.
Thanks.
Cheers.