“หนึ่งในคุณสมบัติของผู้ที่จะเข้าประมูลงานนี้คือต้องมีประสบการณ์ในการวางระบบมาอย่างน้อย 2 ปี”
มันคือเงื่อนไขในเอกสารการยื่นซองประมูลงานจากบริษัทใหญ่แห่งหนึ่ง
อ่านปุ๊บก็รู้สึกเอะใจเล็กน้อย ตรงไหน? … ก็ตรงที่มันเป็นเงื่อนไขที่การันตีคุณภาพของงานไม่ได้เลย เพราะจริงๆแล้วควรระบุว่า “ต้องมีประสบการณ์ทำซอฟต์แวร์ระดับองค์กรมาก่อนอย่างน้อย 2 ปี”
เพราะถ้างานนี้มันเป็นเรื่องของซอฟต์แวร์และฮาร์ดแวร์ การระบุแค่คำว่า “ระบบ” มันกว้างเกินไป และถ้ามองให้ลึกกว่านั้นอีกนิดแล้วพบว่างานนี้คืองานที่ต้องการซอฟต์แวร์เฉพาะทางเพื่อแก้ปัญหาที่เฉพาะเจาะจง คำว่าวางระบบจึงไร้ประโยชน์ คำถามจึงควรเป็นว่า …
- คุณเขียนซอฟต์แวร์มากี่ปีแล้ว
- คุณรู้มั้ยว่าการเขียนซอฟต์แวร์ที่ดีต้องทำอะไรบ้าง
- คุณมีทีมงานที่มีประสบการณ์ที่จะทำทั้งแพล็ตฟอร์มเวปและโมบายแอพมั้ย
- คุณเคยใช้คลาวด์มาก่อนรึเปล่า
- คุณมีโร้ดแมปการพัฒนาโปรดักท์ตัวนี้ไปทางไหนต่อ
- หรืออะไรแบบนี้
เพราะคำว่าวางระบบสั้นๆอาจจะตัดโอกาสทีมที่ทำงานเก่งแต่ขาดประสบการณ์ส่วนน้อยตรงนี้ไปอย่างน่าเสียดาย เช่น ฉันยังไม่เคยวางระบบกล้องวงจรปิดแต่ฉันเขียนซอฟต์แวร์คัดแยกและระบุหน้าคนมาสามปีแล้ว หรือดิฉันไม่เคยทำเครปมะขามเปียกค่ะ แต่ดิฉันเป็นผู้ช่วยเชฟขนมอบมา 10 ปีแล้ว
ประสบการณ์มีในแง่ของความลึกและเฉพาะเจาะจง กับในแง่ความกว้างและประยุกต์ใช้ได้ทั่วไป งานนี้เราต้องการแบบไหน? อะไรคือปัญหาและความท้าทายสูงสุดของงานนี้? เราต้องกำหนดคุณสมบัติให้เหมาะสมมิฉะนั้นมันก็เหมือนว่าไม่ได้การันตีผลลัพธ์อะไร
เรากำลังจะเข้าแข่งขันทำอาหาร เราจะเลือกเชฟที่เก่งและเชี่ยวชาญการทำทาร์ตมะยมหรือคนที่เป็นเชฟของหวานมา 5 ปี? ไม่ต่างกัน … เราจะเลือกคนที่มีประสบการณ์ติดตั้งกล้องวงจรปิดหรือคนที่เขียนเอไอ ดีฟเลิร์นนิ่งมาจนเก่งกาจ?
ซอฟต์แวร์คือเบื้องหลังของแทบทุกเรื่องในปัจจุบัน คำว่าประสบการณ์จึงไม่ควรมองข้ามคำว่าซอฟต์แวร์ในทุกกรณีเพื่อป้องกันเหตุการณ์ที่ว่า “วางระบบได้ แต่แก้ซอฟต์แวร์ไม่เป็น”