Week 11 -- Discussion on Cathedral and the Bazaar, Continued Project Contribution
For Monday’s class, we had presentations by each group describing the progress of our open source project contribution. On Wednesday, we had an inspiring seminar centered on Cathedral and Bazaar. We shared thoughts of programming, the industry, etc. It was informative hearing our classmates’ ideas from various perspectives. At the same time, my groups is constantly making contribution to Sklearn, mainly contributing to automatic parameter validation.
Cathedral and the Bazaar
During the discussion, what impressed me most is to “plan to throw one away.” This sentence conveys the idea that to accomplish a task, we should just start doing it, knowing that we would have to throw away or change the first version.
I myself was actually afraid of facing the situation that I have to abandon a whole version and start over, because I am afraid of getting things messy and being unable to follow the plan. Maybe I was a little lazy at the same time. So I was the kind of person who has to get every concept clear and have a detailed plan first before really making something. Sometimes this worked, but sometimes more problems occurred when I was truly doing the task.
After seeing this sentence and noticing the philosophy it wants to convey, I realize it is necessary to get one’s hand dirty earlier. There are lots of things that we cannot learn without in flesh practice. The time we spend on tasks that are destined to be thrown away is not a waste. It is how we learn. At the same time, as an answer to my previous concern of getting things messy due to numerous changes, I would now say that, as long as we keep track of our goals, what we have done and what each part in a project is for, then things would not get messed up just because we changed a lot from previous versions.
This also reminds me of an interview experience. I asked the interviewer for suggestion for college students, as I felt that what we learned at school is not enough to prepare us for real tasks in the industry. His answered that we can just do more things, mess around more, so we would know how the concepts in the textbooks truly work. So, I would regard this “plan to throw one away” as a guidance for me in future study and career.
Contribution to Sklearn
This week we continued to focus on doing contributions to parameter automatic validation. I have several PRs merged. There are not many new issues currently. Some issues are concerning the increased runtime after adding param validation, but the core developers are still trying to find the specific cause.
At the same time, it is a bit troublesome that the maintainers are also more willing to review easy PRs (like param validation). Some of our previous PRs are still not reviewed. It is understandable, and it doesn’t change the fact that Sklearn is a welcoming community in general.
For the next week, we aim at finding new issues to work on, for example, doing some harder tasks like fixing a bug or adding a feature.