#130 Natalia Tepluhina a DBA turned Vue.js-expert at Gitlab
⚠ The following transcript was automatically generated. ❤ Help us out, Submit a pull-request to correct potential mistakes
Natalia Tepluhina 0:00 What's up? It's interesting, you're not applying for the position of the senior or junior middle, you're applying for the front end developer and they decide what is your rank on your interview, which makes sense to me, right? Sometimes people undervalue themselves and times people overvalue themselves. It's just easier to define by the company. Again, senior in one company is not senior in the different company. They all have different criteria. I even think the whole grades is kind of float in general. But at the end of my interview, I was offered a job as a senior developer, my my imposter syndrome kicked me heartless. My feeling was I tricked the whole bunch of interviews like five people, I trade them off.
Tim Bourguignon 0:50 Hello, and welcome to developer's journey, the podcast bringing you the making of stories of successful software developers to help you on your upcoming journey. My name is Tim Bourguignon, and on this episode 130 I receive Natalia Tepluhina. Natalia is a Vue.JS core member and a staff front end engineer at Gitlab. She's a GDE Google Developer Expert in web technologies, a conference speaker and author of various articles revolving around Vue.js. Natalia, welcome to DevJourney.
Natalia Tepluhina 1:19 Hello, and thank you for inviting me.
Tim Bourguignon 1:21 Oh, it's my very pleasure. Natalia, the show exists to help the listeners understand what your story look like, and imagine how to shape their own future. So let's go back to your beginning, shall we? Where would you place the start of your developer's journey?
Tim Bourguignon 14:07 Oh it's true for for any kind of technology we've worked with. With whatever we had before, you're so happy with what happened so far. I mean, just take the the Chrome Developer Tools. I'm pretty sure you couldn't imagine a life without some kind of Developer Tools nowadays, but we used to work without that.
Tim Bourguignon 23:15 Absolutely. Absolutely.
Natalia Tepluhina 23:17 So I learned about branching, I was like, Oh my god, I think everyone has a moment when you, you asked about to use rebase instead of merge, and your first three base and you fail miserably. Because you have no idea how to resolve them correctly. I just delete it all and clone it again and just reproduce my changes here.
Tim Bourguignon 23:44 Yes, we've all done that.
Natalia Tepluhina 23:47 So painful, because this is just, this is supposed to help me not to screw up so much. But it was also I had an amazing colleague, senior crease, who was working with me who was doing most of reviews, and sharing his opinions on the code and sharing his advices as well. And he actually believed in me, he felt I was very promising developer. So he spent a lot of his time actually growing me as a specialist. And he was very optimistic, cheerful and so on. And the important moment was when we were working on the project on Angular about here. We decided to go to the conference. And for me, it was very you like oh my god, developer conferences, never been to one. It was Angular conference. It was mg Vikings in Helsinki. And when I went there, it was one more thing that kind of pushed me further in my personal development in my career as a developer. It was very fun. It was nice and speakers were incredible and There is a moment when you look at the speakers and think like, Is it even possible for myself? to be like them? Is it too late already? Or just Can I do the same? Can I be there? Can I share whatever I've learned? And of course, like, almost anyone, I was like, I have nothing to tell from stage. I've heard this so many times from so many people. Like why don't you go to the meetup and share this? Oh, what they have nothing to share. This is not interesting. This is I have nothing fancy to work on. And this is so untrue. Single developer has something to tell about lead practices be made, like interesting discoveries plugins. Like, if it's obvious to you, it doesn't mean it's obvious to everyone. Some people have no idea about this. And this moment, as we are speaking is like, this is not about myself. But maybe, maybe it would be a good idea to have this as a goal, maybe very distant goal. I heard about Google Developer experts as well. And they shared this with Chris saying, like, Oh my god, can you imagine how much time it takes to get there to be like a speaker and an expert in this system? I guess it felt maybe it's not that much. Who knows? It depends on how hard you try. And this one sounds like okay, I mean, nice, optimistic thing. But it was it was a nice experience to be at the conference, and back to my work, and work for some more amount of fun. I was actually asking to have a view project from the company. But at this moment, we had only Angular and react once I was promised, like, as soon as we have view, you go there. But the conference was actually a moment where I started to be more public and open. I revived my Twitter, I had a Twitter account since 2011. But never ever tweeted anything. And when I was flying back from Helsinki, I remember this night at the airport, where I was like, Okay, okay, let's just start speaking with outerworld. Maybe it will leave me sour, maybe not. But it's an interesting one. So I decided to just check VGS people on Twitter, see what's going on in the world. I subscribed to many of you developers accounts, and that was just triggering them. And thought about maybe there is also uJs conference could be interesting to go there as well. Not only to Angular, because Don't get me wrong. I'm like Angular, but it was mostly about working with it. Not with not about the passion. And they have a Stockholm Syndrome. I like TypeScript. And Eric's Yes. Yes, later, but okay, no spoilers. Let's go back to this moment. I was reading learning. And one day, I noticed that there was Vue JS conference in the United States. And as a strong junior developer from Ukraine, I couldn't effort the trip to United States myself, the trip, okay, but not free with a conference ticket. And there was some kind of diversity initiative there. I noticed that it was an initiative from an whew, let's say, I know, you're not the company, even just initiative. They were called view vixens. And they were similar to Angie girls. And I knew about Angie girls, this is an initiative helping women to learn Angular for free. It's a free workshops. I was even mentoring one of these workshops, but for view, I had no idea that this existed. And I decided to ask a founder of evictions about do they plan to have this in Europe, as well. And I think it was a gem boober By the way, she found two weeks since she was working. I think at this moment at fel Eric, not Microsoft. She went to Microsoft later. And I think her Hey, like, they've done workshops in Europe. And she responded to me with like, Hey, we do in perspective, but so far, we don't have any curriculum for the workshop. There is no workshop problem. And I'm looking for any kind of help. So if you want to offer your own, please join. We will be happy. I was so happy about this. And if it Okay, let's do this. I joined it. It was April of 2018. Already, yeah, April of 2018. And I was just, I was trying to build a curriculum for the workshop. I was actually writing it. And then after this, Jen was like, Hey, we have a conference in May in Barcelona. Like may it's April and we have nothing ready with us. This will center on the workshop. They're like, yeah, let's let's make it happen. April was crazy. It was like Udacity course again. I was just working by day and just building the interesting workshop because I wanted it to be interesting. I think sometimes people, when they design free workshops for beginners, they stop at some some kind of to do app. This is no fancy. Like, imagine someone who never touched front end development, and you built it to the app with them. It's a bit boring, honestly. Around, I think it was dark API. So around pictures, nice elements. I decided to use component UI framework. It was my mistake, I would write it after, but it was still very funny. And the whole idea of the workshop was not to teach them to be proficient in uJs. It was about make it clicked with them. Because if someone is interested in something, they will try to learn by themselves. So I was creating this curriculum like crazy. And if I was flying to Barcelona after it was so scary, honestly, there on this workshop, even so I felt like okay, at least I have some knowledge of uJs. It was a good knowledge. But this time, it was around like two years, some commercial experience, and then building projects on my own, and again, regen forums and so on, and building things just for fun, like pet projects. And it went so nicely. It was very exhausting, when you teach for the first time, but it was so nice to see that people actually are understanding something, you know, this moment where there is a light in their eyes, when they tried something, and they fail and fail and you help a bit and they very attached to this. It's like It's like a light bulb, like, Oh, I realized that I understand this. It's working. It was really amazing. And the workshop was at the conference, as well. So I contacted conference organizers, they were actually caring about venue and food and all the stuff like typical worship at the conference. And they also invited me to their next small event in Paris in June, like, Okay, this is really nice. Let's just fly there and run it one more time. And I had so much fun. And conference organizers also said, if you're already flying to Paris during the workshop, would you mind giving a talk there? Like I thought at the conference, you wanted me to look, you know, this is from a small conference. It's like a big meetup. It was true. It was around like 150 people. That a very small conference, it was Vue JS road trip, Barris. And it's like, Okay, I will try to find some interesting topic, like, what do I know? What do I know that people don't know, especially in the view world? I know Eric's Yes. Let's try to explain some rxjs in the talk. I'm still ashamed of this stock. And people were saying that it went good. But when I watch it, sometimes I feel like I was so frozen on stage. I was so terrified with the fact people are listening to me. But after the talk, they approached me and asked questions, and I was happy to answer them because it my experience with our chairs was pretty much extensive. All their state management in Angular is built upon it. It was so much fun, just to answer. I've seen it, they were interested. And I realized they're like teaching people something real like to share the knowledge and see they understand. After the talk, I went back home. And apparently I got one more invitation to the conference, not from these organizers brought but from people who are listening to the talk, and asked me to fly to Armenia. Next conference. This was a moment when I realized maybe the talk was not that bad. The first moment and second was like, oh, wow, people actually inviting me somewhere. This is, this is impossible. I had, I hadn't had a huge imposter syndrome about this. Sometimes I think that, Okay, next moment, people will realize I'm not that good as they think. It's still with me. So I was running workshop with Vivek sense chatting in their chat and giving a talk a few conferences. And I think in the vixens chat, I met Philippe Philippe de la serda, who was working at gate lab at this moment, and who was also a conference speaker, few conferences. I looked up to Harrison, he was a senior developer gibbsboro experienced and once she asked some advice about the EU, in predictions, chat, and I thought, Okay, I know how to figure this out. It was about state management. I answered. She's like, Oh, yeah, you're right. This is really nice. After this, we met in person in London, at future Islamic conference as well. chatterbait and she was like, why don't you apply to GitHub? And it was like, get to give up. You have five stages of interviews, you know, and I will be rejected at the First time, you're like Google it, no, no, I'm not applying to give. You have a good knowledge of you. And we're actually using it on the front end. I stumbled over this. Okay? I'm so jealous of her honestly, like, you see, I mean, I'm only building things with you for fun, what I'm actually paid for this. This was really cute. And she was like, just just try it just a like a gift love and worst case, you will. But I can even recommend you. If you're scared. I was like, Okay, I'm applying to give up, I will fail, but it's fine. I will just try. And if nothing works, I will just know that maybe I'm not that good. forgiver. She was convincing me really happy to do this. And I applied. And again, that was an interesting, interesting assessment, written assessment for Git lab. I can even share the first question from this, this is not destined task. This is just a say in it, right? The first steps like why do you need a front end framework? And it's not that easy to answer, if you think about it. It's not about just state management or whatever, like, why, why do you actually need a front end framework, I used all my budget very experienced to explain it and build some explanations of this, and so on and so on. And I really like the interview process in general in the company, they're very welcoming, very nice. And I still remember my favorite question on the second stage, which was technical interview, because the interview said, like, Can you explain the viewer activity and a small flashback? All this time I was threading issues. I was applying with my pull requests to fix a bit of view documentation already. I was very interested about what's going on in view world. I was speaking with the team, sometimes, especially at conferences, because on view conferences, most of the speakers are from the core team or ecosystem. And Jen was also part of the second system at this moment. And I think it was my shining moment when he said, like, Can you explain if your activity as you do have your three? Because I knew what I planned for view three, even thought it was released only this year? Not in 2018? Explain both. And I did. I think it was impressive for the interviewer who was also my future manager, and I joined Git lab was picked up. It's interesting, you're not applying for the position of the senior or junior and middle, you're applying for the front end developer. And they decide what is your rank on your interview, which makes sense to me, right? Sometimes people undervalue themselves and thumbs, people overvalue themselves, it's just easier to define by the company. Again, senior in one company is not senior in a different company, they all have different criteria. I think the whole grades is kind of float in general. But at the end of my interview, I was offered a job as a senior developer, my my imposter syndrome kicked me heartless. My feeling was I tricked the whole bunch of interviews, like five people, I trade them all. It was so funny. Because when you have it, it's like, all the people around are great. All the people around are better than me. And apparently they trust my life was so funny for me, and and joining the senior developer and was working on the actual thing that everyone sees at Git lab, which is merge requests, discussions, commands, the things you do if you work with a gift, like he used it every single day. And I was allowed to work with my favorite framework. And apparently at the same time, almost the same time eating healthfully year after this, my contributions to view were recognized. I was already maintainer, one of the maintainer, so the documentation repository due to multiple contributions and communication as well. And they just said, Why Why don't you join the core team? Because you actually have already the core team member, you do work. And I was, again, again, imposter syndrome, you can know. And this feels really wrong to me. But okay, why not?
Tim Bourguignon 39:13 What does it make for difference to be a core team member?
Natalia Tepluhina 39:16 Honestly, it's just a title. It's not something you paid for. It's not something you are privileged. It just allows you to add the title of Twitter, actually. But that's lots of responsibility and work inter. Because when people think, Oh, I just joined No, no, in fact, it's just responsibility, your work a lot. You answer people's questions. And also, you have this feeling that right now you're part of the team. You just can't allow yourself being rude or whatever, to the community. It's a responsibility because what whatever you're doing is also right now be considered will be considered as a part of core team as well. And it's collaboration. It's work. It's lots of fun. as well, because we have our internal discord for the team. We're having fun, we're just communicating. Most of most of team is just people who work on their daily jobs. It's not something that we work full day on Vue js, except I think Evan hue, who is the creator, and a few more people, if your outer maintainer, Eduardo, and I think also how king who is working UCLA, so these people are paid full paid and work full time on the framework, but most of us just just an open source, people, we work in our spare time. And this adds to the core team. And at GitHub, I think it was celebrated absolutely crazily. When they joined, people noticed this, and there were so so many congratulations. So right now I'm in the position, I really like I work on the framework every single day. And I work on the product that is using this framework fairly extensively. Git lab is huge. If we speak about the codebase, it's around 500,000 rows of view code, only view code. And it helps finding bugs and framework, it helps check in every single possible cases, use case of the framework and helps to report back but also, it helps to enforce good practices in the company. Because you know, how framework should work. You're actually one of the authors of the documentation. And it helps you to bring everything good and like make sure that people not doing something wrong, like mutating props, which still happens sometimes, especially progress in object. So yeah, I understand the story sounds a bit crazy, probably, there were moments that I still considered being a pure luck, but I believe that I think it was a TED talk about lucky people. quite lucky people aren't so lucky. The thing is, lucky people are usually those who see the opportunities and who do not refuse the opportunities as a first step, just give it a try. And maybe, maybe it will work. Maybe it won't. But if it won't, you're just staying. Wherever you are right now, sometimes you're not losing anything. And if you refuse this opportunity, you will probably be considered unlucky. And I really like this concept. Because I just saw the opportunity with like, Polish outsourcing company or with view vixens over the top. And as a first step, I didn't say, oh, it talk. Oh, no, no, I can't I just, I'm just too scared. Okay, worst case, I will fail on stage. It will be one fail, and I won't try anymore. What if I don't?
Tim Bourguignon 42:45 I think it's a one of the guests who said you lose all the opportunities you don't take? Yeah, exactly. I really like the formulation. It's it's very true. You don't have so much risk in trying. But the reward can be extremely, extremely important and changing for your life.
Natalia Tepluhina 43:02 And even if you fail, you will learn something. We learn things by failing. Sometimes you make absolutely make some conclusions out of your failure. Right? Absolutely.
Tim Bourguignon 43:12 I wanted to underline another thing. You mentioned three persons who had a very important role in your life. One was Chris, then there was Jen and then was Philippa. And what I really like in what you said, is that they kind of pushed you in making the impossible possible. Chris was saying, well, maybe it's not that hard to create a talk. And then Jen said, well, maybe you could create a workshop, and by the way, it's for next month. And then Filipa said, well, but you should try and maybe maybe we'll work out at Gitlab. And I this, this, this capacity of let's call the mentors, even if the term issometimes a bit too overloaded, to see something in you and push you beyond your shadow, and in trying something is absolutely fascinating to me.
Natalia Tepluhina 44:03 Yes, yes, this is very true. But I want to add one more influential person was actually my dad, because again, imagine it's 90s in Ukraine. And I say that I want to enter university for computer engineering. And it wasn't considered as a one profession there. I understand how sexist itself is sexist. But it was true. When I was growing. There are people that are like that sysadmin can be a woman. It's just impossible. And he said like, okay, just give it a try. I mean, I believe in you, you you will do good. And it was against something impossible.
Tim Bourguignon 44:41 It worked. Yeah. That is awesome. That is absolutely awesome. Would you have an advice for people that needs to jump over their shadows like us and start something in their life and maybe in our direction in the direction of computer science or software engineering or something?
Natalia Tepluhina 45:00 Okay, I have three, they are small, so I will just turn into them. First of all, don't lose your opportunities. If you think something is impossible, just say, Okay, I will give it a try if it's impossible, okay, so I failed, but just give it a try. And sometimes you will be surprised for the outcome. Second one, if when you learn something, follow the path of making things and breaking things. Don't just watch a video course, don't just read an article. They're amazing. But until you build something, and until you break something, especially, you don't learn, but debugging is probably the most interesting process in terms of learning. And when you figure it out, it's forever with you. If you just watch the course without building stuff, it's not. And the third one, sometimes when it's really hard, and when you think there is a huge goal that you can achieve. Think about the thing that I think there was a Chinese saying that a bath of Sir 1000 Lee starts with the first step, just make the first step and continue with these baby steps. If it's so hard to build, if it's just a huge thing, to dedicate five minutes a day to it, just make this step by step things. And he will be surprised again how fast your huge project is building with only five minutes a day. Thank you
Tim Bourguignon 46:18 very much. Don't lose any opportunities and make and break things and make a first step and then another. I love it. Thank you very much.
Natalia Tepluhina 46:26 Thank you so much for inviting me.
Tim Bourguignon 46:28 Natalia, where would be the best place to continue this discussion with you?
Natalia Tepluhina 46:34 I think that easier. The easiest thing is my Twitter. You can either ping me on your boss, if you wanted to make public if you're not comfortable with a public discussion, my DMs are open. So please feel free to DM me.
Tim Bourguignon 46:47 Awesome. Did you have a website? Or do you have something you want to advertise and plugin?
Natalia Tepluhina 46:51 I have a website but it's basically just a small portfolio about my talks and articles and links to Twitter again.
Tim Bourguignon 46:59 Anything on your plate for the next month any unique conference, any more conference, anything view related? Any VueVixens related?
Natalia Tepluhina 47:08 I think the most important thing as well, still working on the documentation. If you work with you, if you read our documentation, and if something's like wrong to you, or you don't feel this is good, or maybe not clear, please, please create an issue of per request. We're really happy to see your contributions,
Tim Bourguignon 47:26 And we'll add a link to that in the show notes. Natalia, thank you very much.
Natalia Tepluhina 47:31 Thank you, Tim was really nice.
Tim Bourguignon 47:33 It was indeed. And this has been another episode of developer's journey. We will see each other next week, bye. All right, this is Tim from a different time and space with a few comments to make. First, get the most of these developer's journey by subscribing to the podcast with the app of your choice, and get the new episodes automagically, right when the air. The podcast is available on all major platforms. Then, visit our website to find the show notes with all the links mentioned by our guests, the advices they gave us, their book, references and so on. And while you're there, use the comments to continue the discussion with our guests or with me, or reach out on Twitter or LinkedIn. Then a big big THANK YOU to the generous Patreon donors that help me pay the hosting bills. If you have a few coins to spare, please consider a small monthly donation. Every pledge, however small counts. Finally, please do someone a favor, tell them about the show today and help them on their journey.