[00:00:00] Hey guys, welcome to the easier said than done and how to do it podcast.
[00:00:04] And today I want to talk to you about the dreaded data structures and algorithms.
[00:00:09] Most importantly, what I want you to understand is that it's not the same as programming.
[00:00:14] And in fact, I'm willing to
[00:00:15] bet that 80 percent of you are wasting your time doing it either too early or doing it incorrectly. And in this episode, my goal is to help you understand what it is, why, if at all, you need to use it, when you need to learn it, and how to basically simplify the concepts.
[00:00:32] Keep in mind, I have no computer science background. I was 37 years old when I first started to learn to code and I started teaching myself DSA only at the age of 38 and a year later I was at Google
[00:00:41] So let me be really clear. It does not matter where you learn it from. You're going to find it hard, no matter where you learn it from. Some places will be easier than others, depending on your learning style. But if you don't follow the methodologies I outline and don't understand the distinctions I make in this [00:01:00] episode, you're going to find it hard, no matter what.
[00:01:02] and I'll walk you through what I did when I was learning for FAANG and doing my FAANG interviews, and eventually I chose Google, what I did to understand
[00:01:10] how to break down data structures and algorithms.
[00:01:12] Welcome to Easier Said Than Done with me, Zubin Pratap, where I share with you the tens of thousands of dollars worth of self development that I did on my journey from 37 year old lawyer to professional software engineer. The goal of this podcast is to show you how to actually do those things that are easier said than done.
[00:01:32] There was a process that I used and a set of mental models to understand a how this works in the interviewing world But also be how to learn really complex advanced topics like this by fundamentally breaking them down into little decomposed pieces
[00:01:47] So that's what I hope to give you on this episode.
[00:01:49] Now for those of you who've not tuned in before So yes, I do it on YouTube and I do this on Spotify and Apple as well So You will have the either the video version or the audio version that you're listening to and for those of [00:02:00] you who are watching On youtube, I share my screen the audio guys.
[00:02:03] Obviously, unfortunately, you won't be able to get it.
[00:02:05] So here we go Let's here's the screen that's being shared and let's get into why I wanted to make this episode.
[00:02:11] Number one reason for me wanting to make this episode is because far too many people around the world Are getting completely sucked into the myth of DSA.
[00:02:19] What do I mean by the myth of dsa? Guys Don't let social media tell you what is normal and prevalent. Use data instead.
[00:02:27] The vast number of coding jobs around the world do not need DSA.
[00:02:33] Now, yes, if you speak to people in big tech, in FANG, in giant startups, especially companies that have recruited ex FANG and big tech people, yes, they're probably going to use some level of DSA, but not always, right?
[00:02:45] I once interviewed at a company. This is when I was leaving Google a couple of years ago. I interviewed the couple that had ex FANG people, Google, Amazon, and Facebook folks in it. I don't think there's anyone from Apple, but they had these three other companies well represented in these companies, and they did not do DSA style interviews.[00:03:00]
[00:03:00] Because that's not what they cared about what they were really caring What they really cared about was can you actually get the job done and do you fit culturally now?
[00:03:08] You have to know what companies are looking for before you decide to make DSA a part of your strategy And of course, let me be clear
[00:03:16] if you're looking at big tech And fang and you know, we all know their interview process requires DSA then yes It's something you need to do.
[00:03:24] When I was transitioning from a 37 year old lawyer to a coder I did not need DSA for any of the first four interviews and jobs that I did and I got all four offers by the way I got all four offers Okay, I did not need DSA for any of them.
[00:03:39] I only started my DSA study plan completely separate from my learning to code plan And that's what I recommend everybody does because DSA and programming are not the same thing
[00:03:50] So let's get into why I say this.
[00:03:52] Number one first and foremost Let's understand what DSA is it stands for data structures and algorithms So really what my little [00:04:00] Word here in on screen should say is ds and a okay, but everyone just shortens it to DSA Now, why is it so scary because it's very abstract.
[00:04:08] That's the short answer It's all very theoretical and unlike reading something Like in another language or english or some instruction manual when you read code Most of the decision making is hidden away from you Most of the reasons why the code is written that way is hidden from you.
[00:04:25] So when you operate in an environment where the reason why the line of code is written that way is not available to you, it gets really confusing.
[00:04:33] You're just reading all these very abstract symbols on the screen. You kind of understand what the symbols are trying to do, but you don't know why. That is why DSA is so very hard.
[00:04:44] But once I realized it was that hard I then reverse engineered the process of how to make it easier and If you stay until the end of the episode, i'll talk to you about that and i'll also explain to you why Obviously when you think about it when I explain to you you'll suddenly see it clear as day Why DSA and programming are two [00:05:00] different things and why they're completely different skills and the i'd argue that DSA is not essential To be a great programmer. It really is not necessary.
[00:05:07] So that by the end of this episode, you will have a clear understanding of why I say that.
[00:05:11] So now we understand what DSA is. We understand why it's scary because it's so abstract and it's kind of hard to reason about the way most people do it.
[00:05:18] I should add, it's hard to reason about because of the way most people are learning, which is online through social media or through things like leet code and stuff like that, right?
[00:05:28] There is a proper technique to learning guys. Everything is easy when you know how, okay.
[00:05:32] If you're really, really struggling, it's probably a combination of because it's new.
[00:05:36] abstract and your learning methodology is not suitable for that stage of the learning journey that you're at.
[00:05:41] Now when I teach and coach my students because I run a private coaching program for people who want a career change to into code I am very careful to choose the learning resources and the learning methodology According to the level they're at I adapt the resources and the methodology depending on how much [00:06:00] coding they've learned Okay, it has to adapt to every stage just like Why schools have grade, you know, 1 to 12, right?
[00:06:05] There's a reason why it's done that way. Okay. Now, question that I get asked a lot is how did I learn DSA? I mean, at the age of 38, almost 40 to get into FANG, right? With no computer science background, with no prior history in coding. I had taught myself when I was 37 and I became an engineer at 38.
[00:06:22] And in my 38th year, while I was in my first coding job, I taught myself the DSA because my next goal was FANG. And then in the next year I ended up accepting Google. So how did I learn this? Well, I broke it down into separating DS and A and I'll talk about this in a moment as well, right? I broke it down and I ended up using a combination of LeetCode and AlgoExpert.
[00:06:43] In fact, the AlgoExpert founder, Clement and I, I've been on his podcast as well. I talked about. The fact that his platform was very useful for me.
[00:06:51] The reason it was useful for me was five years ago That was probably one of the better platforms to use now. There's a ton of them Okay, neetcode's pretty much doing everything, you know for [00:07:00] free on youtube now.
[00:07:01] There's interview cake There are lots of people there are tons of youtube playlists So let me be really clear. It does not matter where you learn it from. You're going to find it hard, no matter where you learn it from. Some places will be easier than others, depending on your learning style. But if you don't follow the methodologies I outline and don't understand the distinctions I make in this episode, you're going to find it hard, no matter what.
[00:07:25] Now there's no difference between any of these things that I put out on the screen. LeetCode, NeetCode, AlgoExpert, InterviewCake, InterviewKickstart, whatever, insert anything, right? I've only named a few here because they sprang to mind when I was writing this document. There are literally dozens, if not hundreds of pages.
[00:07:39] Preparation things. It doesn't matter which one you do from.
[00:07:43] What matters is how you break down the process of learning how you layer it
[00:07:47] This is why when I teach my students I literally use available resources on the internet to show them how to learn each of these steps It's not the algorithm. That's the problem.
[00:07:56] It's not the data structure the problem It's your timing for the learning and [00:08:00] how you understand the concepts.
[00:08:01] Now with that said once again I want to re emphasize Please do not think that being good at DSA is the same as programming. In fact, when I was at Google and I was on the interviewing side at Google as well, we had a lot of these competitive programmer type folks coming in who are outstanding.
[00:08:16] They'd crunched like hundreds, if not thousands of lead code style problems. Right. Hundreds if not thousands of them and you could see they were superb at just pretty much doing it almost from memory, right? They had just mastered the art of writing line after line that really understood the the formula so to speak Because some of the a lot of the stuff can be reduced to kind of formulas if you like, right?
[00:08:36] but they weren't able to Extrapolate and generalize those to real life problems Okay, and a good interviewer, and I was trained in doing this when I was at Google, is not just looking at whether you can complete the problem. In fact, some of my Google interviews and the Amazon interviews and stuff, I did not actually complete the problem.
[00:08:52] I still went through to the next round and eventually accepted Google, right? You don't have to necessarily complete the problem in the time. That's not what [00:09:00] most interviewers are looking for. They're looking for Can you reason and explain your reason and do you have what's known as general cognitive ability?
[00:09:08] Now in a separate episode of this podcast i'm going to talk about why DSA is used in companies to work out which candidate to hire Let me tell you now it's not because they're going to make great coders, right? It's because they probably have the kind of problem solving ability.
[00:09:21] So It's a totally different skill from coding. In fact, a lot of the folks that I met when I was at Google were deep computer science or math majors who didn't code a lot, right? But they were really good at the algorithms and data structures, even though they couldn't program a lot because it's a totally different skill Again, i'll talk about this later on in the episode.
[00:09:41] Okay Now the most important fact that I want you to take away from this episode is that DSA are You Clubbed together as one.
[00:09:49] Why? Because Twitter and Instagram, you know, sort of shorten everything. But they're actually two completely different things.
[00:09:56] Please guys, this is fundamental to you [00:10:00] learning how to do DS and A properly. Okay. DS and A are very different.
[00:10:05] That's why it's DS and A. Data structures and Algorithms.
[00:10:10] They're completely different things.
[00:10:12] Hi, if you want a no BS insight into how to change your career, whether to code or something else and how to actually get job opportunities in tech, then please subscribe and like. It's no BS because I have zero incentive to mislead you. I just want to help you and give you tons of value so that you will consider working with me to get to your next career.
[00:10:31] Take a look at the
[00:10:31] description text below to learn more about the training I offer. But I do post content here regularly and by subscribing and liking and hitting that notification bell you will get to know when I post new industry insights for you. You'll also know within about three seconds if you want to learn more, but at least you won't miss out.
[00:10:47] Oh, and please follow me on LinkedIn too. I pretty much post there every single day. Just look for my name, Zubin Pratap. All right. So please like, and subscribe to this channel and let's get back to the episode.
[00:10:55] So let's first consider what is a data structure. A data structure is [00:11:00] simply something that holds data in a certain structure. Okay. It could be, for example, in a list. Okay. A list is a data structure.
[00:11:10] If I have a list of things in my notebook here, and I have a list of things one after the other on a notepad, it's a list.
[00:11:18] If I take out a dictionary, it's still a list of words. Okay. Right. It's still a list of words, but there's also a key on the left side, the word that you're looking up and its value, the meaning of the word. Okay. So that's a dictionary. There's a left side and there's a right side. Okay. And so that's basically key value pairs.
[00:11:38] That's also a data structure. Right. And then you have more advanced data structures and I'll show you that in a minute. In fact,
[00:11:44] let me switch over to a, to a REPL so you can see this. Right.
[00:11:49] So this is a simple data structure. It's an array. Don't worry about the semantics and these syntax of the language.
[00:11:54] Don't worry about it. This is a list. 1, It's basically a sorted list in attending [00:12:00] order in ascending order. Right. That's why the square brackets. That's it. That's a data structure. An array is a data structure. Now you could also have.
[00:12:09] Things like objects, or in Python and other languages, they may be called dictionaries.
[00:12:14] in languages like Java, they're called HashMaps. You also have HashMaps in, in, , JavaScript.
[00:12:20] Let's take a look at what an object looks like. That's what an object looks like, right? So this is an object called Zubin, and it has all this data inside it. Okay, I could actually just rename this to person.
[00:12:31] Okay, or I could rename this to person, or, you know, whoops, I could just rename this to Subin, right? So Subin is now an object and it has a bunch of pieces of data. It has my name in it. It has my age in it. It has some other facts about my life. Right? This is also a data structure, also known as a, In JavaScript, it's just known as an object.
[00:12:57] In other languages, it's known as hash maps or dictionaries and so on. [00:13:00] Okay? This is another kind of data. Note that it looks different from a list. Right? It looks quite different from a list. It still contains data. That's a data structure. Now, you could combine this. Right? You could combine this. For example, I could have an object or a dictionary that also contains inside it a list.
[00:13:19] So for example, let's say I'm describing family A. It has a list of children. This could be one person long or it could be three people long. This has only one child. Okay, but then this has three children and they have a parent property which has another object. What's an object? The same thing as this dictionary?
[00:13:39] You'll see parents are also dictionary Inside a dictionary. It's nested inside a dictionary So it's an object that contains an object and it also contains a list This is a more complex data structure than just a simple list, right? it's a more complex data than just a simple object or dictionary because This object contains both other lists and [00:14:00] other dictionaries or other objects.
[00:14:02] So this becomes a more complex data structure. But you can see how this now stores a ton of information. It stores the names of all the children. It stores the names of the parents and also the kind of parent they are. Dad or mom, right? When I say kind of parent, that's what I mean. Now what happens if I have two of these?
[00:14:17] Well, let's take another look here is another family Which has exactly the same shape as it's called or structure as family a family b has the same properties It has a children property with the list kind of data. It has a parents property with an other property Nested object or dictionary kind of data in it.
[00:14:36] So it's exactly the same shape has exactly the same properties and Has a list and an object just like family A does. Okay, so family A and family B Are objects which have very different values in them like becky and sarah different kids Parents are michael and jane in this one and parents are john and mary in the other one, right?
[00:14:54] It's a different data, but exactly the same structure to the data. These are data [00:15:00] structures.
[00:15:00] Now, I could combine this to make it even more sophisticated, right? I could have a list of families, right? It's an array which contains family A, family B, and you know, thousands of other family objects in it, right?
[00:15:15] So this now becomes a list where each item in the list is a complex object like this. It's a complex, deeply nested structure like this. Now that's a data structure inside a data structure inside a data structure. And that whole thing itself is a data structure.
[00:15:30] And that's all this is, right? So you have to remember that that's all data structures are.
[00:15:34] They're ways to store data with relationships sometimes between each other.
[00:15:38] So whether it's a graph or a tree or a linked list, it's all data. stored in a structure that's useful for the use case.
[00:15:46] So that's why you need to learn the properties and nature of these data structures, their limitations, their advantages, and how to use them in different scenarios.
[00:15:55] And that's what the understanding data structures are. Now, anyone is learning to code. We'll learn [00:16:00] at least the list and the object data structure at the very least.
[00:16:03] So you already know some data structures. Okay, and that's all you need to remember is that data structures just become slightly more combined and complex and compound on each other a little bit.
[00:16:13] But that's kind of all they are. They're basically containers for data and you give them a shape and a structure and then you design that structure in a way that helps you in your use case. Okay, that's all a data structure is.
[00:16:25] Not the same as an algorithm. Now an algorithm is totally different. An algorithm is simply another fancy word for a recipe.
[00:16:32] When you use a cookbook, and you are making, I don't know, a really delicious casserole That is in your grandmum's recipe book, your grandmum's recipe or your granddad's recipe, whatever the case may be, is an algorithm for how to produce that dish. Okay. And you use different ingredients and certain ingredients add certain flavors to the food, add certain heat or spice or sweetness, whatever it is, right?
[00:16:58] You use different [00:17:00] ingredients in an algorithm to produce the dish. You use different algorithms with data structures. To produce the dish. Algorithm being the recipe and data structures being the ingredients that hold the data and give it different properties and flavors. Okay, that's all it boils down to so you have to separate data structures from algorithms.
[00:17:19] My recommendation is do not get onto the algorithms until you really understand data structures first.
[00:17:26] So do not get into Dijkstra's algorithm and this algorithm and all the rest of that first learn data structures
[00:17:34] Start with simple lists and strings and things like that and learn how to reverse a string Yes, it sounds boring. Learn how to reverse a list of numbers, for example. Learn when you want to sort a list of numbers, right?
[00:17:48] Start with those simple things because you're using simple data structures and then you're getting used to the ingredients and the recipes.
[00:17:54] Now, the important thing here is data structures are the same. Whether you and I write them, they're the same, [00:18:00] right? We can design and approach a problem in different ways, but the data structures we end up using to solve the problems are all pretty much the same.
[00:18:06] In a basket of six or ten of them, right?
[00:18:08] So they're all the same algorithms are also the same like the recipe For guinness stout beer is the same The recipe for coca cola is the same whether you make it or I make it if you both if you and I both have the recipe For coca cola we can make it Right, so the same thing with algorithms.
[00:18:25] There's no fancy secret sauce thinking that this website or you know This particular program will teach me algorithms that I can't get elsewhere It is not possible because an algorithm is a recipe. Everything they're teaching you is available on the internet Anyway, the question is it's hard to understand it unless you know how to break it down, right?
[00:18:44] So it's really important that you separate these two things Truth concepts out in your head first get good at data structures really understand what they are Right, and then as you work with data structures, you will be using basic algorithms.
[00:18:56] For example Anytime you go [00:19:00] through the items in an array, so let me put down a simple for loop here, right?
[00:19:04] This is actually a longer algorithm, but let me see if if you guys can get this. So I've got a little algorithm here that takes the numbers from an array. It's a sorted array, ascending order, right?
[00:19:15] The same one here, one to 10. And what it does is it goes through the array backwards from 10 down to one and pulls up all the even numbers. That's all it does. Okay. But I've got a simple for loop here that starts at the end of the array. Goes all the way down to zero. Okay, this process of iterating as it's called Moving through the list from the end of the list to the start of the list is fundamentally an algorithm Okay at its most basic level a for loop is an algorithm.
[00:19:43] It's an algorithm for going through each item in an array Okay. Now, of course, it's super simple algorithm not for a beginner But it's a super simple algorithm once you've been coding for a few weeks You All algorithms are a more complex versions of these. Okay. So it's [00:20:00] really, really, really important to understand That data structures come first, then the algorithms layer on, and you have to work it up bit by bit in complexity.
[00:20:09] Okay. Now, let me explain to you why data structure is not the same as programming. I promised you earlier on that when I explain this to you, you'll be like, of course, it's so obvious. Here's why. The vast majority of coders and engineers don't use data structures day to day. In fact, plenty of great websites have been created by people who have no computer science background.
[00:20:30] Lots of hackers are hacking and building full applications. Without any knowledge of data structures and algorithms and I realized this because I was one of them In my first year as an engineer, like I said, I was about 38 years old at that time and the entire time I was in that job We were building a startup.
[00:20:47] There were five or six of us. It was small There was a lot of coding work going on a lot of greenfield workers It's known like new code that was being written. I didn't have to touch a data structure and algorithm problem the entire time. All I had to do was [00:21:00] build the front end and the back end.
[00:21:01] The server side logic, the database stuff, the pagination stuff, the, you know, caching stuff, and the front end. We were using React at that time. That was it. There was no need to traverse a linked list. There was no need to invert a binary tree. There was no need to do any of these things, okay? So, Clearly I was programming because I was building a real life product But I wasn't doing any data structures and algorithms.
[00:21:25] Therefore by definition. It's not the same thing, right? Because if it's the same thing then I need to do one To do the other. We are perfectly capable of being programmers for years without touching data structures and algorithms type problems
[00:21:38] Which then raises the question. Well, what is it actually used for?
[00:21:42] Well data structures and algorithms are used a lot in existing libraries So for those of you who use react or those of you who use Utility packages, whether it's in golang or java, whatever it is, you know, java, for example, comes with a whole lot of collections types and they have all these algorithms and functions that you can call on it.
[00:21:59] Heck,
[00:21:59] [00:22:00] even if you call, if you go to mdn array sort, for example, right, it shows you, The sort function that can be called in any array, right? Like you can sort this array. You can sort this array
[00:22:12] What is sort it's an inbuilt algorithm to sort an array So a lot of algorithms and data structures are actually implemented as part of most coding languages anywhere or you have existing libraries That's when they're used a lot.
[00:22:26] Okay, they come pre built. Why do they come pre built because they're so commonly used It makes no sense for everyone to write their own version of it And then test it and make sure it works in all cases and make sure it's performant and all that makes no sense.
[00:22:37] You will find that the data structures and algorithms are used extensively in packages and libraries that get imported and used by other people. 99% at the time you're not going to be doing them yourself.
[00:22:47] Okay, there will be times like even when I was at google It is fairly rare that I needed to actually write one and implement one because these are problems that have been seen before. Someone's probably written a package or library or you use the [00:23:00] standard library packages, right? Understanding how the algorithm works and what kind of impact it has on the resources in terms of the time or in terms of the amount of storage it takes or the amount of memory it occupies.
[00:23:12] Now, these may seem like advanced topics to you, so ignore it if you don't fully understand what I'm saying. But the point is, knowing
[00:23:18] how the algorithm and data structure impacts big complex systems is something you would use in big tech companies. But let me be very clear about this.
[00:23:28]
[00:23:28] Most coders are not in big tech companies, nor should you be. That's not the only valid way to have a career. So, you do not need to worry too much about DSA. In my opinion, for about 99 percent of your coding work. The only time it becomes really important is when you're solving a really complex problem.
[00:23:46] Either because the problem itself is complex or you're doing something at scale. And even then, I would say 99 percent of the time you're going to use existing libraries that other people have created for that purpose. You're not going to write your own.
[00:23:57] , and
[00:23:57] the other time you need DSA is when you're [00:24:00] interviewing at big tech companies now Remember what I said earlier when I was at google.
[00:24:03] Yes I had to learn DSA stuff for the interview, by the way Even an algo expert on Clement's youtube channel rather I did say I did only about 30 maybe 35% of all the DSA problems that he had on algo expert
[00:24:17] Because I was focused on DSA On categories of problems, the mental models, what data structure used in what scenario, what algorithm works in what scenario and how to connect the two.
[00:24:27] I wasn't looking to crank out a hundred problems because frankly, I didn't have the time. I did a few problems to understand the class of problems. And then I just really understood the category. I understood how to think because I know that Google is looking for what's known as general cognitive ability.
[00:24:41] I didn't think they necessarily needed me to smash every problem out of the park, right?
[00:24:45] So going back to interviews, that's pretty much the only time you'll really need DSA for 99 percent of your career. And that's why it's a whole different skill.
[00:24:55] Just like, just like, learning all kinds of things in [00:25:00] high school algebra Was never used again for the rest of your life But it was necessary for you to get your high school diploma and to pass your exams, right?
[00:25:08] Same thing when I went to law school 90 percent of what I did in law school. I never ended up using in real life and I went to really good law school. Never ended up using it. Why? Because that knowledge is necessary to pass the exam and to get the piece of paper similarly in my view Data structures and algorithms is necessary to pass interviews not to be a great programmer Okay, it probably helps if you're good at DSA because that just means that your brain is practiced at solving complex problems But for most people the reason it's hard is because you don't need to do those kind of problems in daily life .
[00:25:39] Okay, so guys, I hope that was really helpful Just remember, don't spend too much time on DS&A unless you're absolutely sure that the interviews you're going to be doing require them at an advanced level.
[00:25:51] Most interviews that I've done for smaller companies, most of them, required me to know the tools and whether it's a framework or something else.[00:26:00]
[00:26:00] More than anything else. In fact, for smaller companies, knowing one language really well, which are one that they prefer to use, especially for entry level engineers, knowing the language that they use, knowing the frameworks that they use is a much better bet. When you go to places like Fang and Big Tech, then it doesn't matter which language, you know,
[00:26:17] when I went to Google, for example, I didn't know any of the languages that I ended up having to write in.
[00:26:21] I learned the languages on the job because that's not what Google is selecting you for.
[00:26:25] They know that most of the problems you see, same thing with Amazon and Facebook and all of these guys, the kind of problem you see inside the company is very different from anything you'll see anywhere else in the world.
[00:26:34] And they know that there's not a lot of stuff that you'll be able to bring in from the outside world that may be relevant for the kind of tooling they use. Other than your ability to reason, think, and know how to program. Which is why when I work with my students in the Inner Circle program, my focus on them is forget about the language, that's an implementation detail.
[00:26:53] Okay, just like you can write a great novel in any language. Okay, the language is [00:27:00] not what makes the story or the novel great. What makes the story the novel great is the composition is the plot. It's how you tell the story Similarly programming is about how you program how well you design and architect an application how well you think through it How well you do the testing and all of that?
[00:27:18] That's what programming is about the language is an implementation detail Okay, that's what ends up happening certainly in the big side of town, but for smaller companies, they've got time constraints They've got budget constraints. They've got resource constraints. So They want to recruit people who can use their tools on day one, get up and running with minimal supervision and effort.
[00:27:37] So how you prepare for interviews depends on the kind of companies you're targeting. And do not try to target both the really big ones and the small ones, or the mid-level ones. Choose the level that you're at that you want to go to next, and then go for them.
[00:27:50] When I was leaving Google, this was two years ago, well before the layoffs , when I was leaving Google and I knew I was gonna go to a scale up.
[00:27:57] I knew that the kind of preparation I did [00:28:00] or would need to do is completely different. I didn't do any DSA for my preparation. Then I did more stuff around web development or server engineering and more practical tooling rather than the DS&A stuff. And this is when I was leaving Google. To get into Google.
[00:28:14] I did all the DSA stuff when I was leaving Google I didn't end up doing that much of that stuff I ended up focusing more on practical tools Why? Because I knew I was going to go from big tech to a smaller startup or scale up And I knew what they needed was very different from what big tech was going to look for So that's why DS&A and programming are two completely different skills.
[00:28:32] Lots of people interviewed For DSA stuff were really great at cracking the coding interview and cracking the advanced DS&A problems. But you could tell that they hadn't really built software before and didn't really know how to build software and work in teams that did. And likewise, plenty of people who built amazing software would probably fail an interview.
[00:28:50] You know, that's just very likely.
[00:28:52] So that's why I think it's really important for you to be very clear on your strategy and your goals and build your plan according to that
[00:28:56] Because depending on which kind of level you're going at it's a different kind of [00:29:00] exam Which is totally different from the actual real life skill, okay ?
[00:29:03] Hope that helped and I will make another episode soon about how DSA is used for interviewing and why that's important for certain types of companies and give you the Hiring point of view on why that's happening and why that's actually not ideal at all, but we'll talk about that another day Thanks very much for joining me and i'll catch you next time and don't forget to like and subscribe
[00:29:22] and also If you are interested in getting personally coached, I only work with a very few people.
[00:29:28] I do work with people, but I insist on 6 to 12 months, because frankly I'm sick of the BS out there on social media, and I do not want you guys thinking that this is going to happen overnight.
[00:29:37] We're talking about one of the most advanced complex skills that In human history and one that pays a lot of money So obviously it's not something you're going to get quickly There is a certain amount of craftsmanship and mastery necessary And so I would say you should be expecting 6 to 12 months of work Especially if you've never coded before about 40 percent of my students are ex boot camp graduates who don't find jobs Because they don't know how to [00:30:00] actually stand out in the marketplace and frankly a lot of them don't have Professional level coding skills.
[00:30:04] They have coding literacy, but not professional level skills And so a lot of them do not get jobs
[00:30:08] and then they come to me You So this is a long game. Career transition is not easy and you have to know the rules of the game that you're playing so that you can give it your best shot so that you can play according to the rules and not stand outside and wonder why you're not actually getting a chance.
[00:30:22] All right. Ultimately it's about knowing what you're doing, having the right plan and executing on that plan consistently over a consistent period of time.
[00:30:30] Thank you very much for joining me. I'll see you next time. Bye.
[00:30:32] Just subscribe, you know you gotta do it.