Learning Things Deeply Enough
Today I was talking to someone I got introduced to via Contrary regarding learning things deeply enough. It's a hard, because many times in the past, especially when doing Dev-OPs or Fullstack related work I never felt like I truly grasped how things worked. For example, recently I've started working on a project using both D3.js and React, and since both are frameworks that manipulate the DOM it's unclear how they will behave together. For example, if React were stateful, would it be possible to make its virtual DOM outdated? What would that do? I'm sure that by reading a lot of docs I could learn these things, but it's rather painful and not helpful to my bottom line. Sometimes it feels like I'm stuck between either feeling unsatisifed at my lack of understanding (of things which are abstracted away) or unsatisfied at my mostly useless understanding of these things. In general I've skewed towards the first of these, but in general I think it's better and important to have a good middle ground. I'm not sure what the answer is, but I think it certainly will involve some patience and willingness to sacrifice the ability to learn things other than that which you are focusing on right now. I've been considering the idea of trying to recruit friends to organize learnathons: like hackathons but for learning (usually) how certain things work that underly important aspects of my life (whether technical or otherwise). This may be useful, but it's important to be very focused, which is generally difficult to me. Right now I'm figuring out my higher level goals and hope to motivate my incremental steps with those goals. Once I have a better way to organize my educational endeavours I'll probably post some thoughts here. Generally, now, my strategy is to only learn things important to my needs or which give me supreme optionality. Also, I try to only learn things that reqire incremental steps from my current knowledge purely due to the lack of viability of the alternative. I think somewhere I can improve is in recruiting the people and learning resources I need when I am alone (including whatever will motivate me to keep going, whatever or whoever will help me understand what to focus on, the most effective curriculums out there, etc...).
PS I think also doubling down on fundamentals tend to be useful. The main times I have been lost or failed academically or whatever has been when I lacked fundamentals (or they were not strong enough).
PPS I tend to be regretful, sometimes... often when I am in a depressive state of mind (usually a few days or week at a time)... about what I did at MIT and even before. Some main mistakes come to mind. I just felt like listing them out. They are mainly MIT mistakes and I hope that if you go to MIT you will find your way around them better.
- Skipping classes because I felt ashamed at not having a higher pre-existing academic/intellectual ability. This was terrible because it meant that I didn't learn from those classes and then I fell even "further behind." It also sabotaged my GPA reinforced my belief that I did not deserve MIT.
- Applying to too many jobs and not setting apart time to study for the interviews. This was bad because in some years I had as many as 30 interviews and job-related events (etc). The rat race really got into my head because I felt ashamed at not having the pre-existing ability for a Google Research or equivalent internship position my freshman summer and I wanted that quick fix. Of course there was no quick fix and the logistical hassle of repeated interviews hurt my academic ability (I lost time) and reinforced the belief that I was unintelligent because I just had no preparation (I couldn't study enough because I had no time). In general I recommend to anyone to (1) apply to like 2-3 jobs, (2) do lots of Leetcode hards and teach yourself algorithms, because it's really doable (it's actually just practice), (3) focus on the longer term future, (4) keep in mind that big tech is overrated, though I recommend Google over Amazon no matter what the pay differential is (as long as your team has good people; remember that it's the people that count).
- Not opening up about my problems. I still haven't fully openned up, but I've felt pretty alone for going on five years now and that's because I don't communicate much about these things. Still working on this.
- Not sticking with a group at a time. I made too many shallow friends, especially early on, and less deep friends. Instead, it's better to create deep friendships with a small circle, and then use that as a home base to expand your network outwards, because you have that group of people you can come back to if you feel uncomfortable, lonely, or generally bad. I'm still working on this (my execution is rather bad and the pandemic did not help, espcially given my social ineptitutde before MIT). For me, I think it would have helped me to have joined a Frat (also, social obligations are good).
- Trying to be someone you are not, always, and now. It is OK to want to change yourself. I actually think it's even OK to want to change you personality. However, you need to understand that this is going to take a LONG FUCKING TIME. I tried to be very, very outgoing at MIT early on, and I think this made people think I was extroverted. This is absurdly false. However, it is also somewhat deleterious because people read into your actions differently. Once I ran out of energy I think people thought I was like not as friendly to them anymore or something. Generally, have that close circle that you can be authentic too and then perform however you want elsewhere. You can become more extroverted, but understand that if you want to be more extroverted 24/7, you can'd do that right now. Otherwise, you will be screwed. Speaking of which, don't associate exclusively with people who are not your type.
- Wallowing in self pity when I could just fix the problems. This is tempting because "just fixing the problems" works over the span of weeks to months to years, while wallowing in self pity (especially if it comes naturally to you, subconciously, like it does to me) takes little to no effort and gives you immediate justification. Avoid wallowing at all costs. It will ruin you. I'm still working on this.
- Unless needed for operational reasons, avoid feeling the need for "justification" to do something or be a certain way.
- Do not beat yourself over dumb shit. Do not beat yourself over dumb shit. Do not beat yourself over dumb shit. This is really important, because if you do this, you will turn little losses into big ones. I used to have a moralistic attitude and felt that it was like more immoral to celebrate victories than to hate myself over losses. This is so, so, so, so bad I cannot emphasize enough how much you should avoid this.
- It's OK to apply to 20 clubs and join 8 your freshman fall but understand that YOU CANNOT DO MORE THAN LIKE 2 AFTER THAT. Also clubs tend to be overrated.
- Yea, fake it till you make it only works for non-technical people (aka dummies) and showbiz, but at the same time, please stop caring about whether you deserved to get in. No one cares. It doesn't help whatever you come up (whether you did or you didn't). What's in the past is in the past.
- Don't be intimidated by people. Don't shy away from people who are better than you. Don't measure things by who is so good at what right now.
- How skilled you are at a specific technical ability right now is basically irrelevant and no one cares and please (again) don't beat yourself up about it.
- You have to be willing to die for things sometimes (at least, have this attitude). However, you also need to be willing to lose. Know when to truly become emotionally invested in an outcome and when not to. For small parts of a big journey, probably avoid becoming too invested, but do be invested in the journey, and do be invested in the parts that have to have to have to happen for that journey.
- Don't trust PNR. PNR is bad. PNR makes you bad.
- Do your PSETs alone and get your intellectual collaboration from more meaningful things. Otherwise, you'll be technically bad and then feel bad about it.
- Regarding skipping classes, please, ACCEPT WHERE YOU ARE. Accept where you are. Accept where you are. How can you get better if you deny where you are? Like, if I'm in a swamp and I think I'm in a mountain and I'm going to use the wrong tools for the job, so... accept where you are?! Hello?!
- Get others to help you make decisions, especially if you are emotionally driven (esp. in negative ways) because you cannot be rational if you have emotional anti-patterns (like I did and still do).
- Get help for whatever you need help for. I'm literally having daily calls with my parents to keep my on track with my goals. I'm 21. Hey. I don't fucking care anymore. Do what you need to fucking do to fucking win at whatever you fucking want to do. If you're ashamed of needing help, great! Feel ashamed and get help. Who gives a shit. You feel bad, we all feel bad. People live and die depressed. You feel bad once, it's nothing compared to what I'm sure certain people go through. Literally just DO WHAT WORKS and succeed. Generally, find your buttons and press them for the right causes.
- Learn to prioritize.
- Learn to do boring things for an outcome.
- Learn to copy what works. Actually, PLEASE JUST COPY. JUST COPY WHAT WORKS. SIMPLE GOOD. COMPLEX BAD. COPY COPY COPY! I have this terrible antipattern (and had it since basically I got to MIT), where I was very arrogant and for four years I forgot how to learn. Because I don't like being told what to do or being explained to like I can't figure it out myself, I literally stopped learning shit sometimes and just tried to figure it out and look where that got me.
- Curb your fucking arrogance.
- Knowledge is so fucking good. You have no idea how underrated knowledge has been for me. I always thought "hey you can just rederive it on the test" and I came to MIT and got destroyed. Knowedge, knowledge, knowledge. Get knowledge. Logic is easy. Reasoning is easy (as long as you are emotionally stable). Get knowledge. In general, you need to satisfy things in a certain dependency order. For example, you need knowledge before you can reason about it, and you need emotional stability before you can make good decisions and you need food and shelter and water before you can become Elon Musk or whatever. So, make sure that the fundamental shit WORKS before you move on to the other shit that depends on it.
- Pick who you want to be with and actually be a good friend and be with these people and not dilly dally with multiple groups.
- Systematization, is generally not that good. You think it's great because (1) you don't need to ask for help, and (2) it makes things so obvious, so fucking operationalized that you could have done it (you think) when you were in kindergarten, but systematization is not that useful, especially in social life, in relationships, etcetera. What you really need is a way to be (1) not distracted, (2) motivated. Just focus on those two things and pursue your goals from them.
- Be honest to yourself about what you want and why you do things.
- Copium is OK in only very prescribed situations. Do NOT use copium (idc what your copium is) because it stifles information flows that motivate you to get out of your shithole. If you de-motivate yourself just to feel better, nothing gets better, so feel shit and embrace feeling shit because you can't get better if you don't feel either (1) very shit about not being better, or (2) very excited about getting better, the latter of which won't happen every day, but I promise you the former can happen all the fucking time no problemo, so use it to your advantage.
- Don't make plans you won't follow.
- Get a relationship, get some life skills. This is just an application of the things above, but like really c'mon bro. What the fuck.
- Whatever value system your peers have: don't fucking trust that shit. Use your own value system. I somehow came to believe you had to be some sort of hard partier drunk outgoing master of the universe character when all this did was make me have the worst fucking summer of my life in Seattle 2019 (though it also had some of its upsides).
- Don't assume that you have to go agianst the grain of society. Don't assume you have to go for the grain of society.
- You can't be everything. Don't try. You can't know everything. Don't try. Etcetera.
- Real changes come from the identity. In general, make sure the subconscious information flows you get are good. This is very, very fucking important.
- Leave your fucking comfort zone. Don't be a moron.
- Whenever you are trying a bunch of things and exploring a bunch of things don't think for a second that you truly are "in" any of these until you actually commit to a very small number of them.
- Restlessness is good. Be patient though. You can change more in a month if you are patient than in a year if you are not.
- Just use social media. It's OK. If you never check this shit then given the direction our society is headed it'll be truly hard to interactive with people consistently.
- Don't make things harder. It gives you nothing. Do more.