One of my students asked me recently how I learned web/app development. One thing I mentioned was looking through open source code — even stuff I have barely an understanding of. There’s always something I take away.
Take for example my favourite editor VS Code. Here’s a bug fix for a performance issue. Sounds tricky! I wonder how they improved that?
I click on the link next to it, and it opens up the GitHub issue for it.
I then find the commit linked from there that corresponds to it, and scroll through the code.
I peruse through at a breeze, trying to get a sense of the complexity of the changes needed. Is the code easy to follow? Has it been made harder to follow due to this change? Can I get a sense of the basic logic going on? (From what I can tell, this commit is being more precise about what ranges to work on and reducing the conditions where it does something)
- Got a sense of the code required for an issue described like this one was
- Got an idea of whether I’d like to work on problems like this or not
- Saw real hairy code used in a live app, which you usually don’t get exposed to in a tutorial
- I also got a sense of how they talked about the issue, whether they described it as ‘an easy fix’ or ‘freaking hard’, and what edge cases they discovered
As you can see, it’s not just the code that you get an insight into. It’s the way top level teams approach problems in their communication and collaboration — many issues will have discussions that are resolved only after months. You are also getting exposed to problems that you might not have the experience to solve today, yet you are able to see the solution.
I encourage you to study the open source world, whether it’s web libraries such as Rails or Node.js, CSS frameworks like Bootstrap (even if you don’t use it!), or the core application library of iOS/Mac. It’s like being able to peer over the shoulders of the top people in our industry.
Coder Factory Academy: Meet Australia’s first and only accredited fast-track coding bootcamp! Our immersive course helps students acquire in-demand skills through hands-on, project-based training by industry experts over 6 months. Become an employable junior developer.
Now enrolling domestic & international students in Sydney & Melbourne! Study now, pay later!
Are you a woman interested in coding? Check out our Women in Tech Scholarship!