From 9822fdb951be32f8017fadbd69d8ac58a404ac04 Mon Sep 17 00:00:00 2001 From: Rushitha Penikalapati Date: Mon, 22 Apr 2024 15:50:50 -0400 Subject: [PATCH] Create 2024-04-21-week13.md --- _posts/2024-04-21-week13.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 _posts/2024-04-21-week13.md diff --git a/_posts/2024-04-21-week13.md b/_posts/2024-04-21-week13.md new file mode 100644 index 0000000..530b1c1 --- /dev/null +++ b/_posts/2024-04-21-week13.md @@ -0,0 +1,26 @@ +--- +layout: post +title: Week 13 - The Cathedral and the Bazaar +--- + +"The Cathedral and the Bazaar" not only reshaped how we think about software development, but also laid down some lessons that every developer should consider. + +#### Scratch Your Own Itch + +"Every good work of software starts by scratching a developer's personal itch." This was my favorite lesson, and a powerful motivator in the world of open source. It suggests that the best projects come from developers addressing their own problems and being intrinsically motivated to create solutions that they need for themselves. This resonated with me the most because I've found that without passionate and dedicated project involvement, it's difficult to sustain long-term commitment and drive innovation. + +#### The Wisdom of Reuse + +A very popular lesson among the class was "Good programmers know what to write. Great ones know what to rewrite (and reuse)." This pushes developers to value the existing code, highlighting the efficiency in recognizing the solid foundations which new solutions can be built upon. This idea of reuse and refinement teaches us to look for opportunities where we can contribute to improvement rather than reinvention. + +#### Simplicity in Design + +Another popular lesson was "Perfection (In design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away." This principle of simplicity and minimalism in design is crucial for creating software that is easy to understand, maintain, and extend. It encourages developers to focus on the core functionality and remove any unnecessary complexity or features. + +#### Reflection + +Reflecting on these lessons definitely influenced my thinking. They promote more than the mere concept of coding. They promote a philosophy of software development that values community, reuse, and simplicity. But even after taking away from more than just my favorite lesson, my favorite lesson still remains the same. + +#### Project Progress + +This past week, my group has been feeling a bit stuck. Although we were able to successfully push our changes and create a pull request, we're now facing some challenges with addressing the code review comments. Even after making changes, we're still not able to pass a few tests collectively. As an individual, I'm especially struggling with improving the quality of the unit tests I wrote, as I don't have a lot of experience in that area. However, I hope that we'll be able to figure it out and make some more progress in the next week. \ No newline at end of file