- ต้องเผชิญกับ ปัญหา race condition ของการค้นหาใน Mintlify มานานกว่าหนึ่งปีโดยไม่สามารถแก้ไขได้ ทำให้รู้สึกไม่สะดวก
- แม้จะเป็นผู้ก่อตั้ง Trieve ซึ่งเป็นผู้ให้บริการระบบค้นหาของ Mintlify แต่ในฐานะ ผู้ให้บริการภายนอก ก็ยังเข้าถึงโค้ดโดยตรงไม่ได้ จึงแก้ปัญหาไม่ได้
- สุดท้ายหลังจาก เข้าร่วม Mintlify ก็แก้ปัญหาเรื่องการยกเลิก query ค้นหาและการซิงก์ผลลัพธ์ได้ด้วยการใช้ AbortController โดยตรง
- เน้นว่าหากเป็นโอเพ่นซอร์ส คงแก้ไขได้ทันทีด้วย PR ซึ่งชี้ให้เห็นข้อดีเชิงปฏิบัติของโอเพ่นซอร์ส
- แม้จะเป็นความไม่สะดวกเล็กน้อย แต่การแก้ด้วยมือเองทำให้ได้รู้สึกถึงความพึงพอใจ และย้ำความสำคัญของการปรับปรุงผลิตภัณฑ์อีกครั้ง
เรื่องที่ไม่สามารถส่ง PR ได้ จึงเข้าร่วมงานแล้วแก้เอง
บั๊กการค้นหาของ Mintlify ที่สร้างความรำคาญมานานเกินหนึ่งปี
- ใน ฟังก์ชันค้นหา ของ Mintlify เกิด race condition ทำให้ query ถูกประมวลผลซ้ำ และขณะผู้ใช้ยังพิมพ์อยู่ ระบบก็ยังแสดง ผลการค้นหาที่ไม่ตรง อยู่ตลอด
- แม้จะเป็นผู้ก่อตั้งของ Trieve ผู้ให้บริการระบบค้นหาของ Mintlify แต่ในฐานะ ผู้ให้บริการ (vendor) ภายนอก ก็ยังไม่มีสิทธิ์เข้าถึง codebase โดยตรงเพื่อแก้ไขได้
- ได้แจ้งปัญหานี้หลายครั้งใน ช่อง Slack ร่วมกัน แต่เนื่องจากมีความสำคัญต่ำ จึงถูกปล่อยทิ้งไว้นาน
- ทุกครั้งที่ประสบการณ์การค้นหาของ Trieve บน Mintlify ดูไม่ดี สิ่งนี้ทำให้ฉันรู้สึกหนักใจกับ ศักดิ์ศรีส่วนตัว และความรู้สึกต่อภาพลักษณ์แบรนด์ในฐานะผู้ก่อตั้ง
เข้าร่วมทีมแล้วแก้ปัญหาเอง
- เมื่อเข้าร่วม Mintlify ได้รับโอกาสเข้า codebase โดยตรง
- ปรับปรุงฟังก์ชันค้นหาให้ใช้ AbortController เพื่อให้ ยกเลิก query ก่อนหน้าได้ทันที
- ตอนนี้เมื่อผู้ใช้พิมพ์เสร็จ คำค้นล่าสุดเท่านั้นที่ถูกนำไปประมวลผลและแสดงผล ทำให้ได้เห็น ผลลัพธ์ล่าสุดที่ถูกต้อง เสมอ
- ความรู้สึกในการได้ แก้ปัญหาด้วยตัวเอง เรื่องที่ก่อความไม่สะดวกมานานเป็นเรื่องที่น่าพึงพอใจมาก
- เหมือนกับ George Hotz ที่เคยเข้าทำงานที่ Twitter ชั่วคราวเพื่อแก้บักป๊อปอัปล็อกอิน ฉันให้ความหมายกับท่าทีแบบแฮกเกอร์/ผู้ประกอบการคือพบปัญหาก็ต้องแก้เอง
- ประสบการณ์ การแก้ปัญหาแบบตรงไปตรงมาและจับต้องได้ แบบนี้ช่วยให้เส้นทางอาชีพก้าวหน้าได้
คุณค่าที่แท้จริงของโอเพ่นซอร์ส
- โดยส่วนตัว ฉันชื่นชอบการพัฒนาและใช้งาน ซอฟต์แวร์โอเพ่นซอร์ส
- หากเป็นโอเพ่นซอร์ส โครงสร้างจะเปิดทางให้ผู้พัฒนาภายนอกส่ง Pull Request (PR) เพื่อแก้บักหรือปรับปรุงฟีเจอร์ได้โดยตรง
- หากฟังก์ชันค้นหาของ Mintlify เป็นโอเพ่นซอร์ส ปัญหาที่ค้างอยู่นานกว่าหนึ่งปีก็คงถูกแก้ผ่าน PR ได้ ทันที
- โมเดลซอร์สปิดมีข้อจำกัดสำคัญว่า การปรับปรุงสามารถเกิดขึ้นได้ต่อเมื่อมีสิทธิ์เข้าถึงโค้ดเท่านั้น
- ยอมรับคุณค่าของการให้ "สิทธิ์ในการเข้าถึงทันที" ในสภาพแวดล้อมโอเพ่นซอร์ส โดยในขณะเดียวกันก็เข้าใจความต่างของโมเดลธุรกิจในแต่ละบริษัท
ความคุ้มค่าจากการแก้ไขด้วยตนเอง
- สาเหตุที่ การค้นหาของ Mintlify ลื่นไหลและตอบสนองดียิ่งขึ้น ก็เพราะการปรับปรุงนี้โดยตรง
- จากการแก้ bug เล็กๆ ที่ค้างคาหนักใจมานานด้วยตัวเอง รู้สึกถึงความพึงพอใจจากการ มีส่วนร่วมให้ผลิตภัณฑ์พัฒนาไปข้างหน้า
- จากประสบการณ์นี้ เห็นชัดว่า กระบวนการแก้ปัญหาเล็กๆ อย่างต่อเนื่อง แม้จะเล็กน้อยก็ทำให้ผลิตภัณฑ์ดีขึ้นอย่างมาก
- การเปลี่ยนแปลงเล็กๆ ที่แก้ด้วยตัวเองสะสมมากขึ้น ทำให้ ประสบการณ์ผู้ใช้ดีขึ้นแบบก้าวกระโดด
- ในอนาคตอยากสร้างผลิตภัณฑ์ที่ดีขึ้นเรื่อยๆ ผ่านการ สะสมการปรับปรุงเล็กๆ เหล่านี้
ยังไม่มีความคิดเห็น