Featuring

Sponsors

Rollbar – We move fast and fix things because of Rollbar. Resolve errors in minutes. Deploy with confidence. Learn more at rollbar.com/changelog.

DigitalOcean – The simplest cloud platform for developers and teams Whether you’re running one virtual machine or ten thousand, makes managing your infrastructure too easy. Get started for free with a $50 credit. Learn more at do.co/changelog.

Retool – Retool makes it super simple to build back-office apps in hours, not days. The tool is is built by engineers, explicitly for engineers. Learn more and try it for free at retool.com/changelog

It is German… Awesome. So today we’re talking about mentorship, and I invited Kahlil on because he’s been my mentor at LogMeIn for the past nearly two years. We started on the same day this year, March 1st, so… This year – what am I saying? Two years ago almost…

So yeah, we’re talking about mentorship, which is kind of – it’s a topic that is widely recognized as being… Controversial is not the right word. Mentorship in the tech industry is kind of hard to find, and it seems like there’s a shortage of good mentors and understanding what makes a good mentorship, and so I thought today we could just discuss mentorship in the tech industry.

Yeah. So I guess let’s just kick it off talking about our experiences with mentorship. Have we had mentors in the past? If so, what types of mentorship relationships were they, and what are some of the things we’ve learned from those? I’m gonna kick it off to you, Kahlil.

In the tech industry I have not had any mentors, so to speak. The only mentors that I – I mean, not in the traditional sense, where you say “Okay, this is a person that I can ask for advice.” I kind of feel like that Paul Irish was my mentor, without him knowing that he was… [laughs]

Yeah, totally. But what was so weird - I met him a few times, and I always failed to mention that to him, but… I always felt like – whenever he made a video, like for instance back in the day; I don’t know when that was, like 2010 or 2011, or something like that… He made one of these videos where he was talking about “10 things I learned from reading the jQuery codebase.” Whenever he made something like that, it was always something – the jQuery codebase at that point really seemed so daunting to me… I would never think that I could understand anything that’s in there. And he in that video really dissected it in a way that made it easy to understand certain things, and for me personally - it always leveled me up. Whenever he made something like that, it was always exactly at the right moment what I needed in order to level up in my understanding of Javascript, and Javascript on the web, and stuff like that.

So for me, the best mentors in the tech world were really just online, people sharing things. Addy Osmani writing about frameworks, or about patterns in…

That’s interesting, because I think we forget that – I like to call it asynchronous mentorship, or non-symbiotic mentorship, because it’s purely one-sided, so you’re not both getting something out of it. You forget that these are also mentorships. I didn’t realize this until someone brought it up, like “Oh, you realize you mentor people just by the content you produce?” and I’m like “Oh… I guess you’re right. I never thought about that.”

Yeah, absolutely. And you also get something out of that, obviously, if you are the one sharing the content… Because if it’s good content, people level up through that, and you have a personal brand that gets built up by word of mouth, basically… So that’s kind of what you’re winning from that.

It’s kind of a great style of leverage. I put the working title for this, and this episode is Mentor-ship. And it’s a play on words, of course, but it’s true insofar as you can be a great software developer, you can be great at leading a team and managing an immediate team… But with some of this asynchronous-style mentorship where you are teaching not just three, or five, or one person, you’re teaching thousands… I mean, this about the impact that Wes Bos has had through his teaching and instruction. Really, he’s shipping so much more in that way than he is on his own.

That being said, I think when we think about traditional mentorship, it is more of a two-way thing… It’s like we sit in a room, we talk or we have phone calls, and I think that’s what a lot of us are lacking, because all we have is that asynchronous one way, “I’m learning from this person I’ve never met before”, and that one-on-one mentorship is so powerful and so necessary in many cases.

Yeah, definitely. All of my experiences with mentorship have been – not official, but in-person, I would say… Although I had one technical mentor at IBM when I worked, and the way that I asked him to mentor me was I was doing this feducation bootcamp; it was like a workshop for front-end developers, like a hackathon kind of thing…

And basically the first three days were learning all about web performance, and JavaScript frameworks… It was like a bootcamp for front-end development, and at the end you did a hackathon project. And he was one of the instructors, and so I just simply asked him “Do you accept mentees? Because I like the way you teach. Would you teach me?” So if anyone’s looking for a mentor, just be honest; you have nothing to lose just by asking someone to be your mentor… And we can talk a little bit about how to do that appropriately and what a good mentorship is in a minute.

He was a technical mentor, and we had a project that we were working on; I really wanted to redo my portfolio… So every week we’d have milestones. I wanted to learn about Express, and Node, and we set up some routing, and… Every week we’d have a technical milestone, and I’d have projects to do on my own time, and we would do code reviews… So that was really great.

Then at LogMeIn, with you, Kahlil, it was more like a career-based relationship. And they’re both so valuable in their own ways, but I do find technical mentorships maybe a little bit harder to get right… For me personally.

With technical mentorships I think there are so many good options to just say “Hey, work through this Wes Bos course”, or something like that. Or the Kent C. Dodds whatever course, in order to learn these technologies that you need… And then you can always talk about it after, or something like that. Because I think these courses that are so – you know, there’s so many of them available that are really good. They’re almost like the best base for technical mentorship, I think. And then going from there, you can discuss all kinds of stuff, or just clarify things, and stuff like that.

I’ve noticed that often people just have trouble understanding a path to learning skills. I get a lot of messages that are like “Can you mentor me in front-end development? I wanna learn A, B and C, but I just have no idea where to start”, and I think a lot of the struggle for new developers is like “Where do I begin? Do I go front-end or back-end? What’s even the difference?” Because when you’re trying to learn development, really the most crucial part I think is needing guidance on what to learn… Because you’re just so overwhelmed. I mean, to try to balance learning HTML, CSS and JavaScript, React, Vue - all these things, and you don’t know where to start… That’s really hard, and if you’re a mentor for a new developer, I think guidance is the best thing you can do for them, not necessarily sitting down and – yeah, you might wanna whiteboard or do code reviews, but I think just helping them understand the right path for them is really useful.

Oh, now you’re asking the questions. I like it. So to me, I think a mentorship is a professional relationship between two people where you have a mentee who is typically the one looking to gain knowledge and experience, and the mentor who is sharing their knowledge and experience. But I think an important caveat is that they should be bi-directional. As a mentor, you should also be learning from your mentee, and you can do that just by explaining things to people, using analogies, or just learning to explain these low-level concepts at a high level… And we kind of forget that as mentors you can also be learning from your mentees, right?

I’ve never had a formal mentorship, but that being said, I have had mentors, and I can look back and say “This person dedicated time and resources to me when I was younger and less experienced”, and wisdom that they had gained via experience in their own life, and have given me gems that I have taken forward and tried to pass on as well… I’ve had that for sure, and I can name names on that, but I’ve never had a formal technical mentorship. It’s been more like life and business mentorship.

So it’s harder for me to define it in a professional/technical term, but absolutely this relationship where you have one person who is really removing barriers to progress, and a person who is presenting the barriers in front of them… Because that’s a lot of what we have in our industry - I have this goal in mind, whatever that goal happens to be, and I don’t necessarily know how to get to where I’m trying to go… Or I’m down that path a ways and I’m stuck, and the mentor lots of times is just removing that one little barrier. Or like you said, Emma, it’s “Where do I start?” Well, you’re getting them started, and then letting them go on their own, and then regrouping.

I’ve kind of bounced back and forth on technical teaching and mentoring in terms of removing barriers, because when I was less experienced I wasted a whole lot of time with very minute technical barriers to progress, and I thought “If I just had somebody to just help me with this one thing…” Of course, we turn to Stack Overflow, we turn to Google, but a lot of times those are insufficient, or it doesn’t work in your circumstance, or whatever it is… You get your question removed from Stack Overflow… [laughs] And I thought “If I had somebody to be that “take that roadblock out of the way” person, I would have learned so much faster. So I’ve tried to be that for other people.

That being said, when I played the role of removing the barrier, oftentimes it almost makes that too easy, and it’s like “Was there value in my having to figure my own way through that?” So I’m kind of going back and forth on like “Should a mentor or a teacher be solving those minute problems on their mentee’s behalf, or should they just be giving general guidance?” I don’t know the answer.

I don’t know if they should necessarily give them the answer. This is my personal opinion obviously, but I think the best way to help people learn is just know how to ask the right questions; know how to lead them to the right answer, as opposed to just giving it to them. So if someone’s stuck on debugging a problem, for example, ask them “What have you tried so far? Why didn’t these work? What other alternatives do we have?” And if you clearly can see the answer, maybe just try to guide them with questions to understanding – like, just breaking it down, because maybe like half the time you’re struggling with a technical problem you just are overwhelmed, you don’t know where to start, and by breaking that down, maybe that’s all they needed in order to help solve that.

I also think one really important role of a mentor is to give perspective… Because I think that many people who are starting out, they may think – you know, this whole thing where you think you’re not good enough kicks in…

Impostor syndrome, exactly. And basically, many of the problems that you’re facing as a junior developer you still have as a senior, or even further up. Just normal problems that you encounter, you just learn how to deal with them and to solve them, and stuff like that… And I think that is really important to hear for people starting out. So giving a little bit of a perspective.

I’m curious what your two’s relationship was with regard to mentorship… Because, Kahlil, you’re here because you played that role for Emma… I don’t know exactly how that went down; was it a formal thing, were you assigned? Did you just say “Hey, I’ll help you out”? I’m curious what that relationship was like and what you all did? Because she speaks very highly of that.

I feel like it started as coffee chats. We’d literally just either go for lunch, or just drink coffee together… It was also too because we started on the same day, and I feel like we became friends quickly because we literally sat across from each other… But he is more senior than I am in development years, and I was also transitioning out of a design team at IBM and onto an engineering team, and getting back into that I had a lot of questions I didn’t understand… Like continuous integration, and I didn’t understand all these legacy codebases…

So I think it started out with some technical questions, but then we just started becoming friends over coffee and lunch. Then I think over time we tried to formalize this into a proper mentorship, but it’s mostly just about career conversations, I think. I think why I appreciate our chats together is because it’s a safe space - I think that’s really important in mentorship; to have a safe space, to talk candidly, and to say things that are maybe politically incorrect, or maybe they’re just the wrong way to think about things and to be able to essentially be called out on those things, but in a safe way.

We’ve had a lot of those, because when I started at LogMeIn I was not on Twitter. Kahlil encouraged me to get on Twitter. He’s actually the reason I’m here today…

So he’s the reason for my success, and I will always speak highly of him… But I think he got to see how quickly that happened and the impact that that had on me, because until that happened I was very ignorant and privileged in ways I didn’t understand… So he’s really helped guide me from a career perspective and also human perspective on how to be more open-minded. So that’s the long story from my end… What’s your story?

Yeah, I mean, we started on the same day, and from my perspective it was the same thing - we basically just became friends, started chatting about work and stuff like that, and you started to talk about how you would like to blog more, or start blogging, or something like that… And I think eventually you would have most likely gotten there by yourself, but I think a few of the things that I told you kind of pointed you in the right direction, where to run basically, in order to get your blogs out, and where to put them…

We were talking about – I think you started posting Medium blog posts about technical stuff, stuff that you learned… And I’m totally into that. I love blogging, and I think that it’s a really good thing for a developer to blog a lot, and blog about what he learned, and put that online, share that with everybody… It’s good for you, because it gives you something outside of your company, it gives you leverage for finding a better position at some point. If you do it well and if you do it frequently, it gives you leverage that you create by yourself. You don’t need a company to give you that, or give you a new position, or a promotion, or anything like that. It creates leverage. It creates opportunities because other people can see you, can try to hire you, or you can say “I created all this stuff online, all this value…” You can maybe have leverage in discussions internally as well in your company… So I think in general it’s good as a developer to have a focused blog on development, and stuff like that.

And when I saw that she was interested in it, I was just talking to her about it all the time, and sharing my ideas. I’m not blogging as much because I have a family and I don’t really have all that time anymore. But if I had the time, I would do all that. But I’ve been thinking about it a lot, because I’ve been following certain sources online, and certain people who talk about that a lot, and it made me think about it a lot… And I feel like the internet is one of these huge opportunities, because it’s just – you know, self-publishing, self-promotion… Putting your brand out there, putting your blog out there - it just removes the middleman. There’s no gateway that you need to go through. You just create your own blog and you post at your own merit, and you just put stuff out. If you do it continuously, and focused, it will get you somewhere.

So she started blogging on Medium, and was super-excited… I saw that people were sharing her posts on Twitter, and I was wondering why is she not mentioned? And then I didn’t find her Twitter, and I was like “Emma, why are you not on Twitter? People are sharing it there, there’s a big community on there… You should just get on Twitter.”

Then she said, “Yeah, I have this Twitter account from high school. There are 200 people following me.” I said, “Okay, well make it a tech Twitter account. Put on there that you’re a developer, you’re Emma, and then link it with your Medium, and get it out.”

Then all this craziness happened, because she was so prolific at putting out blog posts that were useful… I think especially for people who were starting out as well - it was like early career advice, and I think like a React tutorial, and stuff like that. She just kept it coming. Then she started also – and something that I really like to know is like… We had a conversation about that it’s important to continuously post - on your blogs, but also on your Twitter. If you wanna really make it work for yourself, post every day. Make it about tech. Retweet cool stuff, get into conversations with people that you maybe admire, that you follow, and get into these conversations. She did a really good job at kind of editorializing her Twitter account, where she was posting techy jokes, developer jokes, and stuff like that… And interesting posts, her own posts, and stuff like that. That’s something that she just did by herself, and I think that worked incredibly well… Because I think one of these jokes was retweeted by somebody with tons of followers, and everybody just started following her, and piling on, and stuff like that.

So I was super-excited to follow this explosion on Twitter… Because I’ve been sharing these thoughts with lots of people, but Emma is the first one who really took it on and made it her own, and used them. I’m super-proud with what happened. This was really cool to see.

And of course, there were also some downsides coming with all this attention on Twitter, and now dealing with all these people coming and asking questions, and wanting stuff from here… So we had conversations about all these things.

The hard things. You were kind of keeping me in line and rubber-ducking things when I needed it, so… Yeah, I appreciate that. We’re gonna take a quick break here, but when we come back, we’re gonna talk about some things that make a good mentorship and some things that maybe could hinder your mentorships, and then talk about how you can find a mentor in the tech industry.

There’s also something I dug out of that part that I think I should highlight, just hearing about how you all got along and how it all went. It sounds like what happened - it seems very basic or obvious, but I’ll just say the quiet part out loud… It’s that the mentee here, which was Emma - she took your advice, and she executed on it. That can be rare, and that’s definitely something that makes a good mentorship relationship.

To be honest, whenever I told her something, or what I thought “Okay, this is a nugget. This is a gold thing. If she does that, there’s gonna be some stuff going on.” In the moment, Emma was always like processing; I could see she was processing, but I always had the feeling “She’s not gonna do it.” And then she came back the other day and was like “Okay, I set up this blog…”

What she also did, for instance, on Medium - I told her about publications. Back in the day that was a thing; you could create your own publication, even with your own URL. I was like “Yeah, make your own publication. Put a URL there, so you can always link everybody to a blog post.” But instead, what she did was she checked out publications and saw that there were other publications out there that have bigger audiences, and you can kind of pitch your blog post there. She did that a bunch of times, and then those blog posts - they were happy to take it, because there was not a lot of people doing that, I guess. And also, of course, they were great blog posts.

I think it’s pretty easy to get into those publications. And then through that, she had a huge reach, and that also helped her blow up. So Emma took some of these tips and just really dug into it and made it really her own, and executed on them in a great way. And I think that’s a really great point - the execution… But it also needs a good match. Because at the end of the day she was also somebody who just needed those specific tips that I was also constantly thinking about.

So the match by chance was just really good… Because there’s of course some people that maybe wanna have that leverage that a blog could get you, but they’re not interested in blogging, for instance, and then you can give them those tips all you want, but they’re not gonna do it because it’s just not their thing… Which is also completely fine, but there’s not a good match.

Yeah. And I think too we forget that – like, if a mentorship is not benefitting you, it’s okay to amicably part ways. There’s a stigma around leaving a mentorship, and I find that most of the time you just end up ghosting each other, which is not good… But there’s no shame in both of you evaluating whether or not this is still beneficial, and when it’s not, that’s totally fine. But I do think as the mentee you by default should be leveraging more of the work… Because the mentors are giving their time and their experience to you, and as a result, you should – one of the things that I notice is when I receive mentorship requests, it’s generally very open-ended. It’s “Will you be my mentor?”, and I don’t think that’s a great way to approach a mentorship.

I think the best way is have clearly-defined goals, have skills that you wanna learn, have someone who is an expert in those areas… Because when I get requests for technologies I don’t know, it shows me that – obviously, I’m not gonna be a good fit for this mentorship, right? So make sure you’re asking the right person… But have those goals defined, because the best chance that you can possibly have is by saying “Hey, I wanna learn React and I wanna learn Redux. Can you help guide me? Can you give me code reviews?” If you’re very specific about that, people are more likely to give you their time.

Another thing you pointed out which I think is another maybe obvious thing, but worth stating, is that you guys had chemistry, and there was friendship, and there was mutual respect… And that just doesn’t always happen. A lot of mentorships that are less formal… I’ve had a mentorship - he was my boss, and that’s a very natural mentorship scenario. I didn’t ask him “Will you mentor me?” It’s like, he’s my boss, and I was with him every day for years, and he taught me a bunch of stuff. Sometimes it’s an older sibling, sometimes it’s a friend, somebody more senior in the same industry. And these things happen naturally.

I think when you’re not in a circumstance where a mentorship happens organically or naturally, and you’re like “Hi, I need a mentor” - because we don’t all have that circumstance; you don’t happen to be assigned with the right person in your first day at work - the chemistry does have to be a part of it.

I think in a successful mentorship that mutual respect, the mentee being willing to listen and apply what the mentor says, test it out… Maybe not everything they say is correct, but you’re at least giving them enough respect that you’re gonna try their ideas… And in the case of Emma and Kahlil - Emma took Kahlil’s idea and she tried it, and then she extended it and took it even further than maybe he thought, and that’s a beautiful thing. But it’s a lot like a matchmaking scenario with a friendship or with a romantic scenario, where not every combination works. And like you said, Emma, if it’s not working, you have to be able to say that; otherwise you’re just forcing something that’s never gonna make sense.

So here’s also something that I learned from the relationship with Emma - that there is actually something like formal mentorships. That’s something that I’ve never thought about. Like I said, for me mentorships was mostly accidental stuff that I read on the internet, or videos I saw etc. That’s only possible because for web development there’s just an abundance of that. But for me, thinking about leveling up in my career, I’m actually the first time in my life thinking about “Hm, maybe I should figure out if there’s a mentor for leveling up from where I am right now.” I think that’s a really cool thing, just to realize that there is that option. I never really did that before.

Same here. It was always circumstantial. I never once thought “What I need right now is a mentor” until recently. And I hear it in other industries as well. I dabble in learning about real estate. It just interests me. And a lot of the advice that people get is like “Get a mentor.” And it’s like “Yeah, that makes total sense.”

So even just like people transitioning from one career to the other - it’s not like an older or younger mentorship that I’m used to, or it’s like a life mentor; it’s more like “Yeah, maybe we’re peers, maybe I’m older than the person who’s mentoring me. But like a formal – this is a mentorship, it’s for this purpose, here’s what we’re hoping to get out of it…” I never thought about it in that context either, so that’s interesting.

It’s nice – when you formalize it too on the mentor side of things, they have something to add to LinkedIn, they have something to put on their resume. So it’s also beneficial for them. And especially at a lot of companies to level up you do need to have a formal mentorship. At IBM is was part of the actual promotion process - you had to meet specific guidelines to get a promotion or be considered, and that was one of them. So there are definite benefits to actually being a mentor.

And I guess I wanna ask, how can someone go find a mentor? Because it was really easy for us at work, because we started on the same day, and that was wonderful… What happens when you work remotely, or maybe your job doesn’t help you find a mentor? Where can you go?

It’s a good question. I think that one really good thing that people often forget is meetups. If you wanna level up as a programmer, just go find meetups within the space that you wanna level up in, and then meet other people that are interested in it, and are passionate about it, and talk to them. You could also maybe find somebody who can mentor you, of course. But definitely just connecting locally with the people that have the same interests…

We’re doing Karlsruhe JS here, so the city Karlsruhe is where we work, and the JavaScript community meets up at Karlsruhe JS, and… There was this really cool thing I had. And I think mentorship, when I think about it, often has to do with the right advice, at the right moment in time. And it doesn’t have to be formal or anything, but if you can just support somebody, if you feel like “Hey, this person now needs to hear this”, just go and tell them that.

There was a really nice thing happening with this guy - he immigrated from China and he was studying currently computer science in Karlsruhe; he sent us an email, he wanted to talk about a React framework to make command line interfaces with React, and stuff… And he sent this crazy outline in this mail, and we were like “Of course we can talk about this.” We never get these kinds of abstracts sent in.” It was really cool.

So he gave his talk, and he said that was his first talk ever in life, ever. And he totally killed it. He’s from China, he speaks English really well, and just his presentation skills, storytelling skills, and stuff like that was really – I was so impressed. I was like “This is your first talk? That’s amazing. You really have to go take this talk and present that someone at a big conference, or just send it in to some conferences, and stuff like that.” And everybody at the meetup was also cheering him up, and stuff like that. And we were saying “Hey, you’ve really gotta do this. This is really cool.”

He just sent me an email a few days ago, and he was saying that he sent it for React Day Berlin, or something like that, and he forgot about it, and then he got a response back and he’s gonna talk there, and stuff like that. He’s so super-happy about it, that he got the chance to talk at Karlsruhe JS, and stuff like that. Those are moments that are so nice, and I think meetups are a really great place for stuff.

That’s another good thing - if someone is helping you, if you have a mentor that is helping you in some way, give them appreciation… Because I received a similar email - I think it was customized to me, because it had some additional things about what I was doing in particular, but… If someone is giving you something, whether it’s time, or like you’re learning from them, tell them. You have nothing to lose, and it makes people feel so good.

So yeah, I’m gonna do a shameless plug; not because I want to promote my thing, but because I think this is gonna be helpful for people if you do work remotely or if you cannot find a mentor… I noticed this issue a year ago, and I asked the Twitterverse, and the Twitterverse spoke that a mentor website.

Having a website for free mentorship would be beneficial. So a year ago I started an open source project; it has exceeded my expectations, and I’ve heard so many wonderful things… It is free, which is the best part. So if you are looking for a technical mentor, it’s called Coding Coach. You can go find a mentor at mentors.codingcoach.io. Everything is free, so you can search for the technology you want or the person you want, or what country they’re in, depending upon if you want like a video call mentorship or an email mentorship…

And you just essentially create an account, you apply, which is basically just contact them, and… Yeah, that’s one of the easiest ways to find a mentor. I think we have 512 mentors who give their time for free now, which is amazing… And we have over 3,000 people in our Slack organization. So if you get stuck on a technical question, just jump in our Slack channel and ask, and someone will help. So if you’re struggling, check out the show notes; we’ll add it in there. It’s not for shameless promotion, I just genuinely wanna help people, and I can see that we have helped people… So if you’re struggling, check it out.

Absolutely… Especially the free aspect. When it comes to accessibility, just the availability of it to anybody, despite their current financial life circumstance, to have access to that is an amazing thing.

What do those mentorships look like? Is it up to the people? How it actually looks and works… Because it’s a formal thing. All of my mentorships have been information, so I don’t know – is there guidelines of like “Well, here’s how it works. There’s a once-a-week meeting. We have a Zoom call”, or is it all like emails? I’m just curious how a formal mentorship looks like?

We don’t have hard and fast rules, because I think it’s important to let the mentorship have a flexibility… We do have a Google Doc that I’ve been meaning to turn into like a free eBook or a free PDF, of guidelines… But we have mentorship guidelines. So as the mentee, what are the things that are expected of you to be a good mentee. As a mentor, what are the things that you should do, how to actually end a mentorship but not burn bridges… We’ll link that in the show notes as well, because we have put that together from people in the community.

And there are other initiatives that we wanna employ as well. We do have a very strict code of conduct, so we wanna make sure that our mentorship system is not being abused in any way, or make sure everyone’s comfortable… But yeah, we just generally leave it open, because everyone’s different and everyone’s gonna have different requirements, whether that’s they can only meet once a month, or maybe even chat over email. So we’ll link all that in the show notes, and read through the guidelines if you’re kind of unsure how to approach this.

And they have been really – I could not be here without them. I’ve given them a lot of leeway, and they’re taking it and they set up an entire database. Originally, it was just like open source and GitHub with no back-end, so it was just all about packaged JSONs and opening pull requests; they made a cool CLI tool… But they’re kind of running the entire repo. They’ve spearheaded getting the databases hooked up, so now that we have a database, we can actually create accounts. And I think the next step is actually doing this mentorship match-making. I always joked about like “Tinder for mentorships. Tell me what you’re looking for and we’ll find you someone that matches this criteria”, and that’s gonna be the next step… It’s like “Alright, I know I want a female engineer, I know I want someone in the German timezone, and I wanna learn Ruby”, and be able to input those three parameters and have it give me a perfect mentor - that’d be the next step, I think.

Alright, so before we talk about some of the cool things we’re learning, I’m gonna kick it over to Kahlil to just talk about when is the right time to end a mentorship. How do you know when the time has come to gracefully part ways?

Before I started working in tech, having a real Java job, I was doing music; I was touring and recording stuff, that was my main job… And how I got into this was that I was doing it on the side during high school or university. I made a demo CD and sent it to the labels that I knew that were releasing that music in Germany, and I was trying to find – actually, back then I said “I want a mentor.” Because I wanted a mentor to help me figure out the music business thing, and all that stuff. And I was really convinced that without a mentor I will not get anywhere. That was super-important to me at that time. I was like 22, or something like that. I sent out that demo CD, and – we had CDs back then still…

Yeah, exactly… So the only label that responded back positively was the label that I was most excited about. It was the label in Germany that was doing [unintelligible 00:40:31.03] dancehall music… It’s a Jamaican thing, and they were the first ones that really worked with the coolest dancehall artists from Jamaica. They had their own web magazine outlet where they had interviews with those people… And back then if you were a fan, it was the first place in Germany where you could really read about that.

So that was my thing, I was completely super-excited about that. Positive response, I went there, and I was able to record in the studio there. And the guy who ran that place - he became my manager, my producer, my mentor for that thing. I did it for like for years, and we did a lot of cool stuff; we recorded some stuff, released a lot of music, and we toured a lot in Europe, and stuff like that… But it ended up not being a really good – just business-wise it didn’t pan out. But I learned later on that mistakes that were made had a lot to do with my mentor not really being a good businessman, not really understanding the music business as well as he should have.

I was kind of blinded by “Oh my god, it’s that label, and they do all this…” I was kind of blinded by that… And I blindly believed everything. Looking back, there were a lot of red flags in the back of my head that were going up every now and then… But I just completely ignored them. And I think my lessons from that is it’s important to never tell myself that I definitely need a mentor to get ahead, and that’s the only way to get ahead. I think that’s the wrong message for yourself. That’s what I learned from that. Because there were a lot of things where I felt like I didn’t agree with what was done, or the decisions that were made, or decisions in the studio that were made… Now, looking back, I know those were the wrong decisions, and I was the one who was right. It also means you should believe in yourself a little more… I think that’s also something that’s really important.

You have to have a basic belief in yourself, in your gut; you need to trust your gut a little bit, and then it’s easier to get out of a bad mentorship situation. Because if you’re a superstar developer that you’re being mentored by, it’s important to not be blinded by that, and just make sure that it’s a healthy relationship and that you’re really learning the right things, and that you don’t have any red flags going up in the back of your head, and stuff like that. I think that’s important. That’s something that I took from that relationship in the past.

I feel like you need to listen to your gut. If you’re not fully comfortable or something feels off, it probably is. I think that’s interesting, to think that just because someone is well-known, they have a lot of followers - you just automatically assume that they’re gonna be a great mentor… And it’s like - you need to also understand how to be a great teacher and a great communicator, and some people just aren’t.

I had a professor in college who was on paper one of the smartest people you would ever meet, and unfortunately he just didn’t understand how to teach… So you can’t look at someone’s credentials and just assume that they’re gonna be a great teacher for you, for your learning style. So it’s always important to reevaluate.

Interestingly, the person who made me realize how deep in it I was actually back then was my wife, who really in many ways became a mentor to me in many things. When it comes to business, when it comes to writing - she’s a really good writer… So I’m learning a lot from her. Big shout-out to my wife.

Yeah. Shout-out to Kahlil’s wife, and I think shout-out to having a trusted third-party that can often spot a toxic relationship better than the people inside that relationship… Because you’re in the fog of war, so to speak. You’re too close to the problem, and there are red flags, but because of the compromised position of like you’ve asked this person for help, and you are a junior to them maybe, or they’re famous, or all these different things - you give them benefits of the doubt that, like Emma said, trust your gut… But sometimes you just don’t trust your gut, and having your wife there to help you and say “Hey, this is not healthy” is hugely valuable.

Absolutely. I think that felt like a really nice closing to this entire mentorship conversation… But we’re not done yet, because I wanna talk very quickly – give us a two-minute spiel on something cool you’ve been learning. Kahlil, what’s something cool you’ve been learning?

I think one of the coolest things is related to design systems and how you can implement them, or how you can implement the rules of a design system with React components, and component libraries. I do really like this Chakra UI. I don’t know how to call it – it’s a component library, but it’s also kind of like a baseline for your own component library… It implements all these cool little patterns.

For instance, there’s the stack component, where if you have in your UI, for your application you wanna stack some stuff, basically you can just tell it you have that stack component, and you give it some children that you wanna stack on top of each other. On the stack, at the top - you give the stack component a prop, where you tell the stack component “I want some spacing here. I want spacing 2 or 3”, which means it’s a multiple of – a multiple of 4 pixels I think is the default in this case, which is often used in these design systems… And it makes sure that it gives you – so it just renders it so that you have an even spacing everywhere, and you never have to worry about removing a margin at the bottom, or adding one in-between the things that you stack… It just takes care of all these things.

In the application that we’re building at LogMeIn we’ve been using this for a little while now, and it basically made us so productive in writing UI, and with barely writing any CSS, because it’s just more kind of declarative; it gives you opportunity to just take these components and pass it some props, and make it so that it spaces nicely… And then you can put your theme on top of that.

That’s something that for me is really a level up from what I’ve seen so far before. I really got into that, also through Emma’s work about design systems, and her writing about it… I got into that a little more, and we’re really using it in our application now. It’s very interesting. There’s some really cool stuff happening in that space right now.

Yeah, for sure. We just did an episode about component libraries and design systems; it was episode #102, so if you haven’t listened to that, go check it out… And we’ll link Chakra UI down in the show notes. I haven’t had a chance to look into it yet. Maybe I shouldn’t say that, because I guess I’m supposed to be working with you on building it…

But I will get there, I will get there. Yeah, something I’m learning - I guess this also kind of relates to design systems, because motion is part of design systems; motion and animation. I’ve been learning about React-spring, because next year I’m gonna do some conference talks about micro-animations, micro-interactions and how we can use them to enhance perceived performance for wait times. It’s really good for user experience, and React-spring is an incredible library. I wanna give a shout-out to Scott Tolinski - I can’t say his last name, I apologize - from Level Up Tutorials. I’ve been taking his course on React-spring, and I am totally in love with it.

So if you’re looking for an animation library - that’s physics-based, by the way; it’s physics-based, not timeline/keyframe-based - go check it out. We’ll link that as well. Jerod, what about you? Have you learned anything fun in the last several months?

Goodness gracious… So I have been knee-deep in Adobe software products the last few months, which is like - is that exciting? Is that news? Is that interesting? …I wouldn’t use any of those words… That being said, I’ve been doing a lot more audio editing, I’ve been learning After Effects, so I find myself on YouTube, looking for mentors, trying to figure out how to do the most basic things, and get things done… So it’s been a departure for me from coding all day every day, to trying to do creative things related to code. So I haven’t learned any new software things.

One concept I came across recently, which I thought is interesting and I would like to apply in my work and in my life is this idea of the MoSCoW method, which is really a prioritization framework… So when it comes to how to pick what to do next, sometimes that’s a huge issue. I know that for me specifically these days I have 1,000 little things to do, more so than one big thing… And so prioritization is a struggle. Like, “What is the most important thing right now?” So there’s this blog post from Browser London (which I’ll link up) called “The power of the MoSCoW method”, which is basically a prioritization framework. It kind of lives in the Agile-planning-weird-project-managementy space, but I take all these things and apply them personally and see how they work out.

The idea with MoSCoW - it’s a weird backronym for Must, Should, Could and Won’t… So the idea is you just create these buckets for yourself - the Must bucket, the Should, the Could and the Won’t… And that’s MoSCoW if you squint at it. And then you take all of your tasks, or your stories, or what-have-you’s, the things that you’re trying to accomplish, and it’s just a way of really quickly bucketing each thing. And you can do it on a Trello board, you can do it however you’re doing it… You can do it on a piece of paper if you’d like to… And it just helps you quickly prioritize what you’re gonna do next, what really matters, and you can just compare them side by side. It seems like it’s useful… I started to do that a little bit, and it seems like it’s pretty good.

So I’ve been trying that as well… I wouldn’t say I’ve been learning too much, but… Yeah, After Effects. Is that exciting?

For me it is. Audition was easier to understand, because I think just simple audio editing is easier. With After Effects you’re compositing different things - video, audio, words across the screen, how they move… And coming from a software background it feels very manual and tedious. I feel like if I was better at it, I would have templates… And it’s not dry; it feels very wet. I think maybe that’s just my inexperience, because I think the people who are experts at these things can crank out animations, and stuff. But for me, it’s very tedious at the moment. But it’s a challenge…

I mean, saying “Where did you learn it?” assumes a few things about me, like I’ve actually learned it… Which I haven’t. I’m still dorkin’ around… I’m trying to create shareable snippets of our shows, and stuff like that, and make them a little stickier than the ones that I can produce quickly in web apps… So I’m learning it as I go. But yeah, I’ve just turned to YouTube specifically, because it’s free and quick, and it’s goal-oriented. I can say “How do I do captions in After Effects?” and there’s a video on that. Probably not the best way to learn it, but that’s what I’ve been doing.

Yeah, let me say something real nice about Kahlil for a moment… So I’ve declared Twitter bankruptcy, therefore I no longer follow him. I don’t follow anybody, because reasons… But if you follow Emma, you’re a fan of Emma, which 75k people do, so a high likelihood, Kahlil tweets! Follow @kahliltweets. He’s got great tweets. Always funny, uplifting, uncovers weird stuff, complains sometimes in humorous ways… He was one of my favorite follows back when I followed people.