DejaVue

In this episode of DejaVue, Michael is joined by special guest Simone Cuomo. Together, they discuss how to "get started" with Vue and also topics around general developer culture, such as in-office vs. remote work and the power of mentorship.

Simone also shares learnings and insights from the recent Vuejs.de Conference - as well as his hot take about Vue.js (Hint: it is related to the Composition API!)

And of course, recent topics like AI and whether it is good or bad for beginners shouldn't be left out either.

Enjoy the episode!


Our Guest

Simone Cuomo

Chapters

  • (00:00) - Welcome to DejaVue
  • (01:51) - Experience with in-office work
  • (07:20) - Mentorships
  • (11:57) - Job-ready after university
  • (18:37) - Learnings from the Vuejs.de Conference
  • (24:27) - Simone's Hot Take on Vue.js
  • (31:12) - Getting Started with Vue.js
  • (38:30) - Tip for reading complex library code
  • (39:35) - Is AI helpful for junior developers?
  • (49:07) - Wrapping Up

Links and Resources



Your Host


Michael Thiessen


---

Links marked with * are affiliate links. We get a small commission when you register for the service through our link. This helps us to keep the podcast running. We only include affiliate links for services mentioned in the episode or that we use ourselves.

Creators & Guests

Host
Michael Thiessen
Full-time Vue educator
Editor
Niki Brandner
Sound Engineer
Guest
Simone Cuomo
Senior JavaScript Engineer at This Dot Labs & Book Author

What is DejaVue?

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.

Michael Thiessen:

Welcome to DejaVue, your favorite Vue podcast. Although you maybe don't know it quite yet, but I'm sure by the end of this episode, maybe that will have changed. I am Michael Thiessen, and I am here with my guest, Simone, and he is all over the Vue ecosystem. Hopefully, I said pronounced that right. We,

Simone Cuomo:

That was perfect.

Michael Thiessen:

Rehearsed it. Okay. Perfect. That's always, like, the the thing that I'm most nervous about is, you know, pronouncing, people's names incorrectly because, you know, I don't wanna offend. And, more about him, he does all sorts of things in the Vue ecosystem.

Michael Thiessen:

He does teaching from kids all the way to university, college students. He does talks. He has written books. He's, recently published a new one. And, all sorts of things in between, we're gonna have a a good interesting conversation about getting started with Vue and, junior developers and how this whole new world of remote work kind of, affects affects that for them, which is something that I've thought about before, but never really had a discussion about.

Michael Thiessen:

So, yeah, welcome to the podcast.

Simone Cuomo:

Thanks so much, and thank you for having me here. It's a pleasure, and I look forward to spend the next hour with you.

Michael Thiessen:

Yeah. So I think we we did meet, like, a year and a half ago, was it?

Simone Cuomo:

Or London.

Michael Thiessen:

June ago

Simone Cuomo:

in Bu London. Yeah.

Michael Thiessen:

Yeah. Yeah. So it's been a while. Maybe maybe we'll, meet again in person one day soon. But, yeah, it's great to to chat with you again.

Michael Thiessen:

And, when I was starting as a developer, it was many years ago before remote work was as as prevalent as it is today, and it was so beneficial to have other developers around me that I could just, you know, I could just walk over to the desk and say, I don't get this. How would you do this? Even just like, you know, I'm I'm in the the kitchen area waiting for my tea to steep and someone comes by and I like, we get chatting about whatever and, like, there's all these, like, little moments outside of code reviews and outside of, you know, Slack messages and stuff where learning and just all these other career things can happen.

Simone Cuomo:

Yeah. I think you're nailing nailing the mark there. I'm a very extrovert extrovert. So, when I was used to work in an office, I was the kind of person who would walk around the office and, you know, always trying to see if anybody needed help. On my last 2 years in my previous job when, again, we were in the office based, we were used to have 6 graduates every year.

Simone Cuomo:

So every September, we'll have 6 people starting from university. And, you know, I remember the 1st few months going around and like you're saying, many times you will see frustration in people while they're working and offer help. Many times you will go in the kitchen while having a coffee. You can see people thinking and say, what happened? And they tell you what's the problem.

Simone Cuomo:

So many time that you would help somebody was not because you were clearly asked for help, but because you saw the help was needed. I think what we're doing now with remote working, we are, putting people behind a black box. We are setting stand up. We're setting meetings, lunch and learn when setting these things, but they are the same meeting as we had before in the in a product company. But again, I've never seen a junior developer doing a stand up saying I really need help.

Simone Cuomo:

I'm struggling. The struggling was was coming up as that. And another thing as well, is, you know, when you learn cool visual studio extension or shortcut, Nobody will ever go in a meeting and say, hey, just to let you know, I've learned this cool shortcut. Yeah. Shortcuts are learned in in the kitchen or shed or somebody say, look at this cool thing.

Simone Cuomo:

You wouldn't you wouldn't have a remote meeting on that.

Michael Thiessen:

Or you're looking over someone's shoulder and you're like, wait, why does your editor show you, show you who's like the names of the people that, that did the commits? Like, where did you, how did you do that?

Simone Cuomo:

Correct. Correct. So I know that, you know, you can do pair programming and a lot of the, or this can be highlighted in pair programming, But again, it's there's something else that is really missing behind. And I think as an industry, we, we need to, do something to help, people starting in development, because a lot of developers are starting and the first work is straight remote. And I I really don't know how, how they're coping.

Simone Cuomo:

And, what I can see, I can see that the the growth is slowed down. So people that start remotely, they will not grow and develop as fast as somebody who has been supporting a company. That's what I've seen in the recent years, and that's what, what, a recent conversation with lots of juniors highlighted. So I did a loads of, networking in a in a recent, conferences. And I was starting to realize that people really need need an office.

Michael Thiessen:

Yeah. I wonder if, so, like, one of the things that the the company I worked at last that they did was was sort of like a like an open office hours kind of, where it was like, here's 30 minutes every day that, you know, if you want to, we can, like, show up and kind of exchange information. Maybe you learn something new. It's, like, kind of it's a more casual than yeah. There's, like, a meeting that's, I mean, you have to bring this or, like, this is the agenda.

Michael Thiessen:

Correct. And so yeah. I don't know.

Simone Cuomo:

Yeah. Yeah. We we again, we do we do a lot to this as well, but when something is not spontaneous, you may not reach those kind of, you know, needs. Yeah. And, you know, again, there's more that can be done, also from the junior perspective.

Simone Cuomo:

But, again, we know what how how hard imposter syndrome is at the start of your career. It never leaves you even when you're a when you're a an architect. So you know how hard you feel like you're an impostor. Is we need to realize that and people are not gonna come and say I got this problem or I can't do that. What will happen is that people will work crazy hours behind the scene to achieve what they in reality cannot achieve.

Simone Cuomo:

And it's gonna be hard to get away from that because, again, we're behind this monitor and, and it's hard to let people, come forward.

Michael Thiessen:

Yeah. One of the the first pieces of feedback I got when I was just, you know, like one of those 6 graduates, just, like, fresh was you need to to ask more questions. Like, you need to stop just, like, trying to figure it all out and, like, you're getting stuck too often. And it's it's hard to know, okay, am I like, have I tried hard enough? Have I tried all the the options?

Michael Thiessen:

Like, at what point do I go? And so, yeah, it's it's a hard balance to figure out there. So, yeah, I definitely I definitely see that.

Simone Cuomo:

Totally agree. Unfortunately.

Michael Thiessen:

So you do all sorts of mentorship. You had mentioned you were you do all the way from from kids in primary school teaching, programming, and all the way up to, like, lecturing at at university. So I would love to know more about, like, what what does that look like? Are you teaching VUE in this, or is this more just, like, general programming and, like, the, like, the basic ideas behind programming? Or, like, how yeah.

Michael Thiessen:

How does that how does that look like?

Simone Cuomo:

So, I go to, teach, coding in primary school once a week. So I teach to kids in year 5, 6 in UK, that that relates to, kids from 8 to 10 years of age. In that case, I don't teach you as much as I would like to. I don't teach them you. We use, 2 different software.

Simone Cuomo:

1 is called Scratch. I don't know if you heard of it. And the other one is actually called, micro bit. So it's very similar. It's, block coding.

Simone Cuomo:

So you're able to drag and drop, you know, each statement and conditional and events and messaging. But for the micro bit, you actually have, actual something similar to an Arduino that will will then work. And for for scratch, you can actually create games. It is astonishing what the children can make in, in the hour going forward. There's a lot of things that we do together, but what, the main aim for me is, I got 2 aims for this.

Simone Cuomo:

Number 1 is letting children know that coding is a career available. 90% of the time, people will say, oh, my dad say that you need to be a geek. So, you know, it's it's removing that stereotype, number 1, showing them that it's okay, showing them that it's it can actually bring you know, spark the curiosity. And secondly, I do a lot of, so I work at this store labs where we try to push for minority and, for more, for example, for more women within the development environment. So the first thing they also do is, ensure that women's, and girls in the class are well aware that coding is possible.

Simone Cuomo:

And therefore, they really try to you know, at that time, you have a possibility to hit mark on both. So I really try to let, girls know that they can thrive in this industry. So I work really hard on, on that front with them as well and also with the teacher. So, the course has been going. It's the 3rd year running that they do it.

Simone Cuomo:

So

Michael Thiessen:

Okay. Been going very well.

Simone Cuomo:

And it's if you have a kid's open scratch Scratch, there's so much, so many tutorial things. They will love it.

Michael Thiessen:

Yeah. I've heard of that one before. And, Yeah. My my daughter, she's only 6 months old, but, you know, I'm I'm looking forward to the day when I can, maybe show her some things and

Simone Cuomo:

Correct.

Michael Thiessen:

You know?

Simone Cuomo:

And the micro bit. The micro bit is, is the cheaper it costs around $20. So if you have somebody that is around 10 to 12 years old, is the is the best present you can buy. You have motion control, accelerometer, buttons, LED, radio. So you can so we create a, a balancing game where you have to balance LED to hit the marking points.

Simone Cuomo:

Or we created a, you have to find where the act other microbits were with Bluetooth and radio. So you move around until you find another message, and then you have to try them. It's it's all that for kids with kids is is astonishing.

Michael Thiessen:

Yeah. That's that sounds really neat. Like, you know, I might wanna pick one up for myself, you know?

Simone Cuomo:

Yeah. Hey. No.

Michael Thiessen:

But I like the the idea of of bringing it more into the real world because, I mean, especially for with kids, you don't necessarily want them to just be, like, you know, staring at a screen for even more time of the day and, like and it's also harder to maybe, I mean, kids love love video games. So maybe maybe this is wrong, but, like, having something in the in the real world is a lot more interesting in some ways. You know? So I yeah. I like that.

Simone Cuomo:

Correct. Yeah. And and again, also it builds up the a team. So they do a lot of decent teams. So, that's great.

Simone Cuomo:

And and it's, is every year. So the class in UK around 25 to 30 kids. Every year, there is around 2 to 3 kids. I look at them and think they're probably gonna be developers. There's always the few people who stands out.

Michael Thiessen:

That's really neat.

Michael Thiessen:

And and for for in, your your guest lecturing, I'm sure you you're you're no longer using Scratch and block based programming at that at that point?

Simone Cuomo:

Correct. Correct. What, so, in my career, I've been, lucky enough to, had the chance to interview 100 of people. So in my previous job, you know, we were hiring quite a lot in the same result. So, I've known, how to what is missing from people that come from, either university or for people that are aspiring developers.

Simone Cuomo:

As you mentioned, I wrote a couple of books. The first one is a self published book, and it was it's called Beyond Coding, and it's really for people that finish university or finish studying, and they want to get into the career. So what I usually do as a guest lecturer, I try to remove the gap between what they're taught in university and the real world. So for example, you know, some of the things I do, I'm a GitKraken ambassador, so I like to go to, university to tell people what it's all about in Git. Because what they usually do, they're taught what Git is, but they have no idea what actually Git means in a real world.

Simone Cuomo:

Then they also set expectation on, the speed of development, what really is expected for them, the speed of learning, the fact that as developer, we'll never stop learning. You know, it's it's very common, again, in the panel that we did in the Germany a couple of weeks ago. The whole panel was asked who had the, computer science degree. And of the panel, nobody had. Nobody's done any education that was computer science driven.

Simone Cuomo:

So, we know that there's a high percentage of people not without a degree in computer science that are developers. And I always try to, reduce the gap because I've learned now that people that go to university, they are sold, an unexpected unrealistic reality of the fact that they're ready for it. They're ready for the world to work as soon as they finish university. And unfortunately, that's not true. And not because university doesn't give them enough, but because there is more and that's why I wrote the book.

Simone Cuomo:

So there is the, understanding what really means setting up a request, understanding working with a team, understanding, you know, the the speed of development and learning, and all these things. And, and this is usually what I try to do, in university as per se. And, yeah, it's, it's a, it's a hard battle.

Michael Thiessen:

Yeah. Do you yourself have a computer science degree?

Simone Cuomo:

I do not. I was, I've done business management and economics. So I got a business degree, but, not computer science. So complete in self thought.

Michael Thiessen:

Yeah. So I have a computer science degree, and I remember my my favorite professor, who wasn't technically a professor, he was a manager at some local software company. And basically, he saw that there was a gap between the skills that people had coming out of university and what what was needed. And he was like, this isn't good.

Michael Thiessen:

I need to fix this. And so he quit his job and became a, a lecturer at at the university. And, he was he was my favorite because he actually had real world experience where most of the time these professors have PhDs in computer science. So they know computer science really well, but they've maybe never submitted a blog or gotten code review or certainly not keeping up with, like, modern web development because they're focused on whatever research area they're in. Right?

Michael Thiessen:

And so it's, it's very different. It's very different. And yeah, that so that that experience really I like, I totally understand what you say about there's a gap.

Simone Cuomo:

To do that. That's precisely what I'm trying to do. I'm trying to merge the gap because there is a gap. It's a well known gap, and I really try to remove that gap when I go to the university.

Simone Cuomo:

It's not easy, because I really just go once or twice a year for the people, but, I'm trying my best.

Michael Thiessen:

Yeah. That's pretty awesome. I think there needs to be more of that. The way so I live in, in Waterloo, which is just outside of Toronto, and they the university here, which I didn't go to, but the university here, they do this co op system where you go I think it's 6 for 6 different semesters

Simone Cuomo:

Mhmm.

Michael Thiessen:

You instead of you sort of, like, alternate going to school and then going on an internship for Nice. Like, 4 months. So as you are learning these different things in university, you are also going to

Simone Cuomo:

Applying them.

Michael Thiessen:

And working. And then you're learning, oh, this is a pull request, and then you're coming back and learning more stuff about that in school. And, like, you're sort of, like, going back and forth. And so I think that sort of helps, like, solve some of that problem because people are they're learning the practical stuff in addition to the k. Like, the more theoretical stuff.

Simone Cuomo:

You know, if somebody would ask me, what do you think students should do? The answer is clear. Every student should get into open source. Every student should do that. During their course, they should you know, that could be a great a great, a great topic.

Simone Cuomo:

Like, they need to do at least 10 pull request. They need to do at least some 10, you know, 10 code push to a open source project because that's where you learn. Right? You learn what PR is. You learn that you need to set standards and follow standards.

Simone Cuomo:

You learn how to have conversation. You understand the complexity of work. There's a lot that can be done. And I think open source is the one thing that they always push, both in in both books, actually, right, about open source because, it's really what has driven, the front end, industry, and I think what will continue to do so.

Michael Thiessen:

Yeah. I think that makes a lot of sense. Maybe you should push to start an open source contribution course where instead of lectures, it's make a poll request every 2 weeks or something. I don't know. And then get like that real world feedback in there.

Simone Cuomo:

That'll be good. And then you actually get tested by the quality of your pull request.

Michael Thiessen:

Yeah. If they're accepted, then way to go. Here we are. Here.

Simone Cuomo:

Alex and the rest will be happy to hear that. Alex and Evan are jumping for joy.

Michael Thiessen:

Yeah. So you mentioned the, conference in Germany which happened, I think, last week. So it's, fresh fresh out of there. So you said you were talking with lots of people, networking with lots of people. What kind of what kinds of conversations were you having?

Michael Thiessen:

And and, like, what what kinds of things did you did you learn from the people at the conference there?

Simone Cuomo:

I was trying to really understand the the current status of the of the industry. I was trying to, you know, wanted to know in Germany, there were a lot of people from Europe. And I do work with a lot of people from America. So I just wanted to see a feeling of how people, felt themselves as, you know, how is the work going? How is Vue perceived in Europe?

Simone Cuomo:

How is, you know, Vue stability and growth, and, you know, I'm happy to I'm happy to have heard loads of really good things. Of course, you're in a Vue Vue conference, but, you know, I also done a Vue conference a couple of years ago where people were a bit unsure because of the Vue 3 deployment and, you know, the ecosystem. But now people are very happy, very stable. Everyone looking forward, what has to come from Evan's new company, VoidZero. So there was a lot of discussions there.

Simone Cuomo:

And, yeah. It's and very nice to see a lot of first time conference, attendee. So that was really good. So I was trying to be as friendly as possible because going to a conference for your first time is not easy. And you don't know where to stand.

Michael Thiessen:

No. It's, it's hard. And and, like, I'm I'm quite an introverted person, and so it's always hard to figure out, like, how do I just, like, strike up a conversation with random people and, like, how, oh, these people's they're having a good conversation. Like, maybe I wanna join that conversation. How do I get into that?

Michael Thiessen:

And it's like can be, like, this awkward dance and and even being a speaker. And now I have the privilege that some people even recognize me at these conferences. Occasionally, I get a I get a couple people who, you know, tell me they like to book or whatever. But even then, it's like not you would think that more people would come up and and say, hey. I love this and, like, strike up conversation, but it's still just as just as difficult.

Michael Thiessen:

So

Simone Cuomo:

Correct. Yeah.

Michael Thiessen:

It's yeah. It's hard. So, yeah, we need us us introverts need extroverted people like you to come in and say hello and and start the conversation.

Simone Cuomo:

I'm telling you not everybody was very happy of me going around, but in the long run, they don't know that actually I helped them out. My my main message was if you're coming to a conference and you're not just watching it remotely from your house, the main reason is because you need to network. Otherwise, just stay home. So I was, going around tables and telling people to come around and introducing people around. So yeah.

Michael Thiessen:

Yeah. It's all too easy to, like, bring your laptop and then you're sitting in the back and, you know, maybe you do a code code review some some work or whatever because they they need it. And, you know, you just get sucked back into the to your normal routine where you're talking with, like, a coworker that came with you, and it's like, you're not getting everything out of it. But I know exactly what you mean, and I try to also, like, break out of my my shell a bit more, but it's always it's always difficult. So Always difficult.

Michael Thiessen:

Yeah.

Simone Cuomo:

Yeah. I did, I suggested to the conference organizer, let if they implement it, I do apologize. I take no responsibility in this. But I suggested them to, so in Vue Germany, we had roundtables. So everyone was sat on different roundtable, and I told them they would be nice if after every talk, after every break, people have to change table so that you have to be with somebody different.

Simone Cuomo:

Some people will be like, oh, I hate this, but actually will help because it means that you meet 10 to 15 people just by changing table. So Yeah. We'll see. Who knows?

Michael Thiessen:

Yeah. Do that and maybe, like, icebreaker questions in between speakers or something so you can, like, get to know the people a bit. And, yeah.

Simone Cuomo:

Yeah. Yeah. Yeah. That's all about the conference. Right?

Simone Cuomo:

Conference is about networking. It's, it's about the people that you meet, and, you know, finding out that you are not alone. So many times people will be like, oh, you can't believe it. I still work with this project that is on, you know, Vue 2, and I still do this that is, in a legacy. But when you go to a conference, you realize that everybody's the same.

Simone Cuomo:

Because very few people work on the latest and greatest on, the best technology or can use whatever they want. So, it's nice because you set yourself to a standard that is expected, and, it let you understand that you're lucky to be where you are and be happy where you are.

Michael Thiessen:

Yeah. And and talking with real people, you hear what what people are actually working with. Like, so many people are on Vue 2 and just just like you upgrading your giant application to Vue 3 or to, you know, Nuxt 4 or whatever is not so painless. And so it takes a while and maybe, you know, other features are prioritized, so it's taking a while. You know?

Michael Thiessen:

And you also hear, more nuanced things that people like, most people don't share their opinions on Twitter. And if they do share opinions, there may be not the whole thing. And you can only share so much through text versus actually talking about things. And so yeah.

Simone Cuomo:

Yeah. I was, I'm very opinionated. And there's 2 opinions I have above you that I'm probably completely against the rest of the world.

Michael Thiessen:

I'm very interested.

Simone Cuomo:

Number 1, I think the composition API, the way it's being used was a mistake. Like, I really don't like it. And my explanation is that I'm not I really, really like it to create reusable functions. So for creating composable, I think that was precisely what was needed. And we're seeing this with the VueUse from Anthony Fuu.

Simone Cuomo:

That repo is the bible of Vue. Js. Like, without that repo, you cannot develop. But then I don't think, creating actual components. So UI component with the composition API has made the overall development cleaner.

Simone Cuomo:

More importantly for me, it's made it harder for people to enter into the Vue ecosystem. It was easier to teach people with the option API that it is now the to teach it with the composition API.

Michael Thiessen:

Yeah. That makes sense to me. And I I think I'd agree with that. If there was there is a way to use you can use Correct. Composables from VueUse with the options API in your components

Simone Cuomo:

Yep.

Michael Thiessen:

Which is which is nice that you can have you can have the best of both worlds there. If you want to, you can use options API

Simone Cuomo:

Correct.

Michael Thiessen:

And then get that that reusability. But it's still but then now you're looking at 2 different ways of writing your logic versus just the one.

Simone Cuomo:

Well, depends how we look into it. Because if we just think composition composable as mixins, you say, oh, you're just creating the usable logic, and then you just import them in your component and component are always with option API. You don't think it is 2 different way. But, again, I'm, I know that I'm alone, unfortunately. I'm alone in that world.

Michael Thiessen:

Well, no. It's, I want you to stay strong in your opinion because I will. Don't worry. We need people who are like we need, like, debate and, like, healthy Correct. Back and forth.

Michael Thiessen:

And I think it's not wrong that you know, lots of people like the composition API, but it's yeah. We don't want, yeah.

Simone Cuomo:

And then and and funny enough, I like to be vocal when my decision is different from the rest of the world because, I want people to know that it's okay. So if you go on Twitter, it's very clear. I always like to tell people things that they don't know, but I don't complain. I like to give my explanation and why I don't like it and say it. Because many times people just say, oh, yeah.

Simone Cuomo:

Yeah. This is cool. And they've joined a train just to look cool themselves. But deep inside, they probably felt more confident or comfortable with the other version, but they will, you know, feel like they have to say that it's cool because everyone else is saying it's cool. So I like to really people, give, you know, show everyone else that, you can't say no.

Michael Thiessen:

And I think the imposter syndrome is part of that too, because if everyone is saying the composition API is amazing and Evan says, this is probably the way you should be writing it. And, you know, everyone who has a platform on Twitter or up on stage is saying composition API, every example is composition API, and you're thinking, wow, I really just don't get it. Why can't I just write it with the options API? Then it's easy to feel like you

Simone Cuomo:

You don't belong.

Michael Thiessen:

You don't belong or you're not you're missing something or you're not smart enough to get it or you're not a good enough developer to understand why it's better. But you know what? There's there's different opinions on on everything. It's funny because I try to not be opinionated, but I also see that there's value in being opinionated. So

Simone Cuomo:

Yeah. Yeah.

Michael Thiessen:

There's I I need to explain that a bit more. So it's good to have different opinions and and perspectives. But at the same time, I don't want people to feel like if I say something, then that's the only way or that is the best way. In my opinion, it is just one way of Correct. Many ways of doing things.

Michael Thiessen:

But at the same time, if you're a beginner and you are new to things, you're you're just like, just tell me. Just tell me, oh, wait. Should I do it? Should I do it? Should I use options or should I use composition API?

Michael Thiessen:

So there's, like

Simone Cuomo:

Correct.

Michael Thiessen:

There is balance between presenting different choices that people can choose from based on what they like verse and also, like, saying, well, if you don't know or you don't care to think through this, maybe just default to this one. And so Yeah. I I try to do that.

Simone Cuomo:

Yeah. And, I'm very lucky because in this doc, we work with many different technologies. We work with many different languages. So that means that, you know, as for my projects, I'll need React, then I do Vue, then I can do option API, react API with TypeScript, without TypeScript, with Tailwind, without Tailwind. So when I give a suggest when I when I give, no an opinion, I can always say, look, guys.

Simone Cuomo:

90% of the time, I actually do use the option the composition API. So it's not like I'm the person talking from behind the the scene. I do it. I use it. I know how to use it.

Simone Cuomo:

I'm not saying I'm not just shying away. You know, because usually people give opinion. Like, you know, I there are lots of, for example, I say, you know, framework x person that can give an opinion of framework y, and they never tried framework y. That's a that's a useless opinion, but you need to really be able to say, look. I do use framework framework y in m every day, but I actually think, you know, there's a lot to be said for framework kicks.

Simone Cuomo:

So I didn't like to do that. So usually, I always give opinion for things that they really know both ends.

Michael Thiessen:

Yeah. I think that's important too. And part of my job is to learn new things, and so I so I can teach them to people. But I am so focused on the Vue and Nuxt side of things that I don't really have a lot of experience with React. I used it for the last time, like, 7 years ago.

Michael Thiessen:

So, like, a lot has changed, and I don't really have a valid opinion on React anymore other than what I see on Twitter, which is not really a good opinion at all. Like, I don't have any good information from that. Right? Mhmm. So I know what I know and most most of the things that are out there, I don't know anything about.

Michael Thiessen:

And, that's just how it is.

Simone Cuomo:

Yeah. Yeah. And, you know, again, it's it's on us to, show different parts of opinions and allow people to then make their own choice.

Michael Thiessen:

Yeah. So I would love to talk to you about getting started with Vue. Maybe you're listening to this and maybe you are one of these junior developers that we've been talking about, and you've haven't had a chance to really dig into things. And you're at the beginning of your journey. What kinds of things would you say to this person who is starting?

Simone Cuomo:

So, well, the first thing they should buy my book. So, you know, what, you know, the book, I wrote a book called Vue.js for beginners. Hopefully, you can put it in the show notes. And, the aim of the book is really to put, my knowledge of all the mentoring that I've done during the years, into a book. Now if we go back, what I suggest people to do?

Simone Cuomo:

Learning Vue is such a part. One is the technical, but the one that I think is the most important is community. So Vue Vue is a very unique community, that is different from other framework, that you need to buy in, you need to learn and get get into. So I think the best way to get started is really go on the Vue Discord, start to go into the, you know, the, everything that is Vue related. Start to really ask, you know, start to follow people such as yourself, Alex, even Daniel, Daniel Roe, Jessica Sachs, all those people that are really part of the community, they start to really understand where the community is going.

Simone Cuomo:

Because if you want to use Vue, the best way is to be part of the Vue community because it really helps. Also, the Vue community is very welcoming. So if you go to Discord channel, you can see how, helpful they are, how many people can find their first step and their first suggestion, the first of a project to to to, to, go into. Then, as I do with every framework, no no matter if it's Vue or not, I think, the best way is to try something. So do something small.

Simone Cuomo:

Set yourself a small project. The important is that you're not creating a project from scratch. Otherwise, you're gonna spend 90% of the time on what should be the name and how should the button look like. So really take something out there, something that exists. It can be, the BBC weather forecast.

Simone Cuomo:

So it can be the new a news website. It can be anything. Just take something that is already out there. I know I think that is 100 days of code or boot camp that they have started website that you can take and take inspiration from. So just take something like that and reproduce it.

Simone Cuomo:

But then, as you start to get your grip on the basic, push your boundaries, and there's no better way to push your boundaries than to, check out, the Vue VueUse. So how would you check out VueUse? So, you know, for people that are not aware, Vue has something called composable that are reusable pieces of knowledge. So you could create a VueUse for, use mouse, and it will tell you the x and y coordinate to the mouse as you move it using the viewer activity. So what I usually, like to tell people when I mentor them is, can you create the logic for the VueUse for me?

Simone Cuomo:

So create a logic for useMouse. How would you do it? So people should try to do it themselves, and they should go and see the open source package of the useMouse and say how different it is. What did they miss out? What what nice web would have added?

Simone Cuomo:

And then I will do the same with packages. For example, you can use shadcn to really learn how packages are created. Even if that can be daunting because it's, a bit more advanced, like, you know, packages created from, component libraries are very advanced. But I would really get that. Like, get into community, get into the open source and see the code, and that's just the beginning.

Michael Thiessen:

That's a great suggestion. And I I think there are 2 things on there. Like, so the first one is I I've seen people who are getting started and they get hung up on the, what should I build? And, oh, but there there's a million other to do list applications. Like Yeah.

Michael Thiessen:

Yeah. I wanna build something useful. And I was like, okay. Like, slow down. You're not, like, trying to start the next, you know, $1,000,000,000 company.

Michael Thiessen:

You're just trying to learn you're trying to learn how to write code. So just, like, pick whatever and it can be, like, it can be literally anything. And, you can do that. I had someone ask me, a friend. She's learning Python, and so she was asking me about about this, a similar question.

Michael Thiessen:

And one thing I suggested to her was to check out different APIs because sometimes you can build a pretty interesting and fun application by just connecting different APIs together. So Mhmm. Like, you're you're mentioning build like a Yeah. Like a forecast page or something. But you can connect to some weather API and get

Simone Cuomo:

the Weather API is free. Yeah.

Michael Thiessen:

Yeah. And then figure out something fun to do with that or maybe even, like, connect that to, I don't know, a Google Sheet using their API. I don't know.

Simone Cuomo:

Yeah.

Michael Thiessen:

I'm just I'm just coming up with stuff. You know? And, like, you can make whatever application you can think of just by, like, connecting different APIs, and that can be one interesting way of putting stuff together.

Simone Cuomo:

Totally agree.

Michael Thiessen:

The nice thing about looking at VueUse, which I realized as you were you were talking about it, is that each composable is actually pretty small

Simone Cuomo:

Correct.

Michael Thiessen:

And self contained for the most part. Mhmm. And so it's pretty easy to be like, okay. This is just, you know, a 100 lines of code.

Michael Thiessen:

And it's not like some big mammoth project that you're gonna have to, like, how do I re how do I build this? How do I do this? It's, like, really nice nicely contained, like, small chunks that you can can learn.

Simone Cuomo:

It's it's the best learning. That's why I call it the bible because it's the best learning, material we have out there. It's very simple to go through. And after you learn, you go through a couple of them. You understand the pattern, and then you what is then the best part is that you can then feel confident on checking the issues on the VueUse repo and then even submit and support them.

Michael Thiessen:

Yeah. And even if you're not a beginner, I think this is the 3rd time we have had someone on here or a 3rd episode where we've recommended going to the Vue. Use source code to learn.

Simone Cuomo:

Anthony is not fame enough.

Michael Thiessen:

So so I think this is episode 31 now. So that's 10% of our episodes. We we tell you to go to VueUse and and read the source code. So, Yeah. You know?

Michael Thiessen:

Yeah. Strong recommendation there.

Simone Cuomo:

Strong recommendation, indeed. But yeah. And that's, again, is, is also the foundation of what you will build. Many of the Vue users really composable of what you would use. And also help you understand really.

Simone Cuomo:

I think that's, that's a hard topic to learn is what is a composable, how should I break down my components. And I think by checking the views, he also helps you to understand. Okay. Fair enough. I understand now.

Simone Cuomo:

So this is what we mean by composable is really and you can set yourself as that separational logic that can be hard on standard times.

Michael Thiessen:

Mhmm. Anbd, one tip, I think, would be there can be a lot of there's there's a lot of, like, pretty intense TypeScript stuff going on in there sometimes. So one thing that you could do is, for learning purposes, if you take if you copy and paste it into Chatgbt or Claude or something Yeah. You can ask it to just remove all of the types. Or sometimes I do this when I wanna learn how some open source thing works, and I just say rewrite this, but like a simplified version of this.

Michael Thiessen:

And it will, you know Yeah. Compress it from 200 lines to 50 lines. And, you know, we remove all of the edge cases and all these things. But, like, it's a good starting point. And then you can go back to the original source code and then and go from there.

Simone Cuomo:

Yeah. I agree. A 100%. AI can really be used, to help us in many way, and this precise way. You you you nailed it.

Michael Thiessen:

So that that actually gives us a nice segue into a question that I had. I was thinking of at at the very beginning, and you're talking about junior developers and how they're not getting the same kind of mentorship as they once were. So now we've got AI assisting us with copilot and other things doing auto completes and even like ChatGPT and Claude, which can, like, write large large pieces of code for us that are sometimes surprisingly good and often surprisingly bad. And so I was wondering if you've thought about or have perspective or opinion on how that affects people who are just getting started now with programming.

Simone Cuomo:

Yeah. So I think there's a problem in using AI, for, people that are just starting development. And, you know, you were saying now that sometimes it gives you a good solution and sometimes it gives you a bad solution. What usually happen is that AI gives you quite good solutions for simple things that are very simple. So you can go and say, create this table, or you can go and say, take the JSON object and create a form.

Simone Cuomo:

And usually it's really good. So what that means is that junior will consistently receive good answers from this artificial intelligence. But the main problem is that people will not learn, juniors, will not learn how to fetch the answers. And what happens is that as you progress in your career and AI cannot help you anymore because it's a unique problem, it's a problem that is too hard to explain to AI, they will then get stuck because they've not done the learning that it takes for you to how do we solve a problem. So, you know, if you've been in development for more than 3, 4 years, we all know the go on Google, check Stack Overflow.

Simone Cuomo:

Stack Overflow answer is old, but it gave us an insight of what to do. So we took that, we pasted it, and we modified to adapt to what we need. There was a lot of learning that took care into the this is what they need, this is what they've given, and this is what actually needs. So your modification. That's the learning process.

Simone Cuomo:

So it's the journey of actually going from a question to an answer. Giving those answer now straight away to all the junior straight away straight away straight away. It'll then make it hard when they go and oh, how do I do it? Very simple example. You can go now and say, can you please create a form with username and password?

Simone Cuomo:

A a a junior developer will go in and say, ChatGPT, can you please give me a form with username and password, a text field and a password? The username and password will be perfect. They take it, they use it, and they use it. We know, me and you know, Michael, and many people that have gone through that, how complicated forms are behind the scene. How many things you need to know about forms?

Simone Cuomo:

Why do you need to wrap it? How do you need to make sure that submit button works? What does it have to do with the password? The auto complete? The the error place?

Simone Cuomo:

There's a lot of things that it may be given to people using g JPG. Now it's okay if I use it because it been through, so I will be able to still know about those those gotcha. But a junior developer will not. So when the time comes that the damn question, why is done this way? The answer would unfortunately be Chargept did it for me.

Simone Cuomo:

And we're gonna miss those points. So there's a lot of learning. I think that there's a lot of good quality code that we're gonna miss.

Michael Thiessen:

Yeah. I I totally see how that that can happen and how there's a missed learning opportunity because you don't have to think through what's going on. But at the same time, there's this the counterargument to that would be, well, when I was learning to program, I was learning JavaScript, but I didn't have to learn C, and I didn't have to learn how to manage memory, and I didn't have to learn pointers or, you know, memory addresses and all of these things because JavaScript was a nice abstraction that helped me deal with that. And so there's some people who would say, well, if AI can understand it, then why do I need to understand it? And if AI can build this form and can do that, then why do I need to know how it works, you know, the the details of how to link labels with their IDs and make it accessible and all of this stuff?

Michael Thiessen:

Why do I need to learn that in the future? Why can't I just continue to to rely on AI going forward, especially as, you know, we're assuming that AI is gonna keep getting better, whether or not that or, you know, how how long that trajectory will last? Who knows? But, yeah, like, there's that argument of, well, I use abstractions, so I don't have to know these, like, other details under underneath.

Simone Cuomo:

Yeah. No. I agree on that. I totally agree on the point of, if there's a level of obstruction, I don't need to know. It's just that when the time comes that, you know, this is not really like a c sharp and a JavaScript.

Simone Cuomo:

This is a JavaScript written for you, so you still have to do the JavaScript part. So I think the the main part is not about being the JavaScript part is, you're still the owner of the code you push.

Michael Thiessen:

Mhmm.

Simone Cuomo:

And as long as people are aware that even if you use ChatGPT, your name is in the PR. So it's your code. That means you need to fully understand it. And I don't think anybody would ever go and say, let me understand why this was made this way. So I think in the long run, again, we we spoke about developers being by themselves when they start their career.

Simone Cuomo:

Now we've got developers being taught by an AI by themselves starting their career. In the long run, you're just gonna make other senior less senior, or it's gonna lengthen the the process of, you know, the career development.

Michael Thiessen:

I wonder if part of the part of the issue is that so with the Stack Overflow, you get an answer, but it would never be, like, a 100%. You could just copy and paste it. Okay. Occasionally, there would be like, oh, I can just copy and paste this line in and it works. But at the very least, you'd have to go in and change some variable names or, oh, I don't you know, I call this method over here instead of over there, and you'd have to think through it and actually understand the solution first before moving it into your own code base.

Michael Thiessen:

But with AI, you it'll just write the variable names for you and put it into the right functions and, like, all that stuff. So, like, even that last 10%, you don't have to do. And so I wonder if that's maybe, like, the gap where if we built an AI that was, like, more like Stack Overflow where it's like, it's almost there. Now you take this and, like, you have to rewrite it to work with your own code base, then I wonder if that would, like, force people to actually learn it and, you could sidestep that issue while still getting the benefits of the AI. I don't know.

Michael Thiessen:

Correct.

Simone Cuomo:

Yeah. Well, unfortunately, nobody will use the AI, and everyone will move to the other AI. You give everything for them. That's the

Michael Thiessen:

Yeah.

Simone Cuomo:

I think that's the problem we have with that. But you're absolutely right. Like, you know, if I'm giving an object to Chargebee and say, iterate through that and create an array with just name and surname. It'll be great if it tells you, this is how you iterate through the object, but then you need to do it yourself and put the keys and values yourself. Something as small as that really helps you understand how it works.

Simone Cuomo:

But if you get the code and it works perfectly, you copy, paste it, don't even read it. Done.

Michael Thiessen:

Yep. That's like, so I've seen some videos on YouTube of people with, with cursor where you can it, like, edits the files for you in line and stuff. Yeah. And, it's just a lot of it is coding without even looking at what it outputs. It's just like, okay.

Michael Thiessen:

It created some files. I go and I run it. Oh, I got an error. I'm just gonna copy that error, paste it back in, fix the error. And then

Simone Cuomo:

Yeah.

Michael Thiessen:

It it tries to fix it. Maybe it fixed it. Maybe it didn't. And you're just like, keep keep going through this cycle without actually, like, looking at the code. And maybe if you looked at the code, it would have been obvious to you as a person who understands the code, but, you know.

Simone Cuomo:

We did a project translation, from PHP to, JavaScript. And, it was a very old PHP framework, so we copied the file. We went to chat to, Copilot in the Copilot. Can you move change this file to be JavaScript file? Done.

Simone Cuomo:

Like you were saying, sometimes the method of 2 need to be updated. Great. We did the same. We went to PHP models of the database. Can you change it to be a TypeScript model?

Simone Cuomo:

So the use case is great, but, you know, how much have I gone like for like and make sure no because it worked? The same app the output were the same on both sides? Yep. It is. But it did save time.

Simone Cuomo:

It did save a lot of time.

Michael Thiessen:

Yeah. And that's the I think that's the the key is being figuring out how to use it in a way where it's helping you and not going to hurt you in the long run where you rely on how easy it is and just become lazy and, not thinking through your your code there.

Simone Cuomo:

Yeah. Yeah. 100%.

Michael Thiessen:

Yeah. So I think we're, at the end of our conversation here. Is there before we wrap up, is there anything that you would like to share before we, finish? We've we've mentioned your book. If you are interested in, learning Vue

Simone Cuomo:

Correct.

Michael Thiessen:

We'll have the Both book. Link in the description.

Simone Cuomo:

Both book. So Vue 3 for beginners is for people that want to get into Vue, and the other one is called Beyond Coding, that is, is for people, aspiring developers that want to get into the world of tech. Also, I'm very, very active on X. So I do suggest people to follow me. Hopefully, we'll get British notes, but it's Zelig 880.

Simone Cuomo:

Happy to discuss, happy to chat with people that are getting into tech, and happy for, you know, for people to really learn, and get, you know, to for me to give as much knowledge as I can to, people coming in. And, you know, don't be shy. If I'm busy, I'm not gonna answer. But if I do have time, I'm more than happy to answer and be, supportive there.

Michael Thiessen:

Awesome. Well, it was great to have you. Great discussion. We'll have to have you on again some time. We can discuss more about about Vue and and learning.

Simone Cuomo:

Correct. Yeah. Yeah. And I look forward to see what, the Vue ecosystem has to come. Both Vue, Evan, and Nuxt are doing a fantastic job to keep us, you know, keep us awake and, keep us learning, with all the new things coming up.

Simone Cuomo:

So, I just look forward for the future to come with the Vue ecosystem. And I'll hopefully see you soon.

Michael Thiessen:

Yeah. Well, see you all in the next episode.

Simone Cuomo:

K. Thank you for having me.

Michael Thiessen:

Bye bye. Bye.