(00:00) the speaker has been working in devell for more than 15 years I did the math and I was like 16 17 I didn't have enough hands um but um they've been in the business for a long time so if you're interested in learning about closing knowledge gaps and teaching people how to succeed with your products I'd tune in double extra for this one your next speaker has done everything from art to designing education strategy at Postman to co-founding us nonprofit that partnered with Mozilla on open education events to where are now um so
(00:32) I'm so glad to Welcome to the stage learning experience lead at fastly Sue Smith thank you cheers thanks so much Che hi humans in a place it's kind of weird I'm looking for the share screen button but I don't need it um yeah I'm Su I work at fastly I joined a year and a half ago with the rest of the glitch team up until last week I worked in developer experience now I'm in product experience where I work on The Learning Experience there just there's just so many things to experience but like it wouldn't be
(01:18) develon if literally everyone's job title had not changed between pitch and the talk and deliver in the talk it's like part of the gig I'm at the same company so I'll happily take that um I'm going to talk to you about developer learning I'm going to run down some principles that you can use and I'm going to introduce something that I'm calling a framework which is kind of a hypothesis about a standard way to deliver developer learning but what I would really love to do is co-create that with
(01:52) people who are working in or around developer learning which means most if not all of you um I'm going to show show you a demo of what it could look like in glitch but you're absolutely not restricted to using glitch you can use everything that I talked to you about in any environment you like so we're getting right in about it here there has been so much talk recently about AI assisted coding and this has been frustrating to me for reasons one of them being that it it kind of reveals how badly we've done at
(02:33) articulating what software development is at describing what a software developer does that's not the subject of this talk but what I will say is that at its core it's a learning activity software developers are always learning new Frameworks they're always solving new problems even if they're implementing something they've done before they're doing it in a new context each time so even if you have the most intuitive fantastic developer experience in the world the task that the developer is
(03:09) engaged in is a learning one so you're probably going to want to support that so what I'm going to talk to about today it applies to explicit education experiences where the developer has chosen to pursue a course or whatever but it also applies to developer on boarding so anywhere that you're trying to enable people to adopt developer product learning is happening there but it's cool because we know how to do this now when I transitioned to Tech which I think actually might have been 17 years ago as
(03:44) to stopped counting um there was a kind of acceptance of this incredibly High dropout rate on computer science courses there was a sort of complacency about it as if it was just this unavoidable reality there was probably a bit of gatekeeping in that um it benefited the students who are coming from privilege and who've maybe had access to a computer at home have had had access to tuition um but to me that's not acceptable because Tech affects everyone at this point so we really need as strong a representation of people as
(04:22) possible building it if we want it to be empowering more than it is exploitative but there's no excuse for that lency because we actually know a lot now about teaching people to code so between learning science and research a lot of which has been conducted by the Raspberry Pi Foundation we actually have a lot of tried and tested techniques that we can use um there was a fantastic devel con talk a few years ago from Joe Nash that I have to mention it introduces a lot of this and Joe has done so much to promote awareness of
(04:59) This research so I couldn't do this talk without mentioning that so I'm going to break down the principles that I'm going to talk about into four and the first one is centering the learner hopefully in this space in the year of 2023 the idea that you would prioritize the learner is not a controversial one but in most of the world in our education and institutions and schools that is absolutely not what we do we have this notion that the teacher kind of bestows learning on the student the students are these empty vessels
(05:37) just waiting to be filled that's not how it works doesn't work like that at all but unfortunately most of our schools were not designed for learning they were designed to Output obedient productive workers again that's not the subject of this talk I'm not going to go down that rabbit hole um I would refer you to the work of Ken Robinson and Paulo freri on that thoroughly recommend both of them but I'm going to focus on the value of actually prioritizing the learner so this is why I tend to talk
(06:17) about learning more than I talk about education um you may have heard of learner centered design in schools it's especially valuable in developer enablement because if you're trying to teach people how to use your Tech the reality is that your Tech is just one piece of the puzzle they're probably integrating it with loads and loads of other pieces of technology so we can't really have a myopic focus on our own products in fact that might be one of the reasons devil exists so the best we can do is create
(06:54) the conditions for Learning and one of the most effective ways to do that is to be be respectful of the learner's agency so something that I like to do is encourage Learners to think about how the tech that they're using relates to the world around them you know it's not separate from that it's not objective and if you can do that in a way that actually creates a dialogue then you've created the opportunity for shared learning which is even more effective and the learner context is always going to have a huge
(07:28) bearing on success that includes their background it includes the situation they're in you know are they learning for a personal project are they working at a company are they freelance is it a startup do they have the resources to invest in learning up front or are they on a tight timeline and they have to learn in the process of building a solution um psychological safety is a huge component in learning to learn a code you have to get comfortable make mistakes don't you but that requires psychological safety and there's a limit
(08:05) to what you can know about the situation that people who are learning you're take it in you know it could quite literally not be safe for someone to make a mistake like maybe they're the only under represented person on their team making a mistake could have serious consequences so there's a limit to what we can assume about the learner context but we have to know that it's going to have a huge bearing on success to me this is true of developer enablement generally success is the achievement of something that is
(08:38) valuable and meaningful to the learner all right I'm going to jump into the next set of principles and I've called this paths but what I'm mostly referring to here is the prim model which was developed by the Rasberry piie researchers and they have used this with kids in classrooms um but it's really useful for developer enablement in Industry too so the idea is that you share a piece of code um you get the Learners to guess what it's going to do you run it find out what it did you investigate how it did what it did you
(09:16) get the Learners to make a small modification and then to make something new with it so the concept of remixing is part of this you might be familiar with that from scratch or from glitch if you use it um and the basic idea is that you give learner something that is already a complete running project it's essentially like a get clone but it's inside a running developer environment um it means that you can get the learner to make a change and it has an immediate visible impact rather than having to do a lot of upfront
(09:52) scaffolding so it's less intimidating than a blank slate it's a bit more stimulating than a blank slate historically we had this assumption that coding was what was called a numeric discipline so we thought it was like maths and Science and it is in some ways but what we've found over the years is that it has a lot of similarity with natural language acquisition so we can draw on that we read before writing so why wouldn't we do the same with code um and code comprehension is a an important skill that we want to cultivate when you
(10:28) look at the skill set that an experienced software engineer has code comprehension is a huge part of that there's a lot of evidence that guessing improves subsequent learning even when the guess is wrong so in school settings teachers who are using this will use testing for learning rather than assessment when you use testing for grading it's kind of problematic it basically tells you who's good at taking tests doesn't really tell you what people have learned but if we have little kind of low stakes pop
(11:03) quizzes find that that's actually really helpful for Learning and the modify and make steps in the prim model these are creating a path for the learner to take ownership of the code so we start with a a kind of easy low barrier change that's not scary and then we move on to making something more comprehensive from there and if we can normalize making mistakes as part of that it that helps hugely one of the things I love about glitch is the Emoji that we have in the user interface it kind of incentivizes you to break your
(11:41) project cuz if you break it you get to see the little swey face so I'll kind of deliberately break my project for that reason and similarly with the rewind function which is like a graphical get revert and it just reduces the fear that you're going to make some terrible mistake that you can't recover from patterns these are drawn on the same research but what I'm talking about here is some more granular tactics that you can employ um spacing and interleaving this is the idea that you mix the topics up
(12:14) and you insert spaces and your coverage of them retrieval that's similar to what I was talking about with using testing if we can get Learners to retrieve what they've learned it improves retention of the skill um and the semantic wave is a practice where we vary the abstraction level I'm going to talk a bit more about that in a sec so with the spacing and interleaving you would maybe start with one topic you move on to another one maybe go back to the first one so you're in certain spaces in your coverage of a topic and
(12:48) you're mixing it up and part of the benefit of that is getting the learner to retrieve what they've learned and reapply it in a different context um that's when you're helping people people to acquire skills that they can go on and reuse out in the world the semantic wave the idea with that is that you start with an abstract conceptual introduction to a topic and then you come down into the Practical implementation of it maybe you get Hands-On some code that implements it and then we build that back up into
(13:22) another abstraction um and part of why we do this it's part of how we build mental models so mental models are core to writing code again if we look at an experienced software engineer the skills set it's not specific to a language or a technology it's a more abstract set of skills that you can deploy in different settings this might seem obvious but coding is a practical skill like we don't learn it by listening to someone talk we learn by doing um and you know devil a lot of developer products will use success
(14:03) metrics like time to First Call because we know that having a a fast easy first interaction as a predictor of subsequent engagement and the same goes for Learning and if you're able to slot in a learning experience there you can help developers to understand the purpose and value of your Tech to understand why they would want to use it this one's my favorite but it's the hardest one to articulate because it's all human and messy um but what we have found is that having Learners reflect on what they've
(14:37) learned and share it connect it to the world around them that it improves their ability to retain the learning for quite a long time my specialty was I would learn how to code something and then I would write tutorials to help other people learn it and it took me years to realize that the writing was part of the learning that that was part of how I was retaining these skills and how I was able to reapply them but we know that reflection is part of what makes learning stick and your learners exist in communities um maybe your own Community
(15:19) around your Tech maybe other developer communities if you can encourage them to share say on a community Forum or whatever and to collaborate with others it helps them to make sense of what they've learned within a social context and your Tech exists within a context as well it exists within an ecosystem so if you're able to connect your learning experiences out into the world technically it sort of places your your product within its technical context I briefly worked on the open badges program when it was at Mozilla
(15:57) and one of the plans that they had had that unfortunately never came in life but that I always thought was such a great idea was this idea of a a badge pathway where the learner would create their own path rather than following like a prescribed linear path like you would with a traditional qualification um and the idea behind that was that it lets the learner create a more authentic picture of their skills and accomplishments the best motivator to learn is having a goal that is much bigger than the tech and so the learner decides what
(16:35) that learning achievement means within their own Journey all right that's enough philosophical stuff I'm going to talk about this thing I'm calling a framework and I'm focusing it at the level of a lesson which is kind of granular I'm not going to talk about discovery which is important but it's beyond the scope of what I'm going to talk about so we start with with an upfront indicator of what we're working towards so that the learner can self select based on whether it meets their
(17:06) goals and when we indicate prerequisites link out to them because it keeps the door open to people who are not ready to engage with the learning experience at hand then we have a series of steps and each step has a topic and some code that implements it we get the Learners to guess what it's going to do we run it we explore how it did what it did we get them to make a change and then we pack that back up into a conceptual recap and then once we've worked through the steps we move over into a project and the project has some of what we
(17:47) covered in the steps but we get the learner to extend it and this is us getting them to reapply what they learned in a new context so you can see that we've got a bit of the prim model in here we've got a semantic wave ideal and then we encourage them to reflect what did you find hard what was interesting what would you use this for you get if you can get them to share within a community setting that's ideal and then connect to further learning that they might want to explore this is an example of what such
(18:22) an experience might look like in glitch um if you're not familiar with glitch you can access it in the browser we've got the file Tree on the left the file being edited in the middle and then the preview in the preview auto updates as you code I'm going to show you a very small video of this running so we've got our preview we've got an intro to the lesson we've got some prerequisites and then we've got a series of steps and each step has got some code in it we ask the learner to guess what it's going to do we get them
(19:01) to run it and glitch running it just literally means copying it into the file because it will auto run um and the preview is going to auto update based on progress where you recap what we how the code did what it did we get them to make another change and then we move on to the next step so what I've got going on here is a lot of stuff running in the background that is checking each step for completion it's Mega basic this is not like a full coding learning platform it's all written in vanilla JavaScript
(19:36) because I wanted it to be as accessible as possible a lot of school teachers use glitch I don't want to expect people in no react or whatever so I've tried to keep all as vanilla as possible um and in this case the change that the learner is making is having a visible effect on the page which is ideal cuz it gives that sense of momentum and fact and if I refer back to that Jo Ash talk I remember him talking about the thrill of I made a computer do a thing like you're giving them that it makes sense in this
(20:06) one because I'm teaching them how to use JavaScript to manipulate the page but if you're able to have some sort of visible output of what the edit that they've made does that's really ideal so once we've worked through all the steps then we move on to the project which I'm not going to show you in the video but it's all going to be linked from the URL that I Shar with you at the end all right why why am I talking about this why am I get on about this framework thing I'll tell
(20:40) you because it scales if you can use Automation in your learning experiences you can scale them without having to keep throwing people at them um and it lets you optimize The Learning Experience for autonomous engagement which de a developer audience over overwhelmingly prefers um they want to be independent they want to advance at their own pace they want to get instant feedback they don't have to wait for someone to help them having said that you can also use these resources in live learning if you do events if you do workshops webinars
(21:17) people like to have something to take away with them they can go back over what you covered in the session um and they can continue developing it after if they want the one may be slightly controversial but something that I have personally found very valuable is collaborating with people who work in sales and solutions engineering and customer success and support um and what you'll find is that the same learning experiences are useful in both I'm a strong advocate for doing this because you can actually use that
(21:53) to benefit Community I'll tell you why in a minute when we have an automated framework we can build progress tracking into it so when I was at Postman I used to use glitch to teach people about apis and I had progress tracking built into it I wasn't tracking any creepy personal data just like how far people are getting through the learning experience places they getting stuck it's a source of product feedback but to go back to the previous point one thing that's very challenging when you roll an experience out to
(22:27) community is getting qualitative feedback you can get your quantitative metrics how many people are engaging but it's very very difficult to get that higher Fidelity feedback but by collaborating with people who are working with customers those are more closely managed relationships so they're a great source of high quality feedback that you can then use to benefit the experience that you're given Community if you have a partner program or if you have Tech that your Tech integrates with co-author a learning
(23:01) experience with them it's a partner development opportunity all right this link is going to take you to the template version of what I showed you in glitch if you remix it you will get a link to the one I showed you in the video it's all totally rough and untested um and it also has a link to a gethub repo if you use any of this or if you want to collaborate with me on it please do please talk to me even if you use it and it's a disaster especially if it's a disaster um you can get a hold of me on
(23:36) masteron soe at glasg go.so or on the glitch Forum support. glitch.com I would love to collaborate with all of you on this and I think that's me thanks for listening I hope I've left time have I yeah you certainly did um th thank you so much does anyone have a question we got a couple minutes hi SE thank you for amazing work we are doing my question is why what is what is your why to doing all this develop education why does it matter to you so much personally yeah do you know why I come from a very poor background
(24:21) and I was fortunate enough to live in a country where I had access to free tuition and so I got to to learn Tech which completely changed my life beyond recognition I was able to access economic and other opportunity that I couldn't have imagined standing here right now is not something that I would have imagined as a kid standing here at all at 45 maybe I didn't imagine that as a kid and I think more people should have that experience it really is not right how biased our education experiences are in favor of privilege
(24:59) so that's why [Music] [Applause] thank uh I just want to say I'm a huge fan of glitch I think it's really cool one of the things I've noticed especially younger developers when they're getting into things that they really get out of it is that remix functionality you know you want to take something you want to tweak it Fork It Whatever the terminology is but lowering the barrier to just like playing around with things seems like a really big part of the educational process for people so I'm just curious do you think that's
(25:33) part of the reason why glitch has been super successful like what do you attribute uh as like the most successful part of the learning experience to do you know to be honest with you although glitch is really heavily used in education one of the biggest use cases of it is uh teachers and classes but we to be honest have never really doubled down on that usage of it we haven't really built the product for them that some might argue it's better for that to happen organically rather than it to be tied to all your okrs and stuff like
(26:06) that but um something that I personally really wanted to Advocate when I joined glitch was actually talking more of people who are using it in education and doubling down on that usage so I hope that we will do that I don't want to promise we'll do that but I hope that we will so I'm sorry did that answer the question thank you okay um I think we had time for one more if there's one more question ah I felt you thank you see that was wonderful um it's not so much a question but more of a I'm grateful for this you're talking
(26:44) to an ex- teer an ex- teer of computing to very little children and I want to say Well done for showing and being really aware of the vulnerability of a learning experience I used to tell tell my students I didn't want to see you know ticks on the page I wanted to see mistakes and actually learning is a journey into the unknown it's all about that space it's really uncomfortable about what you don't know so thank you for that lots of empathy L it thank [Music] you
(00:32) I'm so glad to welcome to the stage learning experience lead at fastly Sue Smith thank you che hi humans in a place it's kind of weird I'm looking for the share screen button but I don't need it um yeah I'm Su I work at fastly I joined a year and a half ago with the rest of the glitch team up last week I worked in developer experience now I'm in product experience where I work on The Learning Experience there just there's just so many things to experience but like it would not be.