Happy New Year. We're so excited to be back with new episodes. To kick off our new season and a new year, this week we'll be discussing 20 tips to start off strong in 2020. From mentorship to debugging to strategizing your learning. We've got a ton of information to cover. So let's jump in.
Welcome to the Ladybug Podcast. I'm Kelly.
Emma 0:23 And I'm Emma. And we're debugging the tech industry.
Kelly 0:29 So Ali, I'm gonna let you kick it off. What is your first tip for developers in 2020?
My first tip is to challenge yourself to do something new. So it's a new year. I think always having something that is just outside of what you're doing and is at least a little bit new - so you're still expanding your skills, you're still in that place of discomfort where you're learning something that you're not an expert at yet - I think that that's so important, whether it's within code or not. I think even doing something that's challenging outside of programming helps you to still flex those learning skills. So that's my first one.
I think that's a good one. And I think that it's important too to keep, you know, switching things up as well. Do you recommend any certain kind of timeframe for, like, learn something... you know, people do like learn something new every day. I feel like that's really intimidating.
Yeah, that's a lot. That's a lot. I do think having some sort of cadence to having habits that you do every day... that is important, but not necessarily learning something brand new, unless you're like, teaching yourself to code from scratch, in which case, I think learning something new every day in that case might be good, but something achievable, like
.length or something like that. But...
Yeah, I love that. That's definitely a more reasonable time frame. I think even for me, like, learning how to do CrossFit, that counts as something new. And that's not necessarily a new programming challenge. It's just a new challenge so that you have that beginner's mindset and that ability to put yourself in places where you're not super comfortable yet.
I love that. I decided that I'm going to start learning... Not start learning. I know Spanish. I'm not very good at Spanish so that my goal is to actually become very comfortably conversational with it. So I'm attempting to read Harry Potter in Spanish.
Emma 2:49 Well, Kelly, we all know that there are harder languages that you can read Harry Potter in. With non-phonetic alphabets.
So I've been told.
For those who don't know what we're talking about. Kelly had tweeted that she was learning to read Harry Potter in Spanish, which is amazing. And I said, I have the German book and I haven't even opened it. And someone commented, a picture of a non-phonetic alphabet version of Harry Potter. It was like "ladies, please", in not so nice language, so we're just making fun of that. But hey, learning to read a book in a foreign language is really hard. Like, I don't think we give people enough credit who are bilingual because it's really difficult, especially when they're using like colloquial language and like different phrases.
Kelly 3:32 I'm sure you've figured that one out living in Germany as well.
Emma 3:35 Well, I mean, it's so funny because every time I'm like, Oh, yeah, I love to read. Everyone's like, are you reading German books yet? And I'm like, you have really high expectations for me.
And the Harry Potter's not a short book either.
Kelly 3:50 It's not
Ali 3:51 So very impressive. I am super impressed with you all's language skills. I know, programming languages. That's it.
I wish people would think that, you know, if you know more programming languages it's like being bilingual because it'd make me feel a whole lot better about my skill set. But it's cool.
Well then I'm pretty good at languages, but not with speaking ones there.
But just to wrap this tip up, if you're interested in learning how you can like accumulate small habits that really will make a big impact in your life, I cannot recommend the book Atomic Habits enough. I think I try to recommend it in every episode, because I, like, live by that book. So I... we'll link it in the show notes. But you should definitely check that out. If you're trying to pick up a new habit and learn more.
Kelly 4:36 I think this is actually a good segue into a tip that you had mentioned, Emma, which was to do a little bit each day, which is something they talk about in that book.
Emma 4:45 Oh, I did write down that tip, didn't I. Yeah, the whole premise of that. And this is yes, again, a sentiment that they teach in Atomic Habits is that all of these small minute things that you do each day compound interest over time. And so if you take... they had an example in the book, I remember so vividly, they talked about an airplane. And if you're not on the correct... like, if you don't set your latitude and longitude correctly, when you're flying from like New York to, I don't know, Miami, for example, if you're just like one degree off, you could end up in Houston, Texas. So like, well, one degree doesn't seem like a massively big impact on a flight plan. You know, it can have really big implications. And so this... applying that to your life, and it talks about not necessarily having finite goals, but instead setting trajectories for yourself. Because goals are... you know, it's good to have something to want to meet. But when you reach a goal, typically you're not as fulfilled because it's over at that point. It's like for me weight loss. Like I can't pick a number and be like if I get to this amount of weight, I'm going to be happier. I have this many followers, I'm going to be happy because... I just... for me, personally, that doesn't work. And I would prefer just to set a trajectory and be like, okay, instead of saying I want to gain 10,000 followers this year, say I want to produce the best content I can. And the side effect is you do gain followers.
Definitely. One thing that I did and that was directly coding related was to solve a code challenge every day. And I used to post those on Twitter. I stopped doing it, because life is a lot. But that was a great habit to, to do one of those algorithm challenges every single day first thing when I got to work, and I think it really strengthened my skills as well. So that's one idea of something that you could do every day as a programmer.
Kelly 6:39 Ad you've been doing that for... We're recording this episode in December. You've been doing that this month, too, haven't you?
Yeah, I did most of the Advent of Code challenges, but those end up being really time consuming on top of work. But they're so much fun. I highly recommend Advent of Code, if you want to have some really, really challenging code problems, the Advent of Code ones are amazing.
Kelly 7:02 Awesome. So kind of segueing between these first two tips, I actually have one of my favorite tips that I practice myself is tracking your wins. So it's really good to track your wins. And if you can get into the habit of starting to do at the beginning of the year, especially as you're learning something new, these are the kinds of things that you can actually be tracking. So what I like to do is I actually create a folder on my computer. And when somebody sends me an email, and it's like, know, you've done a really good job, and we're really proud of your team and everything that you've been doing for us, I save it and I put it in that folder. If I've, you know, had something published, that I'm really proud of, or like somebody did an interview with me about talking about... One of my favorite ones was like I did a interview with MailChimp and they published this large thing with my face that says "a freelance success story". So yeah, that's the kind of thing I save into that folder. So when I'm having a bad day, and I'm feeling like I'm not making any progress, I can actually look back at that folder and be like, Oh, look, I'm actually doing stuff.
I 100% do this too. I cannot recommend it enough. One thing is that it can really help with negotiation. If you're trying to negotiate a raise or anything like that, then you have that trail, the paper trail of all your accomplishments that you can come back to. But it's also so so so helpful. You said this. But to come back to on hard days, I actually did that this week, I had a really rough day at work. And then I had to go back to that. And for me, it's a lot of previous student feedback that I had and letters from them. And so reading through that was incredibly helpful on a really, really rough day.
I think it's also worth noting, you know, we're talking about examples of feedback we received externally from other people. You can track your own personal wins that you feel you're proud of, like, Hey, I finally understand
.map. Going back to that example. I'm going to note that down and maybe note something done like this is how I learned it. And this is something that was really useful for me to learn when I inevitably forget how to do it, in two days, I can go back and look at my own notes.
Emma 9:06 Absolutely. Yeah, I think both those sentiments are really important. Both keeping track for your own mental health on hard days, but also for promotions. And while successes are always a wonderful thing, what about failures? Ali, one thing you wrote was get comfortable with failure. And for me personally, when I think of failure, I don't love that word because it has such a negative connotation. When in reality, failure to me just means you didn't achieve your... what's the word, I'm looking for... desired outcome. So you didn't achieve the outcome that you desired. But that doesn't mean that you necessarily... it's not a bad thing. It doesn't have to be a bad thing. It's all about how you look at it. So what do you mean by get comfortable with failure? How do you do it? Like why is that important?
Yeah. So when I was learning to code, it was so hard for me to get used to having bugs and sometimes trying something and getting to the wrong solution or really, really struggling to get a correct answer. Like I was so used to being able to just kind of get things right to some extent. You know, like, if you write an essay there don't have... typically end up in a place where you just have nothing as long as you put in the work. Whereas with programming, like, you can put in a ton of work, and still not get to where you need to be, especially when you're starting out. And so if I were to start over again, I would really have loved to be more comfortable with that failure and having bugs, not having everything go right initially. Definitely at first, but I think even now, I think I'm really really hard on myself a lot of the times and so if something goes wrong, or if I don't do something right then I really beat myself up over that and I think getting more and more comfortable with not always being perfect is really, really important.
Yeah, I completely agree and it extends well past my development capabilities that, you know, I'm a pretty new business owner. I'm new running an agency. I'm new at having employees and I'm messing up a lot. And thankfully, a lot of people are very forgiving, and they're being patient with me. And it reminds me that I really need to be patient with myself as well. That I need to be able to forgive myself for messing up, even if there are some consequences that I'm going to have to face for that.
Emma 11:30 I feel like we're also similar in the fact that we're so much harder on ourselves than other people are. Like when I had to pull out of the last five conference talks for this year for like, personal reasons, I was like, so hard on myself, but everyone's so accepting. And so I think, you know, maybe a resolution which, you know, I'm a huge fan of resolutions - as I say that sarcastically because I never abide by them - but maybe you know, something that I can hold myself accountable for is not to be so hard on myself if I just don't meet the expectations I had set.
So we've talked about successes, we've talked about failures, and kind of along the same lines, it can be really difficult not to compare yourself to others. That's one thing I personally struggle with is I'll see people in the industry do really cool things. And I kind of feel the pressure that I need to be building really cool things, or producing content all the time or be able to learn as fast as they can. Do you find that you both compare yourself to other people? And if so, like, how do you overcome that?
Kelly 12:30 Absolutely. Yeah. I think one of the biggest things for me, is, you know, just between the three of us, both of you speak at a lot of conferences. Ali, you're teaching a lot. Like there there are a lot of things that you that both of you are doing, that are very public facing, that I'm not doing, I'm... most of what I'm doing is more private, it's more within my company. It's still making a difference in one way or another, but it presents itself in a very different way. And so I find myself comparing, like, maybe I should be doing more public speaking and it... In 2019, I pretty much came to the conclusion that I don't enjoy doing technical talks. I don't like the idea of doing technical talks. And so I'm not going to make myself do that just to, you know, be on a similar level as everybody else. And this level doesn't even exist. I'm the one who's creating that level that I need to be on. And I need to put... I'm putting myself, or I'm putting others up on a pedestal that I feel like I need to be on that same level. So that is one thing that I'm just being very... like, I'm acknowledging those kind of situations that this is something I'm really creating in my mind and not so much that exists in real life. Like, that comparison is purely personal.
Yeah, I definitely feel that as well. I think even with us, like, I think all of us have gotten DMs at some point that is like, "you're my favorite ladybug". And it's like, why are you comparing us like that? Like, we're all different people. We have different backgrounds and together that's what makes this all work. And so I think you... even people want us to play a comparison game with each other. But I see this so often with students, and everybody's coming into the program that I teach from a wildly different place, wildly different career before they start, a wildly different level of programming and experience with math and all these things that tend to make you a little bit more successful on the program that I teach. And so I try so hard to establish that they should not compare each other. I saw this quote at a restaurant this week, and I'm pulling it up because I thought it was so good. So, compare yourself to who you were yesterday and not to who somebody else is today. That was hanging up, and I thought that was super relevant to this discussion, because everybody's coming into something with a very different background and so comparing yourself to anybody else is just a false comparison in the first place, and it is unfair, but it is important to strive for growth. And so I think comparing yourself to your previous version of yourself, like be nice to yourself, but I think that that's a much more fair assessment. And measure your growth based off of the previous version of you rather than anybody else.
Yeah, I love that. And I think it's pretty encouraging. Is that the right word? I don't know. But I really enjoy the fact that all three of us have never been jealous of each other in any way. I feel like we all have our own niche. But we all just support each other. And I really... I appreciate that because that's not always the case, at work or in the industry or online. I think we forget that someone else's success does not diminish your own. I would love if as a community we could be more uplifting and not focus so much on what others have, instead focus on what you could have. So yeah, I just... for me, it's really inspirational that all of us have really developed like a strong support system. That's really kind of hard to come by. So anyway, now that I'm like having this Hallmark moment.
Ali 16:19 I know.
Kelly 16:20 It actually segues into another tip that we mentioned is finding your community, like, who is it that you can go to where you can celebrate your wins, you can talk about your hardest times, and they're going to be able to respond appropriately, I guess, in a way that they're going to be supportive. And if you have a win that they're still working towards, they'll still be supportive of you instead of being jealous of the fact that you've achieved that before you have. I think finding a community and finding a support system is really important, especially as you're learning something new or you're trying to, you know, to go down a new path in your career and your life, just having somebody or some people there to be there to support you.
Definitely. And there's so many great communities in tech as well. We've been talking about how we have each other, which is amazing. But also for me, I have, or I had, Women Who Code in DC which was an amazing community of women programmers all meeting together to talk about technical subjects. That was a really important community. My community of co-instructors, the people that I work with on daily basis at work, they are my support system there for... and they get me through a really difficult job a lot of times. Other friends in the industry as well. And then online too, like, we all have Twitter, Dev.to, great community on there as well. So I'm on different Slack groups too. So definitely really, really important to find a community and people to support you to learn from other people, and don't just be an island of yourself.
I also just want to add too like, part of having a support system is that they're also not afraid to, like, call you out when you need it, or they won't just sit there and tell you "Oh, you're right" all the time. If you're genuinely not right, or if you need to see something in a different perspective, like having people around you who make you feel comfortable enough to receive that constructive criticism is very important.
Kelly 18:28 I completely agree. And it's also worth noting that people's goals change over time. And if you're part of a community that is no longer a good fit for what you're trying to achieve, don't feel obligated to stick around. If it's no longer supporting you, it's no longer... you know, you're not getting the fulfillment you need from it. I think we're overall afraid to... to kind of back away from current relationships, even when they're toxic. And I think it's important to, you know, be mindful of how the people you're interacting with, the communities you're interacting with, if they're unhealthy for you, if they're negatively impacting your mental health, it's okay to step away.
I also want to talk about the negative side potentially of community in something that I think all three of us have had to deal with in the industry. And that is that people can be assholes, and that's on them. Not you. Sorry for the strong language, but I think it's important to use that. And so there are people everywhere who want to bring you down or who want to make you feel like you don't fit in or belong in tech. Like, people online especially for us, but then also I deal with people in person at meetups and conferences who don't respect me and don't see me as a programmer for whatever reason, because the way that I look or the way that I act or whatever. And it's hard to say that that's a them problem, not a you problem. It is important to self reflect to make sure that you aren't doing something wrong. But also at the same point like people being assholes, people being really rude, that's a them problem, not something that you should take as something that you are doing wrong.
I agree. I completely agree. I think... we, the three of us especially, have experienced a lot of this. And you know, a lot of people will be like, just say, ignore the haters. And to a level I think, yes, it... there are certain times when it's important for, you know, just to ignore it. But it's also important to acknowledge how you feel about them saying what they're saying, because those are very legitimate feelings that you know that, Ali, you were just discussing there.
Emma 20:48 Absolutely. I think one thing that I want to focus on for this year is stop worrying about the things I can't change, and what one of those things is, I can't control how how other people see me. I can only control who I am. And if I'm proud of who I am, then that's enough for me. You will never jive with everyone fully. There are always going to be people that you clash with. It's just an unfortunate reality. And it's kind of up to you to say, you know, I like who I am, and I am okay being respectful towards this person if we work together and have to get along. But we don't have to, you know, maintain a friendship or I don't have to do all I can to make them like me. It's just simply fine. And one of the ways that I kind of deal with some of the assholes in the industry that I've encountered, and when I say that I don't mean people who are like calling me out for something, I mean, people who are just genuinely like being mean to me for no apparent reason. And one of the ways that I've dealt with that is by finding a mentor. I've had several mentors throughout my career. Some are technical, some are career-based, the most recent is kind of a hybrid of both. But finding a mentor is going to be really helpful. And when you run into situations like these, whether you run into someone that, you know, maybe says something really mean to you, or if you hit a technical problem, they're going to be there to help support you and give you advice. Do you all have mentors? And if so, like, how did you come about finding one?
Kelly 22:24 I do. I have the most amazing mentor, especially being new to running a business. She's been amazing. She is... She has many more years in the industry than I do. And she's really helped me approach difficult situations that have come up. There have been times where I've had to have very difficult conversations with clients and, like, I'll send her the conversation before we actually hop on the phone and she helps me like reframe the message in a way like they're not upset with you, they're very clearly stressed. This raises them being stressed, so don't take it personally. And it really helps to have somebody, you know, a third party really, really talk to me like that. And they also know my story. And they also know what my goals are. And they help me set those goals as well. I'm really lucky to have to have met her and be connected with her within the Shopify community. I'm a part of multiple groups of people within Shopify, and that's how we got connected. So it was a very organic kind of thing. And actually, she... I think I tweeted something about wanting to find a mentor, or like asking if people have a mentor, and she was like, I'll be your mentor. And I immediately took her up on that offer. And it's been amazing ever since.
That's amazing. I should do that. I've never had a formal mentor. Like, I definitely have people that I've seen as mentors in my career and in my life, but never had some formal relationship where that has been...
Emma 23:56 Formalized?
Ali 23:57 ... what it is, I guess. So that might be something that I look for in 2020.
That's... Yeah, I think it's a very, very valuable thing that everybody should consider. Also, you know, if you have more experience in the industry, consider being a mentor to somebody else as well. You know, you... I'm sure you have a ton of knowledge that you can share with somebody who's maybe just starting on their coding journey. And to be there for somebody else, it not only reinforces what you know, but you're helping somebody else grow and thrive. And that's an amazing thing you can do to give back to the community.
Emma 24:32 Absolutely. If you're looking for a coding mentor, you can go check out Coding Coach. It's a free platform, and there's over 500 mentors who donate their time for free. So feel free to go and just like search for a technology, and just contact someone on there and get started today.
Kelly 24:51 Awesome. So I'm going to actually jump into a different topic as a tip. Instead of all these really awesome feel good ones that we've been doing. I just really want to talk about keyboard shortcuts. I know it's a really... it's a cliché, but I think that learning keyboard shortcuts is one of the most amazing time saving things that you can do. And I use... and you know, I have keyboard shortcuts within VS code. I use Emmet, and stuff like that. But one of my favorite tools is called TextExpander, where you can create your own keyboard shortcuts for, like, snippets of, like, text. And I have, like, links set up on there. I have emails that I send out pretty frequently, where I can just type in like, a semi colon and three letters and it types out the entire email for me. If you're finding yourself kind of typing a lot of the same stuff, it's a really, really useful tool to have and might even be free. I don't remember.
Emma 25:56 I definitely need that. That sounds really interesting.
Yeah, you can do that directly in VS Code too. So I have that for common code snippets, where it's almost like my own custom edit Emmet. But I'm super reliant on Emmet. Like, I can't type things properly at all. So Emmet saves my life.
Can we just talk about Emmet for a second?
Oh my God, it's so good.
First of all, explain what Emmet is for people who don't know what Emmet is.
So Emmet's this tool where you can type in short versions of, mostly HTML, but there... it kind of works across programming languages, I think, to some extent too, or at least you can download snippets, which works similarly for other languages. And so in HTML, you can write out certain shortcuts and use Emmet to expand them. So for example, you could do like
h2*3 and it'll create three
<h2> tags for you. And with all the carrots and all that and... I don't know, carrots are hard to type. Shift keys, I don't like them. So I think it's really important to to use that.
This is super useful for creating navbars because, like, Oh gosh, it's such a pain in the butt to create navbars. Although I will say, like, my Emmet is really shady when it comes to JSX code. Like sometimes it works and sometimes it doesn't. But, like, to build... So if you type in nav and then you do a greater than sign, and then you do ul and then another greater than sign and you do
li*4. So like the asterisk, four, and then one more greater than sign and an a, it'll give you, like, the full markup with... like for an navbar with four list items. And each of those lists items has an anchor tag inside. You can also add like class names and IDs directly in the shortcuts. It's super useful.
It's everything that I want in a tool and makes development so much faster. Can not recommend enough. There are so many cheat sheets out there for it too. If you learn something new and you don't know Emmet, make it Emmet.
And also, it's worth noting as well... So it's built into VS Code. It's nothing you have to like, add into it. But there are also extensions you can add to it. So like I do a lot of Shopify theme development and somebody built an extension that does all of the Emmet... whatever you call them... snippets to expand on all the the Liquid code that I type in. So it'll, you know... it... you can have variables in there as well. So if I had typed, like,
for and then hit the tab, it'll let me say like,
for product in collection.products, just things like that. It really does speed up your process.
Yeah, you can also set it up for React and Vue and all these frontend frameworks. You just have to do that in your VS Code config.
Which is super cool, if you want to create like a stateless functional component. You can even set like - I don't remember what they're called - like a placeholder where it'll autopopulate, like, the constant name with the name of the file that you've denoted, which is super cool.
Kelly 29:04 That's super cool.
Emma 29:05 But I think my favorite, like most used feature, is the multiple cursors, especially when I'm, like, trying to type class names on, like, multiple items, or, like, fix all the mistakes I always put in there. Multiple cursors is definitely something that is is worth the time to invest.
Definitely. It's another important one, especially if you do a lot of frontend development with like HTML. Yeah, edit all your HTML all at once is super helpful.
It's also really fun when you jump into an environment that doesn't have Emmet and then you're reading through your code. And it's just like a lot of, like, random letters that somehow makes sense in your head, but nothing works, especially when I use it for, like, CSS. And I'll look back in my code and like, Oh, my CSS is broken, because apparently bgc is not an actual line that I can use to create a background color.
So, speaking of Emmet, which is a tool, I think my next tip is to create your toolbox. So find the tools that enable you to do your best work and use them. So Emmet is definitely a huge time saving tool. Another tool that I use often is Gatsby, just because it's so easy to spin up a simple React static site. Which typically I'm not working with, you know, server side code or, or databases or anything like that. I'm just typically creating like frontend blogs, for example. And Gatsby is a tool that I have invested the time to learn quite thoroughly because I use it all the time. So find the tools that enable you to do your best work and... I don't know what are some of the tools that you use almost every day.
For me I am so loyal to VS code and iTerm with ZSH. I've ZSH so tricked out and so set up for what I need it to do. And then on top of that, like VS Code we've been talking about, I have used so many different text editors over the years and VS Code just beats them by a mile. It's such an amazing tool and just works so predictably. And it's so much faster than tools like Atom, at least were back in the day. So those are my main two.
would you say that VS Code is sublime?
Oh my goodness, you're too funny. Kelly, what are your tools?
Emma 32:29 Really quickly, this is a tool I found yesterday from Todd Motto, from ultimate courses is Stack Edit. So it's an in-browser markdown editor. It is so cool. I was using this to write a blog and you can connect it with your, like, Gmail account, or other accounts. It's just an in-browser markdown editor that shows you like the live preview on the right side. And I've used a lot of markdown editors and I don't know why but this one is just like absolutely beautiful and it's free, which makes it even more beautiful.
I love free. Can also, like, we just talked about Figma for a second. I'm finally hopping on the Figma train for getting some like prototypes and, like, quick mock ups together to send over to clients to, like, show off and I'd...
Emma 33:13 You know what you need to learn. If you like Figma, you would love Framer and Framer X, because... I'm a Sketch girl, personally, I'm like a die... I will die on this hill Sketch girl.
But I recognize that that's a MacOS only app and it's paid. So Figma is great for that. But I would tell you that Framer X is amazing for prototyping. And you can also write React code. So, like, you can take your... I don't know if it'll import Figma sketches too, but it'll import, like, Sketch files or Sketch components. And then you can use Framer to prototype it and actually edit, like, the React code and use animations and stuff. It's really really cool.
Kelly 33:51 Awesome.
I also love Sketch, but I have also been using Adobe XD recently and it is pretty close to Sketch but it's completely free for at least my use case. So recommend that as well.
Kelly 34:04 Awesome. And by the way, just so everybody knows, we are going to have all of these things that we've discussed on the show notes on our website. So you're going to be completely overwhelmed with the amazing resources that we've been discussing.
Emma 34:20 I think we just need to do a show about, like, tools that we love.
Kelly 34:22 Oh totally.
Emma 34:23 I think that needs to happen.
Kelly 34:23 That'd be a good idea.
Let's later in the season, I think. So we've been talking a lot about different tool kits that we've been using and love and something that's adjacent to that, not completely linearly, but definitely related, is learning how to debug and using your full toolset when doing that. So we did a full episode on this. It was amazing. Go back and listen to it from last season. I think it was one of my favorite episodes. I think it's really, really helpful but... Let's talk a little bit now about that, too. So something that really helps me is to use breakpoints. So instead of just using console logs or print statements or whatever, having actual places in your code where you have stopping points where you can explore what is going on more fully at that point. So I would definitely look into those. Any other debugging hot tips?
Kelly 36:04 Amazing. You know, this is why I love doing this podcast and, like, look at all these things I can share. But literally, I'm sitting here learning so much myself.
Ali 36:12 Yeah, for sure.
Kelly 36:14 And just also to know, learning how to debug properly is one of my goals for 2020. Like I only recently learned how to work with the breakpoints. And there's so much more that I can do. So much more than I can learn, clearly.
Does anybody know how to use the VS Code debugger?
No. Talk to me about the VS Code debugger.
Well, I don't know how to use it that well, but I know that it's really cool. You can debug... You can set, like, breakpoints and have debugging things directly in there instead of you having to go into the browser. But I'm not an expert at it. I wanted to just see if either of you could talk about it and teach me because I want to know.
The last time I use the debugger in an IDE was in Eclipse with Java code and I absolutely wanted to just fall off a cliff.
That's such a throwback. I remember back in the day, I used to think that, like text editors and IDEs were completely language specific, because my first couple languages were, like, Python, which has the IDLE text editor that's built into it. And I learned with that. And then I learned C++ and thought Emacs was for C++ and then learned Java and it was Eclipse. And so I just thought that every single language you had to use a different text editor for. So that's an embarrassing develop story that I have.
Emma 37:28 You do Ali. You didn't know that?
how is VS Code working for me for all these things then?
I think we need to do an episode called "Dev Confessions", where we just tell our most embarrassing stories of our careers.
Kelly 37:37 I have so many
That'd be so much fun.
One time... I'm going to give you a preview because this is funny. The first time I, like, was working at IBM, I was full time, straight out of college. I had no idea what I was doing. Okay? And I didn't realize that if I pushed code like it could affect other people who are also working on the code. So I like pushed to master, didn't unit test, nothing, just merged it in. And I got a call from a very angry Scottish man, like, "Did you not test your code?" And I was like, "What's testing?" And he was like, "Did you not see if this breaks everything?" And I was like, "No, why is that important?"
Kelly 38:17 We all have to start somewhere. And that's a very good lesson.
I still don't test.
Ali 38:19 Yeah, I dropped production at one point, a production database. Okay, we can definitely do an episode on this. This will be super fun.
Okay, yes, let's do that. But for now, let's talk about staying up to date. Because this is something I feel like we all probably struggle with to some extent. What are some things that you like to do to stay up to date in the dev world?
Oh, people do that? I'm still using jQuery. I am still using jQuery, what are you talking about.
Ali 38:48 Come on, jQuery's so good.
Emma 38:49 I'm in a very facetious mood. No...
I am jQuery certified. It's my biggest...
That's the highlight of your career.
Ali 38:57 Yeah, it really is.
Emma 39:01 So I... How do I stay up to date? I use the interwebs. And I typically will go on Twitter and see, Oh Svelte is a thing now. How do you say Sveltee, Svellte? I'm just kidding. But I will say like I look at CSS Tricks. I read Smashing Magazine. So it's typically, like, a combination of blogs, and then people who create content so like Tyler McGinnis, or Wes Bos, or, you know, some other really great creators like Angie Thomas. Like, what are these people producing? And, like, I kind of just keep an eye out for what kind of courses they're coming up with.
I just don't stay up to date. I'm going to be honest.
Emma 40:26 It's really hard.It's really freaking hard.
Kelly 40:29 And I think that's a really important point to make, like don't feel obligated to know how to do the coolest new technology. And also, one of our tips is how to overcome shiny object syndrome. And so actually, we're going to kind of talk about both of these at the same time because it's very related to staying up to date. I don't know a lot of these really awesome new tools and libraries that people are using. I know them by name. Some I don't even know by name. And that is totally okay. Like, I have my set skills that work for what I'm doing. I might, you know, take a little journey into discovering how Vue.js works and then I'll add that to my repertoire and, you know, add it into my my typical workflow. But it's important to not feel like you have to learn everything that's new, because I think that's impossible.
Yeah. And employment is like... Yeah, going back to that Webpack thing, like I was using Gulp for a really long time. And then I was like, oh, Webpack it's the new shiny thing. And so I, like, dropped everything and like, try to learn it. But what ended up happening was that I just was copying and not trying to actually understand why I was writing this stuff I was writing. And so at the end, like I literally had no idea what I was doing. So yeah, shiny object syndrome can be dangerous, because it leads you to just kind of like mimic what others are doing and not necessarily take the time to learn it. At least in my case. That's what happened.
Oh, my goodness, that's another one of my dev confessions is that back in the day, I just would use Gulp, Grunt or Webpack for whichever project depending on what tutorials I can find. Like, whichever tutorial I could find that was best for my project. That is what I would use. So.
I don't miss those days? Those were the...
No, I do not miss that at all. I tweeted this week that the hardest part of learning React for me was learning Webpack. Somebody was like, "Why don't you use Create React App?" and I was like, "Because it was three years before Create React App existed".
But... on that same note, like the shiny object syndrome in some of these new things that come out... As ,like, as a language or library or whatever matures, more and more tools will come out to help you learn faster. So at some level, it can be very beneficial to just, you know, take a peek to see what what other people are using, what other people are doing to achieve the same goals that you're achieving. Because your way may be a little bit outdated or it could just be your... You can streamline your processes, really. So, no shiny object syndrome, but also try to be mindful of, you know, what else is out there?
Emma 44:07 Absolutely.
I think this is related to another one of our tips that actually Emma wrote. So pick one skill at a time to work on and learn it until you feel comfortable. I think that that's very much related to that previous conversation of not trying to learn everything and not trying to pick up every single thing that you see spoken about on Twitter. You want to expand on that?
Yeah, I... Well, I dug myself a hole when I started to learn Gatsby because I was like, Oh my gosh, it's so easy. It's so cool. You can just run like a CLI command. And then like, you're good to go with all this config setup. And this was actually before they had their starter template for blogging. And so like I was learning how to build a blog from scratch with their default starter. And I dug myself a hole because I didn't learn GraphQl before I jumped into it, and so there I am trying to mess with all my GraphQL schemas and queries and I didn't understand what I was doing. I didn't even understand like the way that, like, what's it called? Not the diction, but like, the syntax. I didn't understand the syntax for even writing a GraphQL like query and so at that point, I had to pause, go learn GraphQl at least enough to get by. And come back, because... like, when you try to learn everything all at once, it can be really overwhelming and humans are not good at multitasking.
Kelly 45:26 It's a scientific fact that humans cannot multitask. If you try to do two things at once, you cannot give 100% to both things. So those who say they can multitask...
Emma 45:35 Is that why you haven't given me spaghetti yet? I'm still waiting. It's been a year.
Kelly 45:40 Yeah, that's exactly why because we're too busy recording this podcast, so I can't also make spaghetti at the same time.
Emma 45:46 Okay.
Kelly 45:48 Glad glad we've cleared the air on that one. So on this same topic, as far as picking something to work on and you know, working on it until you feel comfortable with it. It's important not to strive for perfection, because you will run down a very long path of never feeling like you've done enough. And that's why, you know, we framed it more as be until you feel comfortable with it. You know that, everyone's favorite, you know, you know enough to be dangerous and then you can start learning something new. But if you try to perfect something, you're never going to really move on. At least in my experience.
Emma 46:26 Yeah, I have this problem a lot where I'm like, I need to learn absolutely everything I can about this before I move on. It's like, well, I have other things I need to learn.
Definitely. And I think that goes along with another one of our tips. These are transitioning so seamlessly. I love it.
We're on tip 15 if y'all are lost by now.
Kelly 46:42 Thank you, Emma.
Emma 47:23 Wait, I think you flipped them. Did you?
Ali 47:25 Did I?
Emma 47:27 I think so. Because I'm pretty sure you just ended on vertical mean, like having a lot of knowledge about...
Ali 47:32 Oh, yeah, I probably did.
Emma 47:34 So, Ali has flipped them, which is totally fine. So basically...
Now I'm just talking
I know, it's like someone like Kent Dodds would be a vertical expert with testing. He's one of the top people for testing. Also, maybe Dan Abramov is seen as like a React expert because he's on the core team. And he's come out and said, like, that's his primary skill set as well. People who are more horizontal, like myself, because I struggle with this. I struggle with vertical knowledge in any one specific domain. We like to have a little bit of knowledge in a lot of different areas. And so that's why I like things about design. And I, like, you know, learning about some backend things. But I'm not an expert in any one area.
I'm probably along those same lines too. Though I think of you so much as an expert on design systems and that whole world, so...
It's only because there's no industry definition yet. So.
Kelly 48:25 Hey, it counts.
But I have very much been all over the place. Where I've been a Python engineer. I've been on the frontend side of things to some degree, too. So I'm a little bit all over the place. And Kelly, you're a super expert on Shopify.
Kelly 48:40 I am definitely... I went the vertical route. Yeah, I'm all in on Shopify. Everything you could possibly need to know about Shopify.
Emma 48:45 If you were ever building an e-commerce platform, Kelly is the expert.
Kelly 48:50 That's me.
Ali 48:52 Hire Kelly.
Kelly 48:53 Hire me. Yes, we do some cool stuff. No, I mean, I... in thinking about... I used to generalize myself as far as freelancing goes. You know, I do a little bit of everything. I spent a lot of time in WordPress development. So if I never have to code another line of PHP in my life, it'll be the best day ever. I'm just tired of it. But, like, I spread myself too thin when I wanted to market myself and became very difficult to actually market myself because I'm like, I do everything. I'm jack of all trades, master of none. And narrowing down to really focus on Shopify allowed me not only to focus my brain on what it is that I'm working on, trying to switch between coding for Shopify and coding for WordPress is a bit of a nightmare. I was writing Liquid code in the PHP file and everything was naturally breaking. But it also... it helped me grow my business just because people... I became the expert at Shopify, and I became... that's what I was known for. And in a future episode we'll also be talking about building a personal brand and this will again come up, because this is a very important thing.
Emma 50:02 Absolutely. And so along these lines of learning, I think the next tip, which I believe is number 16, is to identify your learning style because everyone learns differently. And there was a book I saw this weekend I think was called Learning How to Learn, maybe? And Ali is more of an expert on this. So, Ali, how do you identify your learning style?
Like you said, everybody learns in a different way. So some people learn really well with videos, some people don't. Some people learn really well with reading things, Some people don't. Some people like longform writing, some people like shortform writing. Some people like having a person in front of you teaching you. And so I think that you can tell to some extent, what is keeping your focus, what is helping you move faster in your learning process with what is moving you along. Like, for me, so much developer content is in video format. I cannot learn in videos. They move too slow or too fast. I just can't get the timing right and so I will lose focus or get stressed out by them. And so I just will not use video tutorials for the most part. I instead learn really, really well with, like, blog posts, like short form writing, because that keeps my attention span long enough, it has a condensed amount of information and that's how I learn best. And so I think trying out different ways at first and seeing what works for you, and then really double down on that and say, Okay, this is going to be how I will learn these things. And this is the way that's going to be best for me to move forward in my career.
I learned in spurts. I learn bits and pieces. Give me like a tutorial. Like even... like I do learn from video tutorials, but they have to be short. They have to be like five minutes tops.
Emma 51:50 That sounds like Egghead style, egghead.io, style courses that are like tops like one and a half minutes long.
Kelly 51:56 Yeah, that's perfect. Because I get super distracted. Like I'll learn something new. I'm like Oh, let me try to use this in a different use case. And then I completely forget what I was learning because I just have too many tabs open at that point.
Emma 52:07 For sure. Along the lines of learning, it's really important to also make sure that you're taking breaks. So...
Kelly 52:14 What I was going to talk about.
Emma 52:17 Yeah, yeah, so tip 17 is all about taking breaks. We forget that, like your brain needs time to comprehend what you've just fed it. And this is especially important going back to learning languages. It's really an alluring idea to just pump your brain full of as much content and vocabulary and grammar as possible, especially if you've like moved to a foreign country and you don't know the language. But what we forget is that your brain actually needs time to like rewire itself and make those, like... What is it? Like, it needs... I don't know. As we get older, like, our neural plasticity - S o the ability for a brand new like create new synapses - like decreases so that's why children are so good at learning. Like, languages and everything like a young age because their brain is more plastic. So it's easier to create new connections. And as adults, like it's a lot harder for us. And so your brain needs time to digest it all. So taking breaks is super important.
Kelly 53:14 It's also important just for avoiding burnout.
Definitely. So one of my favorite resources is Coursera's Learning How to Learn course. It's free. You can go on it, it's only a couple hours long. And it talks all about the brain science of learning, which I think is really important for anybody to know about, because it breaks down the science of how people learn best, and which I think can aid anybody in their career. And so it talks a lot about the diffuse versus the focus modes of thinking. And diffuse mode is when you are relaxed and not actively trying to learn something and that's when your brain makes connections from the different things that you've learned. And so you're connecting the different individual topics that you know about and have focused on learning previously. And having those connections built between those things is one of the most important things of making it relevant and usable in the future. And so, so important to take breaks in order for your brain to go into a diffuse mode, so you can make the connections.
Kelly 54:12 I'm gonna have to check that out.
Ali 54:13 It's a really, really great course.
So one thing that we don't talk about as much in the industry, and this will probably come up on a future episode where we talk about personal branding, is learning how to say no, prioritizing your values and your commitments. It's really easy to get overwhelmed by the amount of things to learn. And when new opportunities present themselves to you, it's really hard to say no to things because all of a sudden you're getting all these new opportunities. Maybe it's someone wants you to take their course for free and give them a review or maybe someone... you know, you got accepted to speak at a conference. And all of these things are so great. But you know, going back to the avoiding burnout with taking breaks, it's really hard to say no. So prioritizing your values is a great tip.
Kelly 55:02 I tweeted very recently, one of the things that I both learned in 2019 and really, really took seriously was, if you're not excited to say yes, you should say no. It's easy to feel obligated to say yes to everything that comes your way and it can become overwhelming and you usually don't realize it until you've said yes to too many things. Now you're like, how am I going to get all these things done? Especially when other people are counting on you. And I get that it can be very difficult to say no, especially when somebody is asking you for a favor. Like, for example, what you just talked about, can you take my course and then give me a review for it. And yeah, I mean, they probably worked really hard on that course. But if it does not fit into your schedule, it is completely okay to say no. You know, I've decided this year I am not going to do with any dev conferences. I don't want to speak at any dev conferences. I need time off. I need to figure out what it is that I want to really focus on. And I feel like it's going to be more of a distraction than anything else. So, if I change my mind halfway through the year, great. But, for now, that's the path I'm going down. And it's also important to know, it gets easier to say no, the more you do it. The more you practice saying no, the more you recognize that there's going to probably be some, you know, negative reaction that comes from it. You know, maybe they're disappointed. It does really get easier to say no.
Emma 56:32 It's also so much better to say no to something you're not enthusiastic about then give like a half-assed like talk or have to pull out at the last second. People will respect you much more for saying no politely then for pulling out last second or half-assing it.
Ali 56:49 I need to get better at this. But I think in general when you're job searching, especially, prioritizing what's most important to you, is that time off, is that work life balance, is that salary, is that having fun at work. Like, what is most important to you? And when you're searching for that, make sure to prioritize those values and those things that are most important to you, because that will mean that you're finding an environment that will be the best fit for you.
I was going to segue into another another tip that you know, we're... I think this podcast is kind of a good example. This is something that we all agreed to do. But I feel like this is a really good way when I'm... Since I'm not doing conferences, I'm not... I'm active on Twitter, but that's really about it. This is kind of my way of being able to share what I know and what I've learned and the mistakes I made in the past. So I think one of one of the tips that we... that's worth talking about and this is number 19 - So we only have two remaining - is to use your powers for good, to find opportunities to give back to the community, and this can present itself in so many different ways. You know, mentioned in the mentorship one, if you Have a little bit more experience in your area of focus, giving back is mentoring somebody. You know, there are so many opportunities that you can take advantage of to use your skills and use your powers for good. What are some other ideas that you two have?
Yeah. So being able to write code is, in a lot of ways, a superpower to some extent, like you are building something that people are using on a daily basis. And it's a skill that not a huge percentage of the population has at this point. And so use that to help people instead of hurt people because if you use your powers to hurt people, it can impact a lot of people. Like building a website or building anything with code can reach a pretty large audience. And so if you're using that for unethical reasons, that's going to hurt a lot of people. So things like using unethical data collection or working with companies who are doing harm on communities. Like things like that, unethical things that's going to impact people. And especially if you've been working in the industry for a while, there's a good chance that you will be able to find a situation where you are not harming people with your work. So use your powers for good. Don't use your coding abilities to hurt other people.
In all actuality, and I think that this rings true with all of us, you know, bringing in our 20th tip for 2020, which is, don't forget that working in this industry is a massive privilege. And this is something I think, you know, we all experienced in 2019, quite starkly. My eyes were completely opened to the amount of privilege that I personally have in this industry and learning how to use that to help others. And being conscientious of that fact is... It's really important, we all need to be conscientious of that fact.
Definitely. I think that there's so many levels of this. First off that writing code is a really cool thing. Like you can type things onto a computer and something else is outputted that people can use and interact with. And that's awesome in itself. But on top of that, this career affords you a lot of privilege in that it is most... it's usually pretty high paying and people respect it. And so that is another layer of privilege. And then, on top of that, we have a lot of privilege with our large platforms and being white woman in tech. And so I think acknowledging all of that is so important.
I completely agree. I think it's something that we, the three of us all, you know, really took to heart in 2019. It's something I think that's definitely worth noting and, you know, as we move into this new year, that it... continuing to recognize, you know, where privileged exists. And you... again, going back to 19, using that for good, as opposed to just saying, Oh, well, that's cool. You know, being open about it and being open about your experiences and where that privilege lies, it creates like a really, really good conversation, especially within the community. As you said, we have pretty large platforms that we we can use to our advantage here as well.
Emma 1:01:24 Yeah, I think like... For me personally, I think the biggest revelation was me coming to terms with my ignorance. I think, being able to admit that you're ignorant about something is a good thing, right? So I was ignorant of the fact of what privilege actually was. For me that was like, Oh, I'm privileged in, you know, the respect that like, my family earned a decent living growing up and like they paid for me to go to college. It's so much more than that. Right? Like, Ali, you mentioned the fact that we are white women. And yes, that also inherently is a privilege and I totally was ignorant to this fact. And so 2019 was a really... it was a good year for for education. Personally, for me, my eyes have definitely been opened to issues that previously I was blindsided to. And I hope that moving forward in 2020, we as a group, and as, you know, people in the tech industry, can make a positive impact and help educate others.
Kelly 1:02:26 I think that's a really great way to close out on these 20 tips. This has been a really long episode.
Emma 1:02:32 It has.
Kelly 1:02:33 Thanks for sticking around.
We missed you all. But... And I missed you all too. We've only talked once over this break.
Absolutely. We're going to try something new this season called shout out of the week, where each episode we're going to shout out something, whether it's a person, whether it's a project, whether it's a book, or I don't know, like a cooking thing.
Kelly 1:02:52 A person is a thing.
Emma 1:02:53 Yeah, whatever you want. So Kelly, what is your shout out for this week. So my shout out is to Team Trees. And I think this is one of the coolest things that I've come across over the... late 2019. So their goal was to plant 20 million trees around the world. And every dollar you donate is a tree that gets planted. And the goal was to hit 20 million before the end of the year. And as of December 19, that number officially passed 20 million. And I think that is the coolest thing. So I think that by the time this episode is released, they're kind of shutting it down, as far as taking donations. I could be wrong. I just can't see into the future. But it's called teamtrees.org. If you want to take a look at the website and see people, you know, who donated. It's just a really fascinating thing. And, you know, it was a worldwide kind of community that came together to plant trees worldwide. I just think it's the coolest thing.
Emma 1:03:59 Do you know where the planted them?
Kelly 1:04:01 I do not know. All it said on the website is that they're being planted around the world. There are a lot of places that need them. So that's great. Emma, what is your shout out of the week?
Emma 1:04:10 Okay, so for Christmas, my manager mailed me a book and I'm totally obsessed with it because it's one of those like design ebooks where the format's not like a traditional book. It looks very artsy and there's like images and it's really pretty. It's called Orbiting the Giant Hairball: A Corporate Fool's Guide to Surviving With Grace. It's by Gordon McKenzie, he worked at Hallmark for like 30 years. And it's basically about how you can... The premise is that the hairball is essentially corporate structure and, like, the internal legislature that goes on within your your big companies, and the fact that it stifles innovation and creativity and so how you can actually, like, maybe move a little bit outside and orbit this giant hairball. So you're still, you know, reaping some of the benefits of being in a corporate structure, but you're still able to, like, innovate and be creative. So we'll link that down in the show notes. But, so far, it's a fantastic book. What about you, Ali?
Ali 1:05:05 So mine is a book as well. And I think this is the book of the year. I think everybody should go read this. And it's Know My Name by Chanel Miller, who was Jane Doe in the Stanford sexual assault case. If you have heard about that in the news over the last couple years. This book is just heartbreaking, but also a really great hold on, like, being a victim and what your life looks like in the public eye and all that. So I cannot recommend this book enough. I want everybody to go out and read it.
I am adding that to my Goodreads list. But with that, with our very long intro to 2020 episode, we are done. And I hope that you found some value in our 20 tips for 2020. So if you liked this episode, tweet about it. And instead of Ladybug stickers, we have been graciously given some Smashing Magazine books to give out to all of you, and if you don't know Smashing Magazine, they do amazing blogs, they do amazing webinars, books, etc. conferences all about design, tech, career. And their books are just beautiful. So they've given us some books to give away to all of you. So tweet about this episode. If you liked it, go give us a review. And we'll pick one of you to send a book. We post new podcasts...
Ali 1:06:25 We're moving up in the world.
Emma 1:06:26 Yeah, yeah, absolutely. We are upgrading the things that we are giving away. We're now giving away knowledge as opposed to stickers.
Kelly 1:06:33 Stickers! Stickers are cool, though. No, no hate on stickers but...
Ali 1:06:38 Love stickers.
Kelly 1:06:39 If we can upgrade our gifts, we're going to upgrade our gifts.
Ali 1:06:42 Also love books.
Emma 1:06:44 Absolutely. All right. Well, we will see you all next week with a brand new episode.