Welcome to DejaVue, the Vue podcast you didn't know you needed until now! Join Michael Thiessen and Alexander Lichter on a thrilling journey through the world of Vue and Nuxt.
Get ready for weekly episodes packed with insights, updates, and deep dives into everything Vue-related. From component libraries to best practices, and beyond, they've got you covered.
Welcome to DejaVue, your favorite Vue podcast. You maybe just don't know it quite yet. I am Michael, and I'm here with Erik Hanchett, who is a senior developer advocate at AWS. He's also got this awesome YouTube channel. He talks about Vue and all things related to Vue.
Michael Thiessen:He's also a author, content creator. He gives talks at conferences, which is where we initially met last year. And, you know, just an all around great guy and, so glad to have you here, Eric.
Michael Thiessen:How would you describe yourself to to people? If you're talking to your mother-in-law, how would you describe what you do for work?
Erik Hanchett:Hi thanks for having me on, Michael. Appreciate it. Now that's a good question. I would say I would describe myself as someone who teaches code and and teaches people about, what we have to offer at AWS, but I really think myself as an educator like yourself. So I like to educate people on software best practices, software development best practices, Vue.js. I've definitely branched out a little bit, into more than just Vue, doing React and Angular and all sorts of things. So, yeah, an educator probably would be a good term to describe me. I also like you said, I love to go to conferences. So I've gone to several this year, given lots of different talks.
Erik Hanchett:So that's also been a fun part of my job as well. I feel like my job as a developer advocate is, is kind of a weird mix between a software developer. I did software development for over 10 years doing back end, front end, doing Vue, Angular, React, and and a little bit of marketing too, but it's, it's more focused on like the educating and the software development piece at where I work.
Michael Thiessen:Nice. That sounds very similar to how I would describe myself and what I do. Education is probably the easiest term for it. You know, if I'm going through customs at an airport, I just say I'm a software developer. Cause that's doesn't invite very many follow-up questions.
Michael Thiessen:But I also, yeah, it's, it's fun. I get to do some coding. I get to do some writing. I get to, you know, go conferences and, and all that other stuff. Just fun.
Erik Hanchett:Yeah. That, that I didn't even know for the longest time that there was this position called developer advocate. You might hear it called developer evangelism at other places, but it's literally a job made for people who love to just, talk to people, create content, educate, go to conferences. And when I found that that position was available at, AWS where I work and I was like, wow, this is awesome. I I went for it and it definitely fit in well and especially fits them well for people like us who have this passion to to teach.
Erik Hanchett:You don't get to do some of the fun things you get to do, like create, podcasts and courses. It's not it's not that. At least at least not my position. I don't create courses, but it's definitely I create a lot of demos and a lot of, different pieces of content. And and occasionally we'll deep dive, into more advanced topics, of course, as well.
Michael Thiessen:Do you find that because you're spending so much time creating smaller demos for, you know, to showcase like one thing here, one thing there, Do you find that you miss like that a really deep technical problem solving where you're like, you know, spending 2 days just struggling through like a web pack configuration or, you know, some weird little edge case or something that's like happening your, or, you know, even like refactoring part of a code base that you don't, you don't really need to refactor demos because they're so small most of the time. Right?
Erik Hanchett:Yeah. That's a good point. I don't get into as much of that day to day grind as I used to. So in a like a normal software development team, you might have a sprint that while it lasts a week or 2, and then you have a number of points, and then you have a special task that you have to do. And and you have to go through it.
Erik Hanchett:And I love those days where, you know, whatever. I had 5 points in this one task. And I know it was gonna be really hard. And and I have to deep dive into it and get into a lot of technical details and then submitting a pull request and getting feedback from others. I don't get that as much.
Erik Hanchett:I do get a little taste of that though because we do have something called friction logs. So oftentimes, our software developers will create some really new, nice new features. And then I kinda get to go in and almost like doing a code review, but not really. I'm not looking it's more like black box testing almost, but I kinda get to go in and test out the feature, tell the developers, the product managers, like, hey. I like this part.
Erik Hanchett:This part didn't work. And sometimes it's so early on, like, things aren't working right. So I have to kinda use my troubleshooting a part of my brain to be like, k. Why isn't this working? Okay.
Erik Hanchett:Do I need to configure this a different way? Is there a bug in the software? And and luckily, a lot of our things that we do and least the department I'm in is open source. So I have in the past, like, deep dived into the code and looked at it. Occasionally, I have pushed up pull requests still just for fun for a small little bug fixes, features, docs, and and done that as well.
Erik Hanchett:So I I get I get some of that, but not as much as probably some of the listeners are listening today do. Although, I don't miss, everything with that process. Anybody who've been on a software development team knows that there are oftentimes tight deadlines and you have to kinda work over, and the point system isn't always accurate and dealing with crazy code reviews and going back and forth and delaying processes. That part, I love sometimes, and then I didn't love other times. So I'm glad I don't have to deal with that in a day to day basis.
Erik Hanchett:And I get to have different problems. Like, I put out 5 what they call CFPs, comment for papers, for 5 different conferences. And now I have to deal with okay. What when I create this conference talk that I wanna submit to this conference to hopefully get picked, like, how do I figure out or, like, what the best talk is for the audience? Like, what can I get for a catchy title?
Erik Hanchett:What can I put for a catchy description? And then, how do I submit it on time? Because there's there's so many conferences every year and they have all these different dates. And so I'm focusing in that part. And then when I get accepted from one of them, I'm like, how do I make the best talk I can?
Erik Hanchett:How do I make something interesting that that the attendees will really get something out of? So then that often takes a lot of deep diving into a technology. Like, just the other day, I've looked into Nuxt. Well, I've done this talk a couple of times, but I looked into Nuxt server components with which is an experimental feature. And I was like, okay.
Erik Hanchett:How do I tell the story the best way? And I was really looking into it. I even contacted, Daniel Roe. I'm sure he's been a guest in he's been a guest in this podcast. Right?
Erik Hanchett:Mhmm. Yep. Yep. And and a few other people, and I was asking questions. Nice thing about being in in this Vue community, everybody's so welcoming and nice and able to to to message you on Twitter if you DM them, or email them.
Erik Hanchett:Everybody's really cool. And so now I got to deep dive into that topic more. And, actually, I saw how it's been evolving the last 6 months too, and that was really cool, and then putting it together in a presentation. And then I give the presentation. That's a whole like new set of, of different things I have to do.
Michael Thiessen:Yeah. It's interesting what you say, because it's like the, you know, the grass is greener on the other side and really it's just like trade offs. You're trading one set of problems for another set of things. And yeah, I wouldn't say that like everything about what I'm doing now is like all better than when I was doing development every day, but it's different.
Michael Thiessen:And I, there was a point where I kind of got tired of, you know, fixing these little bugs. It's like, okay, there's like the CSS thing that's like annoying. It's not really that interesting. It's just like another, you know, flex box thing or whatever, or these like really technical things where you're just like, you know, smashing your head against the wall for like 3 days and not making any progress. And like you've gone to all of the, the stack overflow posts and the Reddit posts and the, the GitHub issues, and you've read them all like 7 times trying to find the answer for this thing and you can't figure it out.
Michael Thiessen:And like, that is so frustrating. And I got to a point where I was just like, you know, I, I want to do something a little different. And so, yeah, now I get to do something different, but like you say, like there's a whole other process and, you know, public speaking, as most people are aware is not the most fun thing all the time and it can be really scary. And it took me a long time to even get comfortable on stage. And now I'm a lot more comfortable on stage speaking, but you know, it's still, it's still exhausting.
Michael Thiessen:It's like, you know, that 20 minute talk is like all I can do that day, and then I'm done. And it's like, I need a nap and, you know
Erik Hanchett:Yeah.
Erik Hanchett:I definitely feel I I'm with you just right after you get to talk, like all that weight's off your shoulders and you're like, okay. Now I I can really focus on the rest of the conference. That that's fun. Yeah. Yeah.
Erik Hanchett:For those who've never been a speaker at a conference, it's a lot different experience than being an attendee because we have a a time and and a date that we need to hit and we need to have our whole deck presentation ready before that time. We have to have a polished and then oftentimes, like, going to other people's talks before your talk. It's like, it's kinda hard sometimes to pay attention. Cause you're like, okay, did I get my slides ready? I think I've, I think you're probably like me made like tweaks and updates to your slides all the way up to the, up to just maybe an hour or something before you get on stage.
Michael Thiessen:Yeah. I'm either tweaking my slides and like rehearsing it a bit more, or I am like, I don't want to expend my mental energy by like focusing on the previous talks and like, oh, how I'm going to learn this new stuff. Like as an attendee, it's exhausting enough, but like, I've got to do some other stuff after that. Right. So I, I usually don't go to previous talks before my presentation, because I'm just trying to like, I want to stay as mentally fresh as possible because you know, there are 500 or more people in the audience and they've paid money and they've come in from all over to, to see the different people give their talks and to see me give my talk.
Michael Thiessen:And so I want to make sure that that 20 minutes that I'm up there is the best that, that I can possibly do. So, yeah, it's, it's a very different experience and, Yeah. So if you, you see people at conferences, if you see the speakers and they're not around and you don't see them very much, then that's probably why, because they're like mentally drained and recovering in their hotel room.
Erik Hanchett:Or or tip there is usually like a speaker room somewhere where all the speakers hang out sometimes before and sometimes after their talks. So if if you kinda know where that is, if you're in the know, you could probably just usually, one of the speakers walk out of that.
Michael Thiessen:Yeah. Usually tweaking their slides or I've had before where I watched someone else give their talk, whereas just talking to someone beforehand and then I was like, oh, I should change that in my talk or, oh, wait, that's wrong. I need to fix that. Yeah. So it was always like last minute things going on.
Erik Hanchett:Yeah. I remember we were in the speaker room for VUE Toronto, which you don't know is an amazing conference happens every year in kinda like
Michael Thiessen:November Mhmm.
Erik Hanchett:Time frame in Toronto. I I think the the room we were in didn't have enough plugs on the wall. So everybody was, like, looking for a plug to plug in their laptop. People are sitting on the ground in a corner just plugged in like you were at an airport or something. And you found it found a plug and that that I remember distinctly having, in the speaker room that happening.
Erik Hanchett:One thing nice about speaker room, they usually also give us snacks and sugar. So we it kinda gives us a little more energy while we're waiting for our talk.
Michael Thiessen:Yeah. Or there's, usually something, not too far away. You can, like, buy some donuts or something.
Michael Thiessen:So your job at, at Amazon right now at AWS, so you're a senior developer advocate, and I've seen this term used a lot, developer relations, developer advocacy, And it seems to be kind of like one of those terms that's a bit nebulous and has a different definition based on like every company you go to has their own version of what this looks like. Sometimes it's writing documentation or tutorials.
Michael Thiessen:Sometimes it's like, almost like talking with the customers and understanding their needs and bringing that back to the team developing the API or the developer tools. And like, like you say, putting together demos and giving feedback, early feedback on tools and going to conferences and stuff. So like you're in this world more than I am. I am just observing from the outside. So can you maybe talk a bit about that?
Michael Thiessen:Like what in your mind is developer advocacy and like, are there different facets of that?
Erik Hanchett:Yeah, that that's a good question. And we kind of touched on a little bit on this before, but yeah, we can expand a little bit. So the yeah. Developer advocacy usually, like you said, it changes per company. I have a friend that works as a developer advocate for Discord, and his his advocacy is almost all docs.
Erik Hanchett:So he doesn't do what a traditional developer advocate does. So he has a different take on it. So he's always going into the docs. We've been talking about kind of the basic demos, but he's been printing, like, pretty advanced demos, getting them linked into documentation, trying all the different APIs and all different API docs, and he talks about it quite a bit. He has a podcast too.
Erik Hanchett:That's like one type of developer advocacy. But the ones I typically see, they kinda fall into 3 buckets. One is they create content. So you create blog posts, you create videos, you create shorts, Instagram reels, TikToks, LinkedIn posts. So your job is to just create content.
Erik Hanchett:And that could be, like, 1 or 2 pieces of content a week or 1 piece of content a week. Usually, more than one is is kinda difficult for for most people. When I was full going on with my YouTube channel program with Eric, I tried to do 3 a week and that was really, really, really hard That sounds crazy. To get out through videos. But it's even harder when you work at a corporation and the videos have to be vetted and, you have to check for quality and and for your core thing.
Erik Hanchett:So so that's one of the avenues. Another is that you're kind of doing that's more like inbound, I suppose, because you're just putting content out there. You might tweet about it. You might promote a little bit, but it's mostly, like, letting the SEO algorithms of YouTube and and Google and everywhere else to find you. And then the kinda second one is kind of outbound where you're going to conferences.
Erik Hanchett:So that's like we were just speaking before where you're applying for all the CFPs like I was mentioning, and you're going to these conferences giving talks, and also, sponsoring events. So that could be going in and Right. And, I had a table at that conference, which is a really cool conference, like, near in Wisconsin. It's kind of little bit JavaScript.net had a bunch of different tracks. And we had a table set up, and I was talking all about AWS Amplify, which is the product I I did the senior developer advocacy for.
Erik Hanchett:And so we talked to all sorts of developers, Vue developers, React developers, all of them. And it was just more like getting the word out about, like, hey. There's this thing called AWS Amplify. We're set of tools to help front end developers create full stack apps. We have a hosting service, like, things like that.
Erik Hanchett:We just kinda give out a lot of information. And then there are people who work in this developer advocacy world, but that's all they do. Like, they just travel from one conference to the other to the other. And typically, like, in the past, that's what developer advocates did, is they would be the road warriors. They're they would be gone 48 out of the 52 weeks a year just going to one conference to the other.
Erik Hanchett:And especially pre COVID, I saw this more often, because there were so many conferences. And now since COVID hit, I feel like, especially in United States, there the conference scene has slowed down a little bit. It's definitely I don't think it's a 100% to where it's at before some conferences went out. It's a lot of meetups. I was just at a a React New York City meetup, and they told me this was the 1st React New York City meetup since COVID.
Erik Hanchett:So it's been, like, 3 year years, and they they're still, like, slowly coming back. Yeah. I think attendance is down a little bit in some places and up in other conferences.
Michael Thiessen:Yeah. That's interesting what you mentioned about the road warriors, because I, I have seen that before where, yeah, not as much in the last few years, but before for sure where people would just conference to conference, to conference. And then I think that that's really difficult too. It's really taxing and like, you know, it takes a certain kind of person to, to be able to do that kind of a thing. You know?
Michael Thiessen:It's like the, the traveling salesman kind of deal where you're just like living out of hotels and out of your suitcase and, you know, racking up them, airline points.
Erik Hanchett:Yeah, exactly. That's what probably 5 years ago, that's what developer advocacy was for a lot of orgs. A lot of companies was that kind of get on the road every week. What's really changed, I think, in the last 5 years since COVID is that a lot of companies started looking at these online events. A lot of lot of companies started saying, well, maybe we could just focus on content.
Erik Hanchett:And so it's shifted a little bit. There's still plenty of conferences. There's still plenty of people and companies that are sponsoring it, including AWS amplify where I work at. But I feel like it's not always like that for every company to do that. Personally, myself, I like to mix in a little bit of the content and traveling because I don't travel every single week, not even close.
Erik Hanchett:I try to do it maybe once every month or 2 to go somewhere and travel. So that's kinda my cadence. Some orgs are gonna be different. Some places you're gonna want more travel than others. And then the 3rd kind of leg of this stool and I kinda by the way, if you've heard this before, there's a great developer called Swix.
Erik Hanchett:He's really in the AI space right now, and he wrote a really great blog post years ago about his ideas in developer advocacy. And and the third was, like, product. It's, like, you are the guy that really goes out and gets feedback from customers, what they like, what they don't like about the product. And then you also give your own opinions on the product because typically most developer advocates are previously been usually developers or maybe senior developers
Michael Thiessen:Mhmm.
Erik Hanchett:Like me. So we usually know what kinda feels right and what doesn't feel right because we're selling tools to other developers. So we should know, like, how it feels and how it does feel and what a good developer experience and and what is not. So we're usually pulled in early in the product process to test out not like a QA, but more of, like, here, let me try this out as a developer focus. So we'll do, like, these friction logs, or sometimes they're called, like, reviews, and we'll just review the the new product and get feedback.
Erik Hanchett:And then when we're out and talking to customers sometimes to do customer interviews, sometimes we'll just be at a conference and be like, hey. Have you used this? Oh, yeah. I I like this, but I had a problem here. Then we'll give that back to to product.
Erik Hanchett:Well, oftentimes it's online, so it's like GitHub issues or it's Discord office out. Like, we have a Discord office hour and a whole Discord server. So we'll look through there and look through feedback from customers. And if we find some really interesting tidbits, we'll pass that onto product and then they can help prioritize that. So that could be a whole job onto itself is just dealing with product.
Erik Hanchett:Usually the product managers at a lot of companies deal that too, but we're kinda like an extra layer of of feedback for them.
Michael Thiessen:Sounds like a lot of different roles potentially. So I imagine that some companies have it set up so that maybe there are 3 distinct roles. Maybe there's one person doing all three things. And yeah, I kind of like that variety.
Michael Thiessen:That's, well, yeah, one of the aspects that I like about what I'm doing now is that I basically get to do all of these things. Like I develop my own products, which are courses and, and things. And so then I'm trying to get feedback from people on like, oh, what, how is this tutorial? How was this course? How was, you know, all these things.
Michael Thiessen:So I, I am doing all three of these things for myself in addition to the coding and, and stuff. And I really like that variety, but I, I imagine there are people who prefer to just, you know, stick with one hat and, keep that on the whole time.
Erik Hanchett:Yeah, exactly. It's you can definitely go in all three directions or a completely different direction. Like I said, with my friend who's doing more docs. Yeah. You might, I guess you could say docs would be like a 4th part of this for some companies.
Erik Hanchett:They don't have like dedicated document management people. And then sometimes developer advocates end up having to be the people that, update the docs that Right. Do the information management of it and and things like that. But, yeah, it's definitely different ones. My job in particular, I kind of balance between all three of those ideas.
Erik Hanchett:I try to get piece of content out. I have whole plans of content I wanna create out for the next month or 2. I have multiple conferences, not so many. I'm I'm trying to wind down my conference speaking and schedules for this year. I've only have maybe 1 or 2 trips planned for the rest of the year.
Erik Hanchett:And then we have some new stuff coming out. Some always like getting involved in that and trying to give my feedback. Mhmm. So it's, it's a pretty fun job. I like having that.
Erik Hanchett:I know some people, it drives them crazy because you kinda have to figure out like what you wanna do. And, and some people like to be told what to do. Me too sometimes. I like to be like, hey, this is what you need to do. And some people like to not be told what to do and some people don't don't know what to do.
Erik Hanchett:But, it just depends on kind of your personality and and what you like and what that works like.
Michael Thiessen:Yeah. It's really interesting how flexible this job can be.
Michael Thiessen:So for people who are listening and are considering maybe this kind of a role might be for them, how do you get into this kind of a position and what kind of experience do you need in development? Do you need development experience? Do you need a lot of experience or like what, what kinds of things do you think people are looking for when, when hiring for these roles?
Erik Hanchett:Yeah, that's a, that's a good question. I would say having experience as a software developer is important, but it isn't always required. There are some companies that are looking to hire people that have little experience in software development, but maybe they're great at writing, they're great at talking, and they can kinda learn on the job. I think if you wanna give yourself kind of these quote, unquote unfair advantages that you hear that sometimes people talk about, like, having being deeply technical, having a software development background is definitely gonna put you above, other candidates. But I would say also being comfortable writing, being a good writer is important being comfortable, especially for a lot of roles now, videos becoming more and more important.
Erik Hanchett:Being able to talk in front of a camera, maybe put out a few YouTube videos just to kinda get the the feel of doing it. Mhmm. Being able to create presentations. I've heard of lot of developer advocate roles where the first thing they do is they'll be asked to give a presentation on a certain topic. And maybe it's a topic of a technology that the company has.
Erik Hanchett:It's a skill. A lot of us did it in high school and maybe in college had to put together presentations, but it's to get good at that and
Michael Thiessen:to make
Erik Hanchett:something visually appealing and and keep the audience awake. It's a skill, so practicing that would be important. Maybe create some, once again, maybe YouTube videos or or a blog post where you put all your ideas down would be helpful. And that's quite a bit of of what I would do to prepare. I would definitely if it's a a lot of the job postings describe the people they're looking for.
Erik Hanchett:So they'll be like, you need to have x y z technologies. You need to be familiar with web development. You need to be familiar with react development, things like that. So pay close attention to those. Make sure you have, time and make sure you understand those technologies.
Erik Hanchett:I'm just gonna throw this out there. If I was like brand new and I was like right out of college or right out of high school and I wanted to get into this profession, I would create a YouTube channel just like you and me have done. Like, I would start posting videos weekly on fun topics that I wanna teach to others. I would try to work full time as as a software developer, so I would get that experience at the same time and work in the industry just to make sure I understand how how a sprint works, how I get pull requests up, those basic things, how I deliver features, how I get into whatever let's say it's web development. I'm doing CSS, HTML, JavaScript.
Erik Hanchett:I'm learning Vue. Maybe it's a Vue company. So, and then as I'm learning, I would go back and I would write a blog post on it. I would write, I'd create a Vue YouTube video on it. I think those things will really, really help you in this, in this industry.
Michael Thiessen:Yeah. And the, and on the content creation side of things, I often try and encourage people, like if you want to, or you're thinking about putting out stuff, just do it. You don't have to like the first things you do are probably not going to be good because I mean, you're new, new at it and it's like awkward at first because you don't know, like if you're writing an article, like you don't know how to even begin. How do you outline an article? How do you go from the beginning to the end or for a video?
Michael Thiessen:How do you even like record or talk in front of a camera without being weird and awkward? How do you edit it and all of these things? So like my advice would always be, you know, that the first 5 to 10 things you put out, like don't even worry about the quality necessarily, just like, like you were saying, do a weekly cadence, just get something out and it doesn't really matter how long it is or how good it is. It's just like going through those steps again and again. And by the 5th time, you'll be like, oh, well, this part was really hard, or that part, you know, I rewatched the video and that sucked so I can improve it there.
Michael Thiessen:And like, but it's hard to think about making it good when you're just your entire brain capacity is consumed with like, how do I talk on camera?
Michael Thiessen:And that's something that took me a long time. Like even after I had been writing and putting blog posts out, then speaking on camera was a whole new thing to learn and speaking publicly on stage, yet another skill.
Michael Thiessen:And even for this podcast, I don't think anyone knows this, but me and Alex, we started recording podcast episodes in December of last year. And, we thought we were recording the first few episodes and the plan was to like, okay, we'll, we'll get to like 5 episodes and then we'll like have a bit of a backlog before we launch it.
Michael Thiessen:But then when we got to those 5 episodes, we realized these 5 episodes are complete garbage and we can't release these because they don't make any sense. And, you know, we were just trying to figure out like, how do we do this podcast thing? How do we use these recording tools and all that stuff? So like both Alex and I have a lot of experience in content creation. He's got this awesome YouTube channel.
Michael Thiessen:He's been posting videos on for a long time and giving talks and workshops and stuff like that. And, you know, even for us, this whole new medium of podcasting and how do me and Alex do the whole back and forth and all that stuff That took us many attempts to even just kind of like work out the kinks and the rough edges until I get to a place where it was like, we're okay with having other people see this now.
Erik Hanchett:Yeah, definitely. I could see, well, just watching your guys' podcast, it sounds like, it looks like you're much more polished and people don't see all the hard work you did to to kinda get that chemistry going and and and keep trying over and over again. No. I I love those tips that you said. 100%.
Erik Hanchett:It's really hard, like, when you're first starting to learn something to put yourself out there and and and do those things. But, yeah, you just gotta realize you're no one starts there's everybody has a a certain amount of natural talent. Maybe you have some crazy natural talent that the first time you get on camera, you're just as charismatic and and funny and interesting and create first time you create a tutorial, make a, you make a perfect tutorial. But I think most people just have to kinda grind through it and and just get more comfortable and try it over and over again and get feedback. That that's interesting.
Michael Thiessen:The number one piece of feedback that I've gotten, especially on videos is that I don't speak fast enough or I'm not, I don't know, interesting enough or charismatic enough. And that it like, that's something I've worked a lot on over the years. And I don't know. I don't know. I don't know how far I'll actually get.
Michael Thiessen:Like, I'll never be like a news anchor. Like I'm just not that kind of, you know, like I'm not a radio host. I don't know if I'll like, I have that personality to be there. I'm not like one of those like typical super extroverted, fast talkers, you know? And, and so it's not the thing that's, that I'm naturally gifted with.
Michael Thiessen:So it's taken a lot for me to, you know, even get to this point. And I feel like there's a lot for me to, to learn yet. So, but the, the writing side of things is something that I'm, I've been more comfortable with, like from the beginning and it, that didn't feel as hard for me to learn. And so I think, yeah, there is something there of like, some people might find being on camera easier than writing or writing easier than being on camera or whatever. And so, yeah.
Michael Thiessen:Pick what you like, or just, I guess, plow through the hard part if you wanna, you wanna get there. So.
Erik Hanchett:No, I feel you a 100%. It's, yes. Writing's definitely a great option too. I I will I will give you a little anecdote from what you just said. And I remember doing the first podcast interviews and either being a podcast host or interviewing.
Erik Hanchett:There's a old old podcast on Vue that I won't get into the details of, but I did a co hosting job on there for a little bit. And I remember it took me quite a while. I was super awkward. There was getting used to just talking in front of the microphone that is and talking to people, and it took me a while.
Erik Hanchett:I went on this the one of the first podcast interviews I did.
Erik Hanchett:This wasn't the one I hosted. This was a different podcast. I don't wanna name drop, but he was a pretty big guy in the CSS world and he used to have a podcast where he would interview, like, experts in different web technologies. So he had, like, Evan You on once and he had a bunch of other people on. And I had created a course on Nuxt, and this was years ago.
Erik Hanchett:And this was, like, I don't remember what version Nuxt is. 2.1. I I don't remember. It's really old. And I just pitched him.
Erik Hanchett:I just emailed him out of the blue, this huge guy in the CSS world. You everybody would know his name if I mentioned it. And he said, yeah. Sure. Come on.
Erik Hanchett:Let's talk about Nuxt and your course. I'm like, cool. So I went in and I researched about I had never done, like, a interview like this before. It's kinda brand new to him. Like, how do I do this?
Erik Hanchett:And I was listening to this other one, and and he's like, oh, I I listened to this other podcast. And they're oh, one good way when you go into someone else's podcast to get people interested in the product that you're trying to sell is to give a discount. Like, put a specific URL, like, blah blah blah slash, this podcast host name.
Michael Thiessen:Right.
Erik Hanchett:And so I I get on the podcast, and I'm like, he's asking me questions about Nuxt, and I'm answering it. And then I noticed that that he's just going through the the API and the Nuxt docs and just asking me and quizzing me questions. And, like, it got increasingly harder questions. And I and I brought up the docs, and I was just answering the questions. And then halfway through, I'm like, I think you're just kinda reading off through the docs API.
Erik Hanchett:And he's like, oh, well, yeah, that, yeah, I'm just trying to get an idea what this is about. So it was kind of an awkward interview. And then at the end, I'm like, Hey, I just wanna make, give your viewers the best chance to get my course. It's blah, blah, blah slash your name. And he was, like, totally not happy with that.
Erik Hanchett:And, at the end, we finished the podcast and he emails me probably 2 or 3 days later. And he's, like, that was a really bad podcast. I I don't feel comfortable with posting it on my feed. Sorry. I'm like, oh, I'm sorry.
Erik Hanchett:Let let me jump back on. He's like, no. We're not gonna rerecord it. So, like, just that experience alone
Michael Thiessen:Wow.
Erik Hanchett:Early on in my my podcasting career was like, oh, yeah. Okay. 1st a, you know, I print shouldn't call out the host if they're just looking through the the API docs. B, I probably shouldn't I shouldn't, be all salesy and try to sell my my course at the end. So I learned a lot from that, and I it it was just kind of a a learning experience, I suppose.
Michael Thiessen:Yeah. That's, that's wild. That's and, and hard to take that and continue doing what you're doing. Like, yeah. Good job on that.
Michael Thiessen:Well, good job on taking that feedback and not just being like, well, I guess I suck at this and then giving up because I don't know. I don't know how I would have reacted to that because I remember when I first started doing content creation, like if I had someone tweet at me that I had a typo or like, oh, you used ref when you made reactive. I would have just been like, that would have like ruined my day. And I would have just spent the rest of the day thinking, oh my goodness, should I even be doing this? Why do I think that I can write blog posts or teach people things?
Michael Thiessen:And it was just like, woah, chill, chill out, man. Like this, it's not that big of a deal. It's just like a small mistake, you know, don't worry about it. And so, yeah. Good job on taking that feedback and continuing from there.
Erik Hanchett:Yeah. No. Thanks. Yeah.
Erik Hanchett:I think at the time, yeah, just like you with, when, when you're early on those days, you get those criticisms and then having someone which I really looked up to be like, no, I'm not gonna repost this podcast and I'm not gonna have you on again. It was it was pretty hard to swallow at the time and I'm sure I was like a little mad and and, but I also knew I knew I knew I messed up. Like, I probably should have handled the interview better, but it that I definitely now know a few more things to do better during podcast interviews. And by the way, I do have a new course. Let me give you, the URL.
Erik Hanchett:I'm just kidding. I'm not kidding.
Michael Thiessen:You know, if you wanted to plug a course or anything, you just go ahead. You know?
Erik Hanchett:I know different podcasts have different this this person did not want people to he didn't want to have anybody come on his platform and and plug, but I know I've definitely been in other podcasts where you gotta feel out the host and, and what's right and wrong.
Michael Thiessen:Yeah. That's, that's true. It's like, you know, it's like when you go over someone's house, they all have different, rules, different rules and like shoes on shoes off different, you know, can I use your oven to bake my pie or, you know, whatever? If I get a piece of that pie, you can use my oven. That's that's my rule.
Michael Thiessen:So you had mentioned before we hit record that, that you had worked at Amazon, but developing with Vue. So you had, you said you'd mentioned there was some, interesting things that, that you could talk about from that.
Erik Hanchett:Yeah. So the I've been at Amazon or AWS for over three and a half years now. And for the first two years, I was a software engineer, obviously, a front end engineer. And so I spent I I got to work on a Vue project for the pretty much the first of year in in a a few months, which was really amazing because I came on. I did my interview, the part of the interview for Amazon and AWS.
Erik Hanchett:They ask you some leak code type questions. So you do get into, like, having to to know those different algorithms. But there's a part of the interview, especially the front for front end engineers where you they kind of ask you some some web technology type questions. So you get to pick which framework. Some interviewers will require you to do it just in HTML, CSS, and JavaScript.
Erik Hanchett:Others are okay if you bring in React or Vue, and it's really just a whiteboard so you don't have an IDE or anything. And they asked me to create a a web page, and I can't remember what scenario it was, but we had to, like, create a a header at the top and then we had to I think I used slots, which we had to kinda break up some things. I wrote all this stuff in a a whiteboard and in this virtual whiteboard that I was in. It was all on online. And I thought, like, oh, I I'm doing this all in Vue.
Erik Hanchett:And I thought, well, this is probably the last time I'm gonna be writing Vue at this job because everyone I I hear tells me that AWS is pretty much a React heavy company and most of the divisions using it. And then they placed me into the Amplify UI team. And so the Amplify team creates a bunch of open source libraries, and one of the libraries is for Vue. Js. And so a part of the job when I got there is they wanted to rewrite the what's called the authenticator.
Erik Hanchett:This is a component that you can just with just a few lines of boiler plate, you can drop on to any Vue app, and it gives you like a login, sign in, sign out, multifactor authentication. It connects up to our Cognito service. And they're like, oh, we have this really old version. It was using Vue 2. It wasn't compatible with Vue 3.
Erik Hanchett:It had some problems. And they're like, we want a newer version of this. And by the way, we have this combined library we use in the back end using xState for state management. And I was like, wow. This is really cool.
Erik Hanchett:So I got to deep dive in and create the authenticator using Vue all the best practices, of of of using a Vue through app. So that was really fun. And there was a couple of other guys on the team that knew a little do knew some Vue, some new Vue better than others, and that would just push up PRs every day. We were moving really quickly to try to get this out, and it was super fun, working with it. And then I found out that there was other small departments at AWS that were using Vue as well.
Erik Hanchett:So that was really cool. So I started contacting them, and they were telling me the how they were dealing with it on their internal systems. Most of them were, they didn't have open source, so we were also unique that every time I was pushing up was just an open source repo. And so, yeah, that that was the first two year and a half, and then I I got pulled on to a project which was more react heavy. So then I got to kinda work on that side for a while.
Erik Hanchett:And then but I was still to this day, I'm still, like, the caretaker of our Vue code. I have a a special place in my heart for it because I wrote it. And there's other people now fixing it if there's any bugs or anything that that, comes up with it. But, yeah, that process was interesting and something I didn't think I I was going to end up doing. We also got to write end to end test cases.
Erik Hanchett:We used, the Vue test utils with the, Vue testing library, using testing library. We tried to get all the best practices. We didn't end up using, everything in the Vue ecosystem, of course, But it was just kind of a fun introduction to to AWS.
Michael Thiessen:Yeah.
Michael Thiessen:So where had you been like, had you been using Vue beforehand, I'm guessing? Because you're using it in your in the interview.
Erik Hanchett:Yes. So I have been a Vue fan for many years all the way back. I wrote a book in 2018. You can see the little tip of it if you're watching or watching the video version, but it's just a a brown book. It's called Vue JS in action.
Erik Hanchett:So I had been using Vue, for a long time, usually for side projects. I think the when I was writing the book, I was at a company that was using Angular. So I was writing Angular full time And then on my nights and weekends, I was writing Vue because I just liked it.
Michael Thiessen:Isn't that how all, things get adopted? Is that the the developers are using it on the weekends and then eventually they manage to convince everyone else to to adopt it at the company.
Erik Hanchett:Exactly. Exactly. And definitely, I think on that one or the next one, I was I I got to write Vue more regularly. It's always I I always picked companies based on the location at the time because I this is before I was really doing remote work. So in my local area, unfortunately, all the companies were using React or Angular.
Erik Hanchett:So I did I couldn't find, like, a company that was using Vue, like, in my general area. Now it probably, been like this for a while. It's the the explosion of of remote jobs is is easier to get a Vue job. You gonna have to search a little bit, but there's these large companies that use Vue that you could probably interview for. But back then, I was just focusing locally, so I had to do it on the side mostly.
Erik Hanchett:And then I I did get to work on some Vue projects at some future companies before I joined AWS.
Michael Thiessen:So working on this authenticator library modules, what were some of the things that you learned from that? Whether it's like technical things about Vue or things about putting together a library that other people are gonna use or open source even, were there any interesting things that you can recall that were like interesting insights or anything like that?
Erik Hanchett:Yeah. Well, first, since it is open source, that was the first time I had pushed some PRs, some other, some other open source projects before that, but this was the first time I was like maintaining an open source project. So I, I found out quickly that getting contributors to an open source project for a company that has an internal roadmap is pretty hard. Like, you think of open source and think, oh, that's great. You know, you're gonna get, you know, tons of contributors coming in and wanting to to help out.
Erik Hanchett:And really we didn't have that many contributors. Most people who wanted to contribute were just wanting to contribute to the, to docs or do translations, which was great. We loved it. But, and occasionally, someone would come in and like, hey. I could try to fix this issue.
Erik Hanchett:But oftentimes, we didn't have that many. And we I think we've gotten better as a company and as a whole of to put RFCs out and put more roadmaps out of what we're trying to work on. But, we never really focused deep dive into, like, okay. This is an open source project. I think we added this tag later on, but, like, hey.
Erik Hanchett:This is a good first issue if you wanna jump into our code base and start creating things. So that was kind of eye opening to me of even though you have an open source project that you really have to work hard to get people to come in and contribute. Yeah. And you have to it it takes a lot of community focus to do that. So I guess that's the first thing I learned.
Erik Hanchett:2nd, we were going from Vue 2 to Vue 3, and there was talks about, how we wanted it to be, like, backwards compatible or not. And this was before what's that Vue library that you can use that supports Vue 2 and Vue 3. So there was this library, but it hadn't been out yet. So we had to kinda make the determination like, okay, what do we do to do to Vue 2 backwards compilot compatibility - vue-demi - That's the one I'm thinking of.
Erik Hanchett:It's a developing utility that allows you to write universal Vue libraries for Vue 2 and 3. And it's course by Anthony Fu. So, so that would had not I think it like, 6 months in to work on it, Anthony Fu released vue-demi, which would have been able so we could have had one library to work with Vue 2 and Vue 3. But at that point, I was already 6 months in. It would have been really hard to integrate that library in vue-demi.
Erik Hanchett:And so I had to kind of tell everybody, okay. This is gonna be a Vue 3 library moving on. But if you wanna use Vue 2, you have to use our older library. And that was kind of a big decision to try to figure out, what to do. So, people we didn't abandon Vue 2.
Erik Hanchett:They still had the older library, but all the kinda neat new things were in in this new Vue 3 library. So that was kind of a trade off that we had to to think about early on. We also writing kind of the Vue, just some of the internal stuff, like, to make sure it didn't have as usually, this is a React problem. But in the Vue the way we wrote our app and and this library, we had to be really cautious and careful that we didn't have too many rerenders. So we had a a few rerender issues where we ended up pulling in some other kind of we we use VueUse, and we were pulling in some stuff from VueUse to make sure we didn't have any rerender, especially since we're using composables.
Erik Hanchett:And we're trying to use composables with this xState. So that was a little tricky too.
Michael Thiessen:What was what was the the root cause of those extra rerenders?
Erik Hanchett:I think it's the way we were, like, using our I can't remember exactly the way we were using our composable, and we had the specific state that we were pulling out of it, that was grabbing from x state. We got into this weird situation where every time you typed, like, a letter on the input, like, for the username to log in, it we could see, like, we put a console log and there'll be, like, 30 console logs for every letter we put in.
Michael Thiessen:Yeah.
Erik Hanchett:Have you ever had that in in certain scenarios?
Michael Thiessen:Not in Vue, but I like, a long time ago, I remember using react and that was, that was definitely an issue that I ran into many times. Especially on the the key input, you'd notice the lag because you're typing and it takes like a fraction of a second longer for that letter to actually show up than it should. And then you realize, oh, okay. I shouldn't rerender my entire application on every keystroke. And so then you have to like do extra stuff for that.
Michael Thiessen:But in Vue, I've never had that, that issue with the extra re renders.
Erik Hanchett:Yeah. I had never I didn't think I could get into that situation
Michael Thiessen:Yeah.
Erik Hanchett:In in Vue. And, I proved myself wrong. Yeah. It was it was just a a weird, edge case that I ran into that took quite a bit of time. I'm looking at some I'm looking at the code right now.
Erik Hanchett:I use this thing called createSharedComposable. I grab it from the VueUse core, and I wrapped the whole composable. It was called useAuth, wrapped it in the create shared composable, and that actually decreased the number of rerenders from, like, that 30 or 20 from every time I press the key to, like, you know, 2 or 3 or 1 or 2. It's just it was really, really low at that time. So if anybody has used createSharedComposable, let me know.
Erik Hanchett:But that actually solved the issue. So I had to take weird issues like that occasionally.
Michael Thiessen:That's the fun part about these bigger apps and projects versus like these little toy demo projects is that you often get into like these weird situations that like, I never see things like that because I'm just like, oh, let me try out Nuxt server components. And I build like a small little app for myself. And like, I'm not going to find these weird edge cases and stuff like that as, as much as you do when you're on like these big applications with like interesting requirements and historical reasons for, oh, we we use we use this because that's how we have been using it and it's too hard to change now and, you know, all that, that kind of stuff.
Erik Hanchett:One other thing too is I I think you even wrote about this. I think you like, just coincidentally, I was following your Twitter account and you wrote something about this. We had this issue where we needed to do slots. So we had to we had these deeply nested components and we needed to, like, grab state from that deeply nested component back up the chain to, like, the parents component. So we had these slots within slots within slots.
Erik Hanchett:So we're like we had to, like, do these weird slots within slots and then we were also doing, bringing up data backup from the slots using scope slots. So it became, like, really kinda complicated for other developers to see, and I'd I think think now I probably could have written it better. But I remember you you had that pattern too, and I think you ran into some some similar issues or you showed some examples of that. So we we had to be creative in how we were dealing with with slots and and bringing state and data up because we had this kinda wrapper component and all these other things inside of it for it. I guess that's not super interesting by itself, but it is nothing we ran into.
Michael Thiessen:Yeah. And, and I think the reason that I got into those, that the, all that stuff with scope slots and nesting them and all that stuff is because at the place I was working at previously, the way in which we were writing things, it ended up being the best solution for like in Vue 2, before we had composables and, and everything else. That was the best way to like abstract some of the things that we were doing. And so then I was like, how do I do this? And then how do I, you know, and then that leads you down this path.
Michael Thiessen:And like, if I hadn't have worked at that, that job, I probably would have never learned those things. Yeah. It's interesting, the kinds of things that you're forced to learn on the job.
Erik Hanchett:Oh, one last thing is I just remembered too, is
Michael Thiessen:Mhmm.
Erik Hanchett:Working with a mixed team between Vue developers and React developers, and maybe have some Angular people mixed in. Is that when you write your Vue code, people look at it and be like, well, why don't you just take this component and pass it into this other component and do it this way? And you could see, like, the Reactism start leaking into your Vue code, and you have to be really conscious to be like, no, that's not a great pattern for Vue. I mean, we have ways to admit data back up.
Erik Hanchett:We we don't really pass components in that. We can't really pass components in that way. We have slots. Like, you kinda have to stand your ground. Otherwise your Vue code could start looking like weird react code.
Michael Thiessen:Yeah. Yeah. We've talked about a lot of different things already in this, in this podcast. So before we wrap up here, are there any, any last words you'd like to, to share maybe, where we can find you what you're up to? We'll, of course put those things in the description as well.
Erik Hanchett:No, thank you. Yeah. This has been fun. I like how we deep dived into a little bit of developer advocacy and talked a little bit about Vue. Yeah.
Erik Hanchett:You can reach me. My Twitter handle is erikch, e r i k c h. I and, I'm my, full time job as a developer advocate is to promote AWS Amplify. So So if you haven't checked it out, you can go docs.amplify.aws. We we're a hosting service, so we host all your sites.
Erik Hanchett:We actually worked with the Nuxt team directly to make sure that your Nuxt server side rendered or static site generated app works with us. So you can host your site basically on AWS with Amplify hosting. It's a managed service, and we also support React, Angular, pretty much any of the frameworks out there next as well. And yeah. So check that out, or you can even have us help you create your whole site on AWS.
Erik Hanchett:You don't have to be an AWS expert to do it. You just, you can actually create basically infrastructure as code in a very straightforward way and create your whole apps with us. Yeah. So check that out at Amplify or docs.amplify.AWS. And then I also post on my YouTube channel, so I'll give one last plug.
Erik Hanchett:I haven't posted in the last probably 3 months. I have been super duper busy. This is like the longest gap I've taken in many years on my YouTube channel. But I am planning to go back to it and start posting again. But I have over 600 videos, tons of Vue JS content.
Erik Hanchett:Most of it's still relevant, even has some AWS content on there. Maybe even a little bit of react sometimes. So you can check that out at Eric dot video now, or look at program with Eric on YouTube.
Michael Thiessen:Sweet. Well, thank you for coming on and, it's been lovely to chat with you.
Erik Hanchett:Thank you. It's a pleasure.
Michael Thiessen:All right. And for all of you listening, check out some of our previous episodes, if you haven't, and we will see you next week.