How to level up you engineering skills?
A good way for developers to level up is, instead of reading the same beginner tutorials on sites like Medium and blogs, to read documentation and source code of libraries they use.
I often open the source of code of Ruby on Rails, RSpec and React.
Recently, I have been reading Mastodon and React-Flow.
What will one gaining by doing so?
- Learn to read code. Most of the time, developers are not writing code.- they are reading.
- Learn techniques in the real world. Books and blog posts often give us simplified version it is more understandable. Real life is messy.
- Find out about useful helpers in those libraries. For example, even today, I found an about a new Rails-RSpec matcher built years ago. This will save me a lot of time in the future.
- Understand everything is built by other humans. This one is more meta. So often, I see junior developers take for granted that library works this way.
- Debugging. I can't recall how often I had to dive deep into the library source code to trace a weird behavior in our system.
Personal story
This was around 2005 or 2006. Back then, I was trying to learn JavaScript. Every piece of JavaScript code seemed to me like magic.
The first time I had "I got it and now understand what this is doing" was when I was reading the source code of Prototype.JS. This was while reading some "prototype" and "DOM" code. I can still recall the joy I felt at this moment. ?