Hi James, I got one more question for you.
There are many engineers who believe they do good work: brainstorm features, design and ship them. When they go home, they sleep happy (unless of course they get paged that PROD is broken :P) with a sense of achievement.
That being said, I've always believed that one should never stop learning.
I have not contributed to any major open source projects so far and I sometimes feel like I haven't done my part yet as a programmer. I do learn things on a daily basis from my colleagues, but I would love to learn more and try to become a better developer than I'm today. Would you say that open source contribution are an absolute must in the journey of becoming a better developer? What are the other ways you would recommend to keep improving the way one writes code?