I am Brian Holt. Ask me anything.

View other answers to this thread
Mahaveer's photo

Hi Brian, I'm a huge fan of your Comp Science in 4 hours book! It was the truly amazing with no BS. :D

> My Background:

I'm mainly a JS dev, been a Junior dev for an year now, I've completed YDKJS Series, JS Allonge, Will Senatnce and your JS Courses (all of them) on FrontEnd Masters.

> My Goal:

I wanna be an OS Contributor but am having a really really hard time making sense of code that i havent written

> My Question:

How can someone get familiar with new/complex codebase like that of React, Webpack? Or more like, how can someone get advanced Javascript knowledge to able to understand complex code?

I've heard people saying i lack practice but how do i even practice something like that? i just cant find anything anymore that can help me.

Thanks a lot for reading, have a great day :)

Brian Holt's photo

Hey Mahaveer!

I think the first thing to say is that it's hard. I don't think it's not going to be hard. It's hard to enter someone else's mindset and try to understand what their intent was when they expressed that code.

My process (which may not be the best one) is generally I try to get the project to build and to get the tests to pass first. Once there, I try to pick off a seemingly simple issue to try and figure out or at least understand better. I'll try to find the tests that test that part of the code and read the tests. The tests let you know how the code is intended to work. If it's a bug, I'll write a test case that captures what is broken. I'll then open a PR with just the test case. At the very least, you'll help the core devs by helping them see what's broken. If I understand it enough, I'll try to fix the bug too.

One piece at a time. Learn by being task driven. Don't try to boil the whole ocean at once.

Mahaveer's photo

I did try to read tests but, still couldn't make sense of the code :sweat_smile: , but ill try again, one piece at a time :) Thank you so much, always wanted to have an AMA with you :D