• ต้องเผชิญกับ ปัญหา 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 เล็กๆ ที่ค้างคาหนักใจมานานด้วยตัวเอง รู้สึกถึงความพึงพอใจจากการ มีส่วนร่วมให้ผลิตภัณฑ์พัฒนาไปข้างหน้า
  • จากประสบการณ์นี้ เห็นชัดว่า กระบวนการแก้ปัญหาเล็กๆ อย่างต่อเนื่อง แม้จะเล็กน้อยก็ทำให้ผลิตภัณฑ์ดีขึ้นอย่างมาก
  • การเปลี่ยนแปลงเล็กๆ ที่แก้ด้วยตัวเองสะสมมากขึ้น ทำให้ ประสบการณ์ผู้ใช้ดีขึ้นแบบก้าวกระโดด
  • ในอนาคตอยากสร้างผลิตภัณฑ์ที่ดีขึ้นเรื่อยๆ ผ่านการ สะสมการปรับปรุงเล็กๆ เหล่านี้

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น