This course has been updated into a 4 part series! We now recommend you take the A Practical Guide to Algorithms with JavaScript course.

Check out a free preview of the full Data Structures and Algorithms in JavaScript course:
The "How to Succeed" Lesson is part of the full, Data Structures and Algorithms in JavaScript course featured in this preview video. Here's what you'd learn in this lesson:

Using a "fad diet" metaphor, Bianca explains what it takes to succeed in this course. She recommends pairing up with someone or a team of people to try the exercises and discuss the solutions. Ask questions and don't be afraid of failure.

Get Unlimited Access Now

Transcript from the "How to Succeed" Lesson

[00:00:00]
>> Bianca Gandolfo: Okay, so fad diets. What do we know about fad diets? People start these diets and they think they're gonna work. They're gonna lose all this weight or they're gonna get a six pack or whatever it is that they wanna do. And it doesn't work, and that's why it's a fad diet.

[00:00:16] So here are some fad diets in this class, in programming, in general, that I found from students. It's basically, you think it's gonna work but it's not. So, first one is reading or watching a video or a blog about this concept means I'm gonna know how to implement it and code it out.

[00:00:38] Sorry, it doesn't work like that. I'm going to look it up later, no you're not. My brain hurts, I'm not smart. Trust me, my brain hurts, too. We're gonna be doing this for six days, my brain is gonna be all kinds of hurting after this. So failing an interview means I'm a bad engineer because interviews are testing for my engineering ability.

[00:00:59] Unfortunately that's not true at all. Most technical interviews are not a good measure of your abilities as an engineer. For whatever reason, there are certain metrics that tech companies have employed to measure your ability as a software engineer. The bad news is that it actually doesn't work at all, and there's been many study's proving this wrong.

[00:01:24] Everyone is arguing right now about a new type of tech interview, that it's a better test of your skill and people are trying that out. But still, these data structures and algorithms questions are gonna be typical of an interview for a software engineering position. And like Mark was saying, he's been an engineer for 15 years, and he doesn't even understand this.

[00:01:50] It doesn't mean he's a bad engineer. It just means this has very little to do with what you are going to do on a day to day. You can apply these concepts. But for the most part, they're almost a separate topic.
>> Bianca Gandolfo: Cool, and then the last one is my favorite.

[00:02:09] I read the solutions and now I understand it. It's not true, try it first before you look at the solutions please. There are all these ways to give yourself a false sense of accomplishment. Yeah, it feels good, you should read the slides and all that. But the real goal is to be able to code it out.

[00:02:28] And so reading the solutions, skipping the exercises, anything that's gonna lead you down that path, is the wrong path, right? So just know that. And what else did I wanna say about that? I had something and I just went, just is gone. What else? [BLANK AUDIO] Okay, maybe that's all I got.

[00:02:55] Great, so with that how to succeed, don't fall for any of the fad diets that I just explained. Pair with someone else taking the course. Being able to explain your thought process with another person is gonna be super crucial in the communication aspect that a lot of you guys were talking about.

[00:03:15] I wanna be able to communicate like an engineer. I wanna be able to get a job. This is all based on communication. Can you talk your interviewer through your thought process? Can you get someone else on the same page so that you can move forward with the next line of code?

[00:03:30] So try to do the exercise without looking at the solutions. If you can't control yourself because you know the solutions are there on the Internet. When you look at them, [LAUGH] try and do the solution without looking at it at the same time. Does that make sense? So say you go, and you're, my gosh, there's a marshmallow and I have to eat it, I can't wait 15 minutes.

[00:03:54] You could [LAUGH] go look at it, and then come back, but don't look at it while you're implementing your solution. And you can go back and forth, back and forth. As long as eventually you get to a point where you can come up with your own solution without memorizing.

[00:04:09] That's really important. Don't memorize a solution, cuz it's not gonna help you. Come up with your own process for these solutions. Be okay with failing. You're gonna mess up, you might ask a question that makes you feel like it's a dumb question, it's probably not a dumb question.

[00:04:31] So, be okay with that, we're here to learn and learning is a hard process, learning will hurt your brain and this is one of those things. These topics, I think it's the name really, like algorithms. Like that word is this long, and anything with a word that long is automatically intimidating, right?

[00:04:49] But we're gonna learn, we gonna mess up together, it's gonna be awesome, I already messed up, it's only been like a minute. So, we'll be here together, it'll be okay. Ask me questions, please ask me questions. Please, please, please ask me questions. Okay, do you guys promise? I'm gonna cry, I'm crying already, can you see the tears?

[00:05:14] Just kidding, those are freckles. All right, we're good? We're good, what else? A guide to pair programming, read this, I think I'm talking for too long. It's gonna be hard to talk all day for six days, I know. But you guys probably have to do this at work most of the time anyway.

[00:05:34] Does anyone pair program at work? Yeah, so you're used to it. You know what the deal is. Communicate deliberately, be specific, don't say, save this thing and then loop through the thing. And then, stuff and things. Leave those general words at the door, come in with specific programming terminology.

[00:05:54] It's okay for you to think for a moment about, what's that word again? Yeah, you know? You know, variable, or the variable i, etc. One person is typing, one person is talking, that's typical of pair programming. The style that you wanna do is totally up to you, but that's one style.

[00:06:14] If you are online, codeshare.io, invite someone online to do a co-chair. Co-chair who will hang out or whatever you wanna do, that's gonna be really important to keep you engaged, accountable and doing the exercises. Last but not least, be nice. Don't say things like my god, I can't believe you don't know.

[00:06:39] Or you didn't know that thing? Just stop, come on, it's not even necessary. And most importantly, have fun. I know this is like an academic topic. But trust me, it can be fun. And I already have an idea for an awesome board game. It's like a Scooby Doo mystery data structures algorithm board game.

[00:06:58] It's gonna be great. Coming to stores near you, probably, I don't know, probably never. But it's here, and it can be fun.