Approaching DevRel as an educator -- Kassian Wren

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] like you said i'm cass i am a developer evangelist or sorry developer advocate at cloudflare um i do a lot of hardware so that is me playing a bass you can kind of see it up here too it lights up the color of the note that it's playing and i was playing that in paris last week at dot js so i do a lot of hardware with with javascript hence the name nodebotanist i am agender and and i am intersex and i can talk about that later at karaoke if you want um i use they they're them pronouns i am an author as well as an iot addict i've written two books under my pre-married name which is cassandra perch i am now cassian rosner run long story for those of you who want to talk about a lot of karaoke as well i've also been doing devrel for five years before that i did a lot of developer education and um i did a lot of work for girls who code women who code and i worked for a small company called boku and taught classes so there are a lot of similarities between devrel and teaching and of course there are some differences as well but there there's a ridiculous amount of similarity between teaching a class and writing a content program for a developer relations team and so i'm going to kind of talk about the similarities and differences on how we can leverage those in order to create content that really invites our users to learn more not just about our product but about the technology surrounding our product so the similarities with teaching in a formal setting is that the topic is set in advance when you set out to write a uh write a video script or write a blog post you have a topic set in advance you have a objective in mind it's um for instance if you're doing uh oauth you can say this is jwt's 101 you can set these topics in advance when you write a talk there are many ways to learn much like when you think in a classroom setting you think of auditory learners visual learners etc there are many ways to learn in the real world and we we have to take that into account where we're writing content for developer relations and then questions questions and questions not only do we need to take user questions into account we need to make sure that our users can ask us questions and have the channels available to ask us those questions because they're extremely important so like i mentioned with the topic being set in advance the users have a good idea what they're setting out to learn they don't just wander onto the internet and think oh what am i going to learn about today it's like no i need to learn about i need to learn about this particular protocol because i'm doing this particular project or i need to learn about this particular technology or stack because i'm going to be doing a project in it and for each piece of content you can set prerequisites and then general level of knowledge for finishing that piece of content you can say look if you if you don't know what serverless is yet uh this piece may not be for you you can say uh you know prerequisites involved install react on your computer and make sure that's all set up and install nodes so you can kind of set those prerequisites in advance the different ways to learn require us to create many different kinds of content it's not just written content anymore with the internet being as amazing as it is we've now got video we've got webinars we've got streaming we've got all sorts of different ways to engage our audience in ways that allow us to educate them we want to engage with as many learning styles as possible because we want our users to be able to benefit from our content in ways that allow them to then go on and to use the product you want your contact to have a cohesive style and message across mediums this is something that i see a lot of with companies that have larger developer experience teams they kind of create content as they go and they kind of lack a cohesive message or lack a cohesive sort of like theme or even some branding issues can go um with this so when you think about content from an education perspective when you think about a curricula or a syllabus you have a general theme in which you're going to teach this class and each particular topic and each particular lesson can go under that overarching theme you want to think about it the same way when you're doing developer relations content so users will always have questions and that's great we need their questions we want their questions you want to know what those questions are and you want to respond to them as quickly as possible and that can be a little tricky and that's because of the differences between teaching in a formal setting and doing educational developer relation content it's much harder for users to engage you directly when they're reading a blog post or they're watching a youtube video it's much harder for them to be able to ask questions they can't just raise their hand and stop in the middle of the context and ask the question and so not only is it harder for them to ask questions it can be harder to answer those questions because you get a question about a video you made two years ago and it's about something in the middle of the video you might find yourself re-watching the whole thing just to remember what you were doing so that you can answer the question so the way we deal with questions is a lot different in developer relations content than it is in education in a formal setting your users will come from an extremely broad range of skill sets time commitments and levels so when you run a class as a teacher you can say look you need to know this this and this to be in this course you will learn this this and this and it will take this amount of time uh we'll be doing you know like two one-hour sessions a week for however many weeks can't do that obviously with developer relations you you have to kind of accommodate yourself to the amount of time and the skill level that your users are coming to you with um one metric that i find really important in developer relations content is what i call the time to first hello world which is extremely important for a lot of products because uh so a lot of times you'll have users who have a lunch break to explore your product and so if your time the first hello world is longer than that lunch break they will probably lose interest and not come back or just not have enough time to come back so we have to accommodate ourselves to those time levels to those skill levels and to those interests the other thing is your students won't come in batches i've noticed when i've taught developers and groups they help each other out they you know they'll catch each other up even in small groups they'll kind of form little pods that doesn't happen when someone's reading a blog post they don't know who to reach out to for help they don't know who to turn to and usually they're on their own so the difficulty with user engagement is that users engage with your content directly and with you indirectly if at all and if they do engage with you indirectly it tends to be asynchronous in nature it's either a twitter invention or an email or something like that you know you rarely get that unless you open the channels on purpose you rarely get that direct communication with your users and you certainly almost always have to deal with it asynchronously and out of the context of the original in piece of information that the user has consumed uh users don't always know how to communicate questions or feedback sometimes they just get an error and they don't know what that error is for and they don't have time to figure out what that error is for and all they have time to do is copy the error paste it into your github issues or stack overflow and say what's wrong with it they don't necessarily have time to research it and we as developer relations engineers have to be able to accommodate that and have to be able to deal with that because that's those are users those are just as valid users as the users who are able to research and aren't able to figure out what's going on on their own the spectrum of user skill and time you'll have users ranging from brand new to development in general to full knowledge and they just want to know what this one api calls argument order is or what the particular argument name is they'll need to you'll need to know how to get them where they're going without getting in their way and without leaving them lost so those are two different scenarios when you have a power user who just wants to find out the name of an argument you don't want to get in their way with a bunch of tutorial pop-ups that you know push the api documentation below the fold that's going to irritate those users on the other hand if you've got a brand new user and you just dump them right into the documentation with no uh other content or access to other content they're going to be lost they're going to be like okay i kind of know what an api is but i don't know what this api does and oh off an oauth and oh no what am i doing so you don't want to leave them lost your content needs to be navigable regardless of skill level your content needs to be navigable and i don't just mean your documentation i mean your content as a whole if you make a video for your product people need to be able to find it other than searching youtube for your product you need to have ways to connect your content online and there's lovely ways to do that to prevent users from to prevent content from going to waste first of all because if you take all this time to make this content and then no one is able to access it what have you done with your time really um and also you want that to be navigable so that your users can explore your product more freely and also possibly find features that they didn't know you had that they were looking for or find benefits that your competitor doesn't have that you have there are a lot of different reasons that making all of your content navigable is extremely important and i don't just mean the docs so how to use the similarities of education to your benefit you want to create content that engages different ways of learning and that's part of the fun part i think of creating content is finding new and fun ways to make content um if you've ever done streaming for developer relations work it can be a lot of fun and it can really you can communicate with your users and your and answer their questions in real time with what you're doing it's really fun if you haven't done it yet i stream hardware and software on my own time and for javascript robotics and it's so much fun to be able to answer people's questions in real time and deal with that in a certain way and it's also really great to engage kinesthetic learners by creating tutorials things that they can get their hands into things that they can try and build and break and that's how they're going to learn it's fun to create videos for audio and visual learners so you want to create these different types of of content not just written and not just videos even you want to go outside of that box you want to keep your documentation and your content centered around your product but you also want to reach out to technologies related to your product this is more of a marketing strategy than it is about education no one's going to look up your api specifically because they want to learn about a technology they're going to look up a technology and then find your company so this is a completely different scenario and that's why you want to write videos write content that is not branded that is focused on technologies around it that happens to link back to your product and bring those users in it's also important from an educational standpoint because when you're reading a textbook if it comes up to a subject that could use more explanation but isn't it isn't inside the scope of that book what do you see you see a footnote that footnote goes to another book or it goes to a piece of reading on the internet or it goes to somewhere else another piece of content that you can use to expand your knowledge so writing videos about technologies that surround your product also help your users learn because if they're missing a basic piece of their their context in order to use their product if you've created something that will help them gain that context they will be more likely to use your product and they will be less likely to go off of your content go off of your page and then have to find their way back you want to consider common pitfalls and questions in order to prepare that information in advance partially because of the way users cannot synchronously ask you questions or users have trouble finding ways to ask you questions you want to prepare common questions one thing i like to do is i like to hand over a product tutorial to someone who's never used the product before and see what they ask see what they you know have to say and kind of build in the answers to common questions and pitfalls in advance but you can only do so much to be fair so the refresher for the main types of learners there are lots of different types of letters but these are the three that i see the most of auditory which is hearing visual sight and kinesthetic which means i want to build it and break it and that's how i learn i personally am kinesthetic highly kinesthetic if i can't if i for math for instance if i'm not doing the types of math problems i'm supposed to be doing i'm not going to learn it like i have to break it and do it wrong like a hundred times before i can start to do it right um but anyways everyone's a different type of learner so creating content that engages all you got your usuals your written docs your tutorials your videos again you should reach out do streaming do webinars twilio has twilio quest which is a game which is really fun and great for kinesthetic learners who want to try something and build it and build it fast so there are a lot of different ways to create really fun content that can be fun to make too if you're looking for a way to spice up your your content creation you start making something that you hadn't tried before moving into related technologies it pulls the users into trying to learn about related tech towards your product they may not know you exist um but if they see a video of yours for related technology that because for instance um let's talk about oauth and off zero right if you're trying to implement oauth in your own program i'm sorry and also you're looking up how to do oauth and you might run across an auth zero video about how to do a particular piece of oauth then you find off zero and then you think to yourself oh i don't need to implement oauth there's this product that will do it for me so there's a really interesting chain and it can work the other way too like i mentioned before so say you're using off zero and you're like okay but what do i do with this jwt like what is it what can i do with it what does it stand for they need that information about jwt so you have that information you have that information available to your users and your product will be easier to use creating a better developer experience i find that creating technology videos for related technologies helped me keep a good eye on the changing tech around our product tech is always changing constantly and it's one of the ways that i've found that's the best for me to keep up with what's going on is by creating related technology videos to the product that i'm working with because i have to learn it so that i can create the content right it's a really handy tool to have as a developer relations person so protecting questions and pitfalls you want to make sure in your non-real-time content and include the answers to common questions how common it's kind of a wibbly wobbly you kind of have to go by i go by ear or go by eye on on how many common questions in pitfalls whether to include a footnote or whether to include the answer directly in the the post or video or whatever you're looking at but you want to be cognizant of when you do that and how you do that and why you're doing it you want to add them in a way that don't block your power users but give your new users a path to follow know when to use a footnote or a link to another piece of content versus adding another paragraph to explain a basic concept in an advanced article know when to do that and um unfortunately the best way to do it is to just kind of get an eye for it and here for it and just like try it with people who have not used your product and people who have used your product for a long time and ask them that's something i found a lot of people don't do and try it it's fun um make sure to keep these up to date and i know that's like a very common statement is to keep your content up to date but really make sure to keep your content up to date i would rather have no content than outdated content because it can really confuse new users and it can really upset power users if say you change your api and they're using the old api and you get a bunch of angry tweets three in the mornings they're in a different time zone that's fun um you do the work to keep your content relevant that's part of our jobs that's how we do this is we have to keep our content message in a relevant sphere to where developers are looking in order to make sure that we're helping our users use the technologies that then sell our products so how to navigate the differences find as many ways as you can to allow users to contact you in direct manner as possible you create experiences that allow power users to jump ahead and you make sure that your first the time your first hello world is as short as possible to get new users in the right place quickly so finding ways to engage your users create open spaces for users to contact you github slack message boards drop ice github make sure to allow your users to contact you yes it's still asynchronous and yes it's still not the best way but it's still something and so you want to make that prominent and you want to make that you're one of your first things your users see is you have feedback do you have questions sure it feels like no one clicks the feedback links but people do click the feedback links and people do file github issues and sure it's not everybody but it's going to be a heck of a lot fewer if your github issues aren't findable if your github repositories aren't available see how users solve each other's problems look up stack overflow questions look up on the internet how to solve common problems with your product and see how they solve each other's products problems and let that advise your content if you see a lot of your users you're posting stack overflow questions or answers or comments about a specific topic even if it's just a related technology maybe it's time to make a piece of content about that related technology or maybe it's time to update the content around the problem that's being had create power users in your community and enable them it's absolutely worth the extra time to do this it makes them feel better it causes them to help solve other people's problems and it really just feels good to connect with your community and have a group of people that you can say hey we're about to release this new feature what do you think of it what do you think about this content that we're releasing around it having that pool of power users is a super great tool and it's a symbiotic relationship you're taking the time to empower them but they are also a valuable resource for you because they have shown that they are willing to listen and willing to give feedback so you can use that feedback and use that time that they're willing to put into your product building a cohesive experience for your content means keeping a goal in mind that each piece of content fits into you want to have a cohesive experience and you want to have a full experience so that goes into the related technologies thing your documentation and your content should not look like a line of here's where you start with our product and here's where you end with our product it's here's where you start with our product and here's the technologies related around the start of our product and here's the middle and here's some more technologies that are related to our product and then as we get to the end there's fewer related technologies as you get into each niche but there might be some forks things like that so you want that cohesive idea you don't want to just create content for the sake of reading content you want to create a content plan around your product and then move forward from that you want to build paths you want to think about the happy path for each individual user not literally each individual user but create personas and think what is the happy path for someone who's just started development and wants to use my api what is the happy path for an expert who just wants to look up a piece of reference what is the sad path for a new user when do they get stuck when do they get lost curate and actively hone your paths and overall vision regularly in order to avoid a tangled jungle of mess and videos and code and very angry users it takes a lot of work to curate a lot of content but that is what is necessary especially when you think from an educator's perspective educators spend a lot of their time when they're not actively in the classroom training and re-honing their context re-figuring out okay what do children need to learn what do adults need to learn to be able to do this or function in this capacity they are honing their knowledge they are updating their information especially teachers in fields such as science that where we're learning new things regularly you have to be that same person you have to look at your content and go okay is this outdated am i using an outdated specification here is it time to refresh this post is it time to refresh this video it takes work but it's worth it so all that leads up to building content that invites users to learn never leave your users hanging always have another piece of content to consume even if it's not yours always have something to give them to say okay here's what's next even if it's not yours have real calls to action not just sign up for our newsletter i'm sick of seeing sign up for your newsletter i'm probably already signed up for your newsletter and i'm probably not going to sign up again make yourself available to users for feedback make a stackoverflow account i know i know i'm aware i don't like it either but make yourself a stock overflow account make yourself a reddit account make yourself readily available to your users open up your twitter um yes that sucks if you're a non-white male i'm aware and if you do need to close it for self-care please do but in general for deveral work try to be as open as possible but i understand that's not necessarily possible for everybody in this room because sometimes harassment is a thing actually all the time harassment is a thing sometimes harassment is a thing for you so give users projects to explore tear apart and modify treat demos like legos make them modular and easy to dissect and easy to augment give a user a box made of legos and say okay this is our product and this is how this is the basic use case and then they go oh cool i could add a tower here and i could add a moat here and i can add an alligator piece because those are always cool and then i've got this new app and then you're like great that's exactly what we're looking for here post that new app onto our our documentation so that other people can tear it apart and make things make new things so you want to encourage repositories of demos that solve many common user problems and you want to encourage users contributing to your docs open source your docs there are very few scenarios i can think of where open sourcing your docs is not a good idea very few so open source your docs and allow users to contribute to them you'll find a lot of typos that you missed so i'll give you an example um i i would say this is tuning my own horn but it's not i actually didn't do this it's the company i'm for but the developer experience team actually built out the cloudflare workers documentation and i want to show you what i mean when i say like happy paths things like that so on our left here we've got everything from tutorials to reference so if i'm a power user and i just want to know kv and i just want to know what web standards are available to me i can just click through and get that content quickly however if i'm new one of the first things you see is our template gallery right after the quick start of course but the template gallery i'm really proud of so this is all of the possible not all literally but as many of the possible scenarios that new users could face that want to write a worker as possible in a copy and pastable format and i literally mean we can just click to copy and paste it into where worker we've even got what are called boilerplates if i can scroll down here which uh basically this uses our cli tool you just copy the cli tool into your terminal hit run and you have the project and you can run it the other thing i love about the the snippets and the boilerplates is underneath each you've got a learn more so that one's a little bit sparse let me go to one that's a little bit more robust um there's router we'll learn more is good with router so this is a tutorial around our router we've got more information about how the code works we've also got a link to the github right there so you can go see this what the of course this breaks now uh let me try the other github link oh it's not there oh great i just clicked this github link okay so uh it goes to the code so all of our templates are open source as well so you can fork this and and and mess with it uh you can also demo it on the website so if you want to see how the worker works in real time so giving users as much capability as possible and getting out of the way of power users i think the cloudflare documentation does a pretty good job of that and then we always have a new piece of content for you to explore even if it's not necessarily ours and again we just get out of the way of the folks who need to just look up a particular api reference or look up a particular wrangler command so i have a brief aside is there any hiring managers in this room i need you to hire someone different from you i don't care if it's gender or sexuality or race or something i need you to hire someone different from you and if you make the joke of well cast that would mean you hiring a cis-hit white man i might just break the code of conduct um i get it i know what you mean a lot of people are different from cis-hot white men but what i mean is there are an awful lot of problems with diversity in devrel and in tech in general and so if you are a hiring manager and i call it a challenge because i know it's a challenge it is hard to find someone different from you and hire them it is hard to find someone from a minority group or a different sexuality or a different gender identity i don't care do it anyway so yeah thanks um you can you don't have to applaud for that that's just basic human decency so that qr code leads to the github repository that contains the slides i didn't have any code for this presentation so it just has the slides i will also tweet out a link to the slides uh carl sagan and i think you're awesome i can be found in nodebotanist that is my twitter handle my github handle my linkedin handle my everything handle um and i you can email me at kas cloudflare.com if you have any questions about like cloudflare stuff um you can get my personal email from me if you want to email me about not cloudflare stuff so i think i'm way under time but you know what that's cool you get a few minutes back in your day so you know what thank you so much and have a great [Applause] day you
Info
Channel: Dev Rel
Views: 77
Rating: 5 out of 5
Keywords:
Id: 1Y_aiWX-Xjk
Channel Id: undefined
Length: 26min 29sec (1589 seconds)
Published: Wed Mar 17 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.