so hi everyone in this video we're discussing my learning framework when I'm trying to learn a new technology what do I mean by technology well full stack development, web 3, webRTC, AI all of these are things that have intrigued me over the past few years and there's a very specific framework that I've used to learn these, Target these get jobs in these and become like pretty good at them so that I can 1. earn money and 2. be very proficient in these skills if you do like my learning framework and want to learn besides me I am launching something very soon if you would like to know about that feel free to subscribe to either my substack, Discord or my telegram Channel that's where I'll be announcing it first and eventually I may or may not release it on YouTube so if you would like to know about this first feel free to join any one of these groups with that let's get right into the video so this video is going to be broken down into five parts in the first four parts I'll be introducing four new terminologies these are goal driven learning learning before earning question driven development and tutorial hell in the fifth part I am going to show you my framework and using these four terminologies in what I am trying to learn next which is writing low latency code in languages like rust and C plus pass so let's begin with the first one the first one is goal driven development so when we get into tech for most people we either take a computer science degree because well a lot of people have told us there's a lot of money here and for most people 99% of the people there is some money based monetary motivation to get into the field of computer science this is very good and that was the case for me as well in fact up until my first semester I did not code at all only in my second semester did I begin to code because I got my first goal which was Google summer of code and more importantly making like $5500 through the summer so what is goal driven learning goal driven learning is when you have a very specific goal in mind which is usually related to money and that's your primary motivation to sort of get into computer science or learn a specific technology for example a goal for me right now is to learn how coding happens in HFT firms and what's the reason behind it well there is some monetary benefit there because these companies pay a lot of money these goals would be very small for example getting a $200 gig on upwork or making it to Google summer of code to make $2500 whatever they pay now or getting like a first 12 lakh per annum package or maybe joining a startup that you've really wanted to and that you know it pays really well in India the reason goal driven learning is good is because since you have an end goal this is like sort of related to IIT jee preparation we have like an end goal of giving an examination which is why very structured learning that happens over two years versus if you don't have an end goal it's very easy to sort of do 10 things at the same time machine learning AI where three full stack development and not do very concentrated learning if you have a goal you know what to do and more specifically what not to do for the next few months so that you achieve that goal once once you achieve that goal you can decide whether this is what you want to do for the rest of your life or if you want a new goal now but if you have a goal you sort of have something to work towards you can see some light at the end of the tunnel which I think especially in Tech which is a very difficult field to understand if you're a complete beginner and just beginning to get into it if you have a goal at the end your motivation is really high through this journey and whatever obstacles come which quite frankly they will especially if you're trying to learn a new technology at least you have something to look forward to at the end of the tunnel you may make it you may not make it but the motivation that you have through this journey is much higher if you have an end goal in mind so I would strongly suggest at this point that you sort of choose a specific goal which could be okay I want my first 12 lakh package or if you're currently working already I want my first remote offer for fifty thousand dollars or if you already make like I don't know 50-60 lakh rupees in India I want my first sort of 100K offer 200k offer from a company in the US These are nice goals that I sort of keep in my head as well and the reason I think they work is because we're all humans and most of us are like not inherently interested in computer science we're in here for the money if you have a monetary goal in mind it's easier for you to reach there so I would strongly suggest at this point you sort of decide that first of all of course don't be extremely ambitious to begin with and make sure you have a group of people who are targeting the same goal that also makes this journey extremely smooth and that sort of my goal with what I'm introducing very soon with that let's move to the second point the second point is called learning before earning this is something that a senior of mine introduced to me I've talked about the senior a few times on my channel my senior the person who was laughing in the last year in my contributions uh this time saw this email that guy was like he's a Super Genius, he did GSoC thrice not even twice back then you could do this or three times I saw the senior had done GSoC Thrice he had the best offers in India yet he decided to go for his Masters in the US completed his Masters worked at Facebook AI for like a few years and now is a very well positioned to make a lot of money in the coming Bull Run in fact this is the senior I'm going to be talking to when I start to learn AI and he'll sort of guide me on what to do what not to do and this decision of him not taking a job in India and going for his Masters learning before earning is something that sort of served him very well so you have a very long career of 40 years if you have to take breaks in the middle you should do it if you think it will benefit you in the long term feel free to take a pause decide what you want to do next and then maybe Sprint more practically let's say if you're getting a job offer for three lakh per annum from some service based company and if you feel like upscaling on the next six months and then getting a job that will pay you like 12 lakh per annum I think that's a decent compromise to make again everyone's situation is different you may or may not be able to take this bet but as I said the senior had the best offers in India and he did not really belong to the most affluent family yet he decided to go for his Masters in fact Masters in the US is pretty expensive so he ended up paying a lot of money but still it was the right decision so if you have these sort of small checkpoints in your journey where someone is offering you something extremely below standard or if you're working at a startup where you're not learning anything there's like a lot of grunt work that's happening or you're doing some testing work that you feel is going to get replaced eventually you should definitely spend some time learning even if it takes a few months of you not earning and then eventually what you'll make is much more basically what you would have made in these six months you'll end up making like a month or two if of course your journey is right so you have to make sure you keep other things in mind that I'm talking about throughout the video but if you have the option of learning before earning always go for learning eventually it will have huge implications in your life I'll give another example I've worked at Goldman Sachs was a very good job offer like 30LPA after taxes I would make like 1-1.5 lakh rupees per month which is pretty good in Bangalore but I ended up taking a break of three months deciding what to do next started freelancing and then sort of that offer went up and up if I did not take that leap of faith I'd still be working at Goldman Sachs making like 2 lakh rupees per month or whatever which is also great but taking a break made a lot of sense for me because I knew that was not the right company for me and I could acquire skills eventually that would pay me much more so even though it was a scary decision back then eventually I ended up paying well and so if you have the option of learning and of course have the Liberty to leave a job or not get paid for a few months I would suggest spending some time months or Years Learning and then diving right back into earthing cool with that let's move to the third point so the third terminology I want to introduce is called question driven development this is a term that's been recently introduced and what it means is whenever you're trying to learn a new technology don't dive into tutorials talk to someone who's good in this field or has been working in this field and ask them what they do on a day-to-day basis maybe ask them to break it down into a project then break down the project into multiple small questions and Implement these one by one I'm going to repeat this again if you want to learn a new technology for example you want to learn node.js I would suggest you start with the goal so the goal could be I want to join a startup in India that pays me 12 lakh per annum okay what is the startup use it uses the MERN stack okay how do I learn the MERNstack through question driven development basically ask a person in this company what do you work on on a day-to-day basis and can you break it down into a small project for me if possible could you break the project down into small prompts or questions that can each be implemented in less than 100 lines of code this is sort of the gist of question driven development it's basically you breaking down a very complex project into small subtasks each subtask should be able to be done in less than 100 lines of code and you should do this independently without the help of any tutorial you can look at docs you can maybe talk to chat gbt to understand things from the high level do not look at any tutorial and anyways tutorials are sort of structured in a certain way if you want to break it down into multiple tasks and want to do these individually you won't be able to find a tutorial that will help you out exactly in the end I'll show you the project and the sub tasks that my friend from one of these HFT firms gave me but the idea here is break down a big project into smaller sub projects in fact I have a repo Linked In the description in which I have a bunch of projects for learning the MERN stack or like full stack development and a bunch of small subtasks that you can do each of these subtasks can be done in less than 100 lines of code so do these one by one and this is what is sort of called question driven development where you do not look at a tutorial you solve small problems and then eventually merge all the small problems together to build a very big project and now you understand all of these things from the fundamentals if possible make sure you get this project from a friend who's currently working in the industry at a specific company that you aim to work at with that let's move to the fourth point the fourth terminology I want to introduce here is called tutorial hell it's basically something I did back in the day as well if you have seen this channel called the New Boston it used to be sort of very popular back in the day when I was in college I downloaded the complete Android development playlist and I basically brought it back home because I did not have good internet here and I went through all these tutorials where I followed what he was doing this is a very nice Channel and tutorials generally are great in fact I've created a few tutorials of mine as well on full stack development but if you look at my tutorials I usually don't do everything I sort of leave things for you guys to implement by your own and that's sort of one way to do tutorials generally I don't recommend looking at tutorials at all because you're following someone you're basically coding what they're doing it's just like a very manual task and you're sort of not learning how things are happening under the hood for example this playlist sort of helps you make a very nice mobile application which I did back in the day but if you ask me to code such an application today in fact even if you ask me how I can like create a simple application with a button in Android you won't be able to do it why because I haven't built real world projects by myself I've just copied someone in fact looked at the screen on the left hand coded the same thing on the right that will usually not get you anywhere that's sort of what a tutorial hell is you looking at a tutorial following the tutorial completely but you're still not able to get a job or reach your goal or sort of build projects that these companies want you to build because while you've sort of followed someone you know what they have done and if someone asks you to build the same thing you might be able to do it that too frankly for a few days because it's sort of muscle memory that you were able to follow them if someone asks you to build the same thing in like two months you won't be able to do it because well you've forgotten about it sort of the JEE way of learning you're sort of cramming a few things while following a tutorial so strong recommended addition to not follow tutorials work on project-based learning like look out for a lot of assignments see how real world projects are built and then start building them on your own of course don't start with a very complex project how should you start you should start with question driven development breaking it down into subtasks and then implementing them one by one cool with that let's move to the fifth point something you might have been waiting for which is how I'm learning to become a low latency developer in one of these HFT firms so what's my goal my goal is to get a 4 CR offer like a very big offer or like more specifically like understand how things happen but why do these companies pay so much money through these hft developers why is every year like someone from IIT making getting like a very Hefty package in New York or Chicago where these companies are based and what exactly they do on a day-to-day basis so I talked to a friend who works in New York in one of these companies and he gave me a good rundown of what happens in these companies and it was frankly very overwhelming so I asked him to break it down into a small project the project that he gave me is build a very simple trading system more specifically build like a real-time system that lets you sort of send some data from your client to a server and then lets other people subscribe to these updates so if you've ever looked at zerodha and I mean you sort of know where I'm getting with this I sort of contribute to zerodha in my last video as well zerotdha's application lets you place trades which is like give me 10 stocks of tata and then those trades are executed and the price sort of goes up and down you can see that price in real time he basically asked me to build something similar doesn't have to be a trading application he said it can be a simple sat application as well as long as it's written in C, C++ or rust one of these languages and the way he broke it down for me was 1. understandhow websocket servers are written inthese languages 2. understand how data transmission happens 3. understand how data compression happens and 4. understand how you can reasonably distribute your servers in order to have minimum latency when you are trying to place an order so that's my goal for the next one month or so I'm going to implement this application that sort of looks similar to a trading application similar to Zerodha, written in rust has a websocket server lets you place an order and I have to make sure that I place the order with the minimum latency which happens if I am very close to the server or I'm sending very small data so I have to compress data as much as I can I've also linked this project in the repo in the description so feel free to look at it with that hopefully you understand my learning framework I'll make another video in a month where I'll tell you how I was able to build the project what project I built I'll open source it feel free to look at that as well with that let's end the video I'll see you guys in the next one bye