สวัสดีครับ
ผมเป็นคนที่ทำงานด้าน Network และ Cybersecurity อย่างตรงไปตรงมาตามทฤษฎี ตั้งแต่ Design, Implementation, Integration และ Trouble shooting ซึ่งแน่นอนว่า ต้องทำงานร่วมกับหลาย ๆ ฝ่าย ผมทำงานชัดเจน อ้างอิงทฤษฎีเป็นขั้นเป็นตอน จนผู้ร่วมงานสังเกตได้ และมักบอก (เหมือนกับจะหวังดี) กับผมว่า "พี่ครับ...ทฤษฎีบางทีมันก็ใช้ไม่ได้ในทางปฏิบัตินะครับ"
มันเป็นอย่างนั้นจริง ๆ เหรอ...
ยกตัวอย่างเช่น
• ตอนนี้ระบบมันล่มแล้ว ไล่ Reboot อุปกรณ์ทีละตัวเลยดีมั้ย หรือลองถอดสายเส้นที่เพิ่งเสียบดี นั่งดู log มันจะช้านะ
หรือ
• ทฤษฎีมันใช้กับโปรเจคนี้ไม่ได้ งบมันไม่พอ
หรือ
• ลูกค้าเขาอยากได้แบบนี้ เขาไม่สนว่ามันเป็นไปตามทฤษฎีหรือเปล่า
คุ้น ๆ มั้ยครับ พอจะรำลึกได้หรือเปล่าว่า ประสบการณ์ของเราวันนั้น วันที่เราอยู่ในสถานการณ์ที่เราต้องเลือก ระหว่าง ทฤษฎี กับ สัญชาตญาณ วันนั้นเราเลือกอะไร
ไม่ได้แปลว่าทำตามทฤษฎีจะเป็นคำตอบที่ถูกเสมอไป และไม่ได้แปลว่า การใช้สามัญสำนึกจะเป็นเรื่องผิด สำหรับผม ผม มีทั้ง 2 แบบครับ คือทำตามทฤษฎีในหลายครั้ง ทำตามสัญชาตญาณในบางที สิ่งที่น่าสนใจคือ วิธีคิดครับ ตอนไหนควรเลือกยึดมั่นตามทฤษฎี ตอนไหนควรทิ้งทฤษฎีเอาไว้แล้วใช้วิจารณญาณ วิธีคิดนี่แหละครับที่สำคัญ
เมื่อไหร่ใช้ทฤษฎี
สมมติว่า คุณได้รับคำสั่งให้ติดตั้งเซิร์ฟเวอร์เข้าตู้ ปรากฎว่า ตู้นั้นเป็นตู้แบบตื้น แต่เซิร์ฟเวอร์ของคุณเป็นแบบที่จะต้องติดในตู้ลึก อ่ะ...ทำไงดี เดินอ้อมไปดูหลังตู้ อ้าว...เซิร์ฟเวอร์ 4 ตัวที่มีอยู่ก่อนแล้ว มันเป็นแบบยาวทั้งนั้นเลยนี่หว่า ว่ากันง่าย ๆ เซิร์ฟเวอร์ 4 ตัวตูดโผล่ยื่นออกไปหลังตู้อยู่ก่อนแล้ว มันจะมีตูดโผล่เพิ่มอีกซักตูด จะเป็นรัยปั๊ย...ไหน ๆ ฝาตู้ด้านหลังมันก็ไม่เคยปิดมาเป็นปีแล้ว
เรื่องนี้สอนให้รู้ว่า ทฤษฎีใช้ไม่ได้ กับระบบไม่ทำตามทฤษฎี ก็คือถ้าระบบได้เตรียมตู้ลึกเอาไว้ เราก็คงไม่ต้องเล่นนอกตำรากันแบบนี้
ย้อนไปเมื่อ 2 ปีที่แล้ว ณ ตู้เดิมที่ยังไม่มีเซิร์ฟเวอร์ติดตั้งอยู่เลย เพราะมันคือตู้ B เป็นตู้ตื้นที่เอาไว้ติดตั้ง Network equipment และ Network cable ส่วนเซิร์ฟเวอร์นั้นอยู่ในตู้ A เป็นตู้ลึกที่ค่อนข้างเต็มแล้ว ตู้ A ใส่เซิร์ฟเวอร์ ตู้ B เป็น Network equipment ระบบออกแบบเอาไว้อย่างนี้
จนวันหนึ่ง มีการสั่งซื้อเซิร์ฟเวอร์ใหม่ 4 ตัวโดยที่ไม่ได้ผ่านการคิดอย่างรอบคอบ ก็เลยเพิ่งมารู้ว่า ไม่มีที่เหลือในตู้ A แล้ว ครั้นจะทำเรื่องขอซื้อตู้เพิ่ม ก็ไม่รู้ว่าจะต้องรออนุมัติกันอีกนานเท่าไหร่ อ่ะ...ตู้ B มีที่ว่าง เซิร์ฟเวอร์ใหม่ 4 ตัวก็ติดมันซะในตู้ B กลายเป็นเซิร์ฟเวอร์ตูดโผล่ ส่วนตู้ B ที่เคยปิดฝาตู้เรียบร้อย ก็กลายเป็นตู้เปิดฝาหลังตั้งแต่วันนั้นเป็นต้นมา
เรื่องนี้สอนให้รู้ว่า การออกนอกทฤษฎีในวันนี้ มันพาลทำให้คนอื่นที่มาต่องาน ต้องออกนอกทฤษฎีด้วยในวันข้างหน้า ยิ่งเดินระบบไปก็ยิ่ง Off road นอกตำรากันมากขึ้นเรื่อย ๆ เรามาดูกันต่อว่า ตู้ B จะมีอนาคตอย่างไร
แล้วเรื่องมันก็มาเกิดวันที่ไฟดับ UPS ที่เตรียมเอาไว้ เพื่อให้ตู้ B ทำงานต่อได้ 1 ชั่วโมง กลับสำรองไฟได้แค่ 10 นาทีเพราะมันดันมีเซิร์ฟเวอร์ 5 ตัวช่วยกันดูดไฟจาก UPS ไปจนเกลี้ยง เซิร์ฟเวอร์ยังไม่ทันได้ shutdown ไฟหมดซะแล้ว ไม่แตกต่างจากการกระชากปลั๊กของเซิร์ฟเวอร์ทั้ง 5 ตัวซะงั้น ส่งผลให้ OS พัง Boot ไม่ขึ้นไปซะ 1 ตัว
ส่วน Network equipment แทนที่จะทำงาน 1 ชั่วโมงก็ดับไปใน 10 นาที มาดูเซิร์ฟเวอร์ในตู้ A เขามี UPS ตามขนาดที่ออกแบบเอาไว้แต่ต้น ช่วยต่อลมหายใจออกไปอีก 1 ชั่วโมงอย่างไร้ความหมาย อ่ะ...ก็ Network equipment มัน Down ไปหมดแล้ว เซิร์ฟเวอร์มันตื่นตาสว่างอยู่คุยกับใครได้
เรื่องนี้สอนให้รู้ว่า การออกนอกทฤษฎี แม้จะดูเหมือนทำงานได้ ไม่ช้าก็เร็ว มันจะส่งผลลบในทางใดทางหนึ่ง แบบที่เรามักจะเดาไม่ได้ว่าจะเกิดอะไรขึ้น แถมบางทีความวิบัติเกิดขึ้นแล้ว ก็ยังดันวิเคราะห์ไม่ได้ด้วยว่า สาเหตุมันมาจากการออกนอกตำราที่จุดใด เพราะมัวแต่ไปโฟกัสที่ความเสียหาย จนลืมยกทฤษฎีมาเป็นหลักในการค้นหาสาเหตุ
ปัญหาของตู้ B ถ้าคิดแก้แบบง่าย ๆ ก็แค่ซื้อ UPS ใหม่ ใหญ่กว่าเดิม มาเพิ่มให้ตู้ B นั่นคือตัวอย่างที่ดีของการโฟกัสที่ความเสียหาย โดยไม่ใช้ทฤษฎีมาวิเคราะห์หาสาเหตุ มองไปที่ UPS ว่ามันเล็กไป แต่ไม่ได้ให้ความสำคัญกับทฤษฎี ที่ชี้ชัดว่า เซิร์ฟเวอร์ไม่ควรอยู่ในตู้ B ตั้งแต่ต้น
ทฤษฎีจะใช้ไม่ได้ในทางปฏิบัติ.............
ถ้าเป็นการปฏิบัติงานกับระบบที่ไม่เคยทำตามทฤษฎีมาก่อน ความพยายามที่จะตบระบบให้เข้าตามตำราอีกครั้ง มักใช้ความพยายาม ใช้แรงงาน ใช้งบประมาณมากกว่าการเริ่มต้นอย่างถูกต้องตั้งแต่วันแรก และแม้ระบบจะทำไว้ดีถูกต้องตามทฤษฎีเพียงใด ขอให้มีแค่ครั้งเดียวที่มีคนคิดว่า "ทฤษฎีมันใช้ไม่ได้" แล้วเริ่มงัดเอา "วิธีที่ไม่มีชื่อเรียก" มาใช้ ระบบนั้นก็จะกลายเป็นครึ่งผีครึ่งคนที่ไม่มีใครรู้จัก ไม่มีใคร Follow ระบบนั้นได้ เป็นภาระกรรมให้คนต่อ ๆ ไปต้องออกนอกทฤษฎีด้วยความจนใจ จนกว่าจะมีใครใจกล้า ยอมเงินเสียเวลา รื้อระบบกลับเข้าที่ สู่ทฤษฎีที่ถูกต้องอีกครั้ง
ทฤษฎีใช้ไม่ได้ อันนั้นเรื่องนึง แต่ความไม่เข้าใจในทฤษฎี อันนั้นหนังคนละม้วน พอไม่เข้าใจก็ประยุกต์ใช้ไม่ถูกต้อง แล้วมันก็ทำให้เกิดผลในทางที่ไม่คาดหวัง พองานไม่สำเร็จอย่างที่คิด ก็ไปสร้างข้อสรุปว่า "ทฤษฎีใช้ไม่ได้ในทางปฏิบัติ" หาทางลงให้กับข้อผิดพลาด จนตัวเองหลงเชื่อไปจริง ๆ ว่า ทฤษฎีมันเป็นแค่เรื่องสวยหรูในตำราของพวกนั่งอยู่ในห้อง ไม่เคยอยู่หน้างาน คิดกันไปไกลซะแบบนั้นก็มี
ทฤษฎีไม่ใช่ข้อบังคับ แต่เป็น Guide line ให้เราสามารถหยิบไปปฏิบัติแบบไม่ต้องคิดตามก็ได้ แต่จะดีมากถ้าเราพยายามวิเคราะห์ว่า อะไรทำให้ทฤษฎีแนะนำให้เราทำแบบนั้นแบบนี้ ถ้าเราเข้าใจ เราจะไม่ต้องท่องจำอะไร เราจะไม่รู้สึกฝืน แต่เราจะปฏิบัติงานตามทฤษฎีอย่างเป็นธรรมชาติ เราจะสังเกตเห็นข้อผิดพลาดได้เร็วกว่าคนอื่น เห็นมันตั้งแต่ปัญหายังไม่เกิด และเมื่อเกิดปัญหา เราจะแก้มันได้เร็วและตรงจุด แก้แล้วปัญหาไม่เกิดซ้ำ และมีชีวิตที่สงบสุขโดยไม่ต้องลุ้นระทึกว่า จะมีเรื่องด่วนเกิดขึ้นเมื่อไหร่
ทฤษฎีใช้ไม่ได้ในทางปฏิบัติ "เฉพาะบางกรณี" เท่านั้นครับ
ทฤษฎี "ใช้ไม่ได้" ในทางปฏิบัติ
ผมเป็นคนที่ทำงานด้าน Network และ Cybersecurity อย่างตรงไปตรงมาตามทฤษฎี ตั้งแต่ Design, Implementation, Integration และ Trouble shooting ซึ่งแน่นอนว่า ต้องทำงานร่วมกับหลาย ๆ ฝ่าย ผมทำงานชัดเจน อ้างอิงทฤษฎีเป็นขั้นเป็นตอน จนผู้ร่วมงานสังเกตได้ และมักบอก (เหมือนกับจะหวังดี) กับผมว่า "พี่ครับ...ทฤษฎีบางทีมันก็ใช้ไม่ได้ในทางปฏิบัตินะครับ"
มันเป็นอย่างนั้นจริง ๆ เหรอ...
ยกตัวอย่างเช่น
• ตอนนี้ระบบมันล่มแล้ว ไล่ Reboot อุปกรณ์ทีละตัวเลยดีมั้ย หรือลองถอดสายเส้นที่เพิ่งเสียบดี นั่งดู log มันจะช้านะ
หรือ
• ทฤษฎีมันใช้กับโปรเจคนี้ไม่ได้ งบมันไม่พอ
หรือ
• ลูกค้าเขาอยากได้แบบนี้ เขาไม่สนว่ามันเป็นไปตามทฤษฎีหรือเปล่า
คุ้น ๆ มั้ยครับ พอจะรำลึกได้หรือเปล่าว่า ประสบการณ์ของเราวันนั้น วันที่เราอยู่ในสถานการณ์ที่เราต้องเลือก ระหว่าง ทฤษฎี กับ สัญชาตญาณ วันนั้นเราเลือกอะไร
ไม่ได้แปลว่าทำตามทฤษฎีจะเป็นคำตอบที่ถูกเสมอไป และไม่ได้แปลว่า การใช้สามัญสำนึกจะเป็นเรื่องผิด สำหรับผม ผม มีทั้ง 2 แบบครับ คือทำตามทฤษฎีในหลายครั้ง ทำตามสัญชาตญาณในบางที สิ่งที่น่าสนใจคือ วิธีคิดครับ ตอนไหนควรเลือกยึดมั่นตามทฤษฎี ตอนไหนควรทิ้งทฤษฎีเอาไว้แล้วใช้วิจารณญาณ วิธีคิดนี่แหละครับที่สำคัญ
เมื่อไหร่ใช้ทฤษฎี
สมมติว่า คุณได้รับคำสั่งให้ติดตั้งเซิร์ฟเวอร์เข้าตู้ ปรากฎว่า ตู้นั้นเป็นตู้แบบตื้น แต่เซิร์ฟเวอร์ของคุณเป็นแบบที่จะต้องติดในตู้ลึก อ่ะ...ทำไงดี เดินอ้อมไปดูหลังตู้ อ้าว...เซิร์ฟเวอร์ 4 ตัวที่มีอยู่ก่อนแล้ว มันเป็นแบบยาวทั้งนั้นเลยนี่หว่า ว่ากันง่าย ๆ เซิร์ฟเวอร์ 4 ตัวตูดโผล่ยื่นออกไปหลังตู้อยู่ก่อนแล้ว มันจะมีตูดโผล่เพิ่มอีกซักตูด จะเป็นรัยปั๊ย...ไหน ๆ ฝาตู้ด้านหลังมันก็ไม่เคยปิดมาเป็นปีแล้ว
เรื่องนี้สอนให้รู้ว่า ทฤษฎีใช้ไม่ได้ กับระบบไม่ทำตามทฤษฎี ก็คือถ้าระบบได้เตรียมตู้ลึกเอาไว้ เราก็คงไม่ต้องเล่นนอกตำรากันแบบนี้
ย้อนไปเมื่อ 2 ปีที่แล้ว ณ ตู้เดิมที่ยังไม่มีเซิร์ฟเวอร์ติดตั้งอยู่เลย เพราะมันคือตู้ B เป็นตู้ตื้นที่เอาไว้ติดตั้ง Network equipment และ Network cable ส่วนเซิร์ฟเวอร์นั้นอยู่ในตู้ A เป็นตู้ลึกที่ค่อนข้างเต็มแล้ว ตู้ A ใส่เซิร์ฟเวอร์ ตู้ B เป็น Network equipment ระบบออกแบบเอาไว้อย่างนี้
จนวันหนึ่ง มีการสั่งซื้อเซิร์ฟเวอร์ใหม่ 4 ตัวโดยที่ไม่ได้ผ่านการคิดอย่างรอบคอบ ก็เลยเพิ่งมารู้ว่า ไม่มีที่เหลือในตู้ A แล้ว ครั้นจะทำเรื่องขอซื้อตู้เพิ่ม ก็ไม่รู้ว่าจะต้องรออนุมัติกันอีกนานเท่าไหร่ อ่ะ...ตู้ B มีที่ว่าง เซิร์ฟเวอร์ใหม่ 4 ตัวก็ติดมันซะในตู้ B กลายเป็นเซิร์ฟเวอร์ตูดโผล่ ส่วนตู้ B ที่เคยปิดฝาตู้เรียบร้อย ก็กลายเป็นตู้เปิดฝาหลังตั้งแต่วันนั้นเป็นต้นมา
เรื่องนี้สอนให้รู้ว่า การออกนอกทฤษฎีในวันนี้ มันพาลทำให้คนอื่นที่มาต่องาน ต้องออกนอกทฤษฎีด้วยในวันข้างหน้า ยิ่งเดินระบบไปก็ยิ่ง Off road นอกตำรากันมากขึ้นเรื่อย ๆ เรามาดูกันต่อว่า ตู้ B จะมีอนาคตอย่างไร
แล้วเรื่องมันก็มาเกิดวันที่ไฟดับ UPS ที่เตรียมเอาไว้ เพื่อให้ตู้ B ทำงานต่อได้ 1 ชั่วโมง กลับสำรองไฟได้แค่ 10 นาทีเพราะมันดันมีเซิร์ฟเวอร์ 5 ตัวช่วยกันดูดไฟจาก UPS ไปจนเกลี้ยง เซิร์ฟเวอร์ยังไม่ทันได้ shutdown ไฟหมดซะแล้ว ไม่แตกต่างจากการกระชากปลั๊กของเซิร์ฟเวอร์ทั้ง 5 ตัวซะงั้น ส่งผลให้ OS พัง Boot ไม่ขึ้นไปซะ 1 ตัว
ส่วน Network equipment แทนที่จะทำงาน 1 ชั่วโมงก็ดับไปใน 10 นาที มาดูเซิร์ฟเวอร์ในตู้ A เขามี UPS ตามขนาดที่ออกแบบเอาไว้แต่ต้น ช่วยต่อลมหายใจออกไปอีก 1 ชั่วโมงอย่างไร้ความหมาย อ่ะ...ก็ Network equipment มัน Down ไปหมดแล้ว เซิร์ฟเวอร์มันตื่นตาสว่างอยู่คุยกับใครได้
เรื่องนี้สอนให้รู้ว่า การออกนอกทฤษฎี แม้จะดูเหมือนทำงานได้ ไม่ช้าก็เร็ว มันจะส่งผลลบในทางใดทางหนึ่ง แบบที่เรามักจะเดาไม่ได้ว่าจะเกิดอะไรขึ้น แถมบางทีความวิบัติเกิดขึ้นแล้ว ก็ยังดันวิเคราะห์ไม่ได้ด้วยว่า สาเหตุมันมาจากการออกนอกตำราที่จุดใด เพราะมัวแต่ไปโฟกัสที่ความเสียหาย จนลืมยกทฤษฎีมาเป็นหลักในการค้นหาสาเหตุ
ปัญหาของตู้ B ถ้าคิดแก้แบบง่าย ๆ ก็แค่ซื้อ UPS ใหม่ ใหญ่กว่าเดิม มาเพิ่มให้ตู้ B นั่นคือตัวอย่างที่ดีของการโฟกัสที่ความเสียหาย โดยไม่ใช้ทฤษฎีมาวิเคราะห์หาสาเหตุ มองไปที่ UPS ว่ามันเล็กไป แต่ไม่ได้ให้ความสำคัญกับทฤษฎี ที่ชี้ชัดว่า เซิร์ฟเวอร์ไม่ควรอยู่ในตู้ B ตั้งแต่ต้น
ทฤษฎีจะใช้ไม่ได้ในทางปฏิบัติ.............
ถ้าเป็นการปฏิบัติงานกับระบบที่ไม่เคยทำตามทฤษฎีมาก่อน ความพยายามที่จะตบระบบให้เข้าตามตำราอีกครั้ง มักใช้ความพยายาม ใช้แรงงาน ใช้งบประมาณมากกว่าการเริ่มต้นอย่างถูกต้องตั้งแต่วันแรก และแม้ระบบจะทำไว้ดีถูกต้องตามทฤษฎีเพียงใด ขอให้มีแค่ครั้งเดียวที่มีคนคิดว่า "ทฤษฎีมันใช้ไม่ได้" แล้วเริ่มงัดเอา "วิธีที่ไม่มีชื่อเรียก" มาใช้ ระบบนั้นก็จะกลายเป็นครึ่งผีครึ่งคนที่ไม่มีใครรู้จัก ไม่มีใคร Follow ระบบนั้นได้ เป็นภาระกรรมให้คนต่อ ๆ ไปต้องออกนอกทฤษฎีด้วยความจนใจ จนกว่าจะมีใครใจกล้า ยอมเงินเสียเวลา รื้อระบบกลับเข้าที่ สู่ทฤษฎีที่ถูกต้องอีกครั้ง
ทฤษฎีใช้ไม่ได้ อันนั้นเรื่องนึง แต่ความไม่เข้าใจในทฤษฎี อันนั้นหนังคนละม้วน พอไม่เข้าใจก็ประยุกต์ใช้ไม่ถูกต้อง แล้วมันก็ทำให้เกิดผลในทางที่ไม่คาดหวัง พองานไม่สำเร็จอย่างที่คิด ก็ไปสร้างข้อสรุปว่า "ทฤษฎีใช้ไม่ได้ในทางปฏิบัติ" หาทางลงให้กับข้อผิดพลาด จนตัวเองหลงเชื่อไปจริง ๆ ว่า ทฤษฎีมันเป็นแค่เรื่องสวยหรูในตำราของพวกนั่งอยู่ในห้อง ไม่เคยอยู่หน้างาน คิดกันไปไกลซะแบบนั้นก็มี
ทฤษฎีไม่ใช่ข้อบังคับ แต่เป็น Guide line ให้เราสามารถหยิบไปปฏิบัติแบบไม่ต้องคิดตามก็ได้ แต่จะดีมากถ้าเราพยายามวิเคราะห์ว่า อะไรทำให้ทฤษฎีแนะนำให้เราทำแบบนั้นแบบนี้ ถ้าเราเข้าใจ เราจะไม่ต้องท่องจำอะไร เราจะไม่รู้สึกฝืน แต่เราจะปฏิบัติงานตามทฤษฎีอย่างเป็นธรรมชาติ เราจะสังเกตเห็นข้อผิดพลาดได้เร็วกว่าคนอื่น เห็นมันตั้งแต่ปัญหายังไม่เกิด และเมื่อเกิดปัญหา เราจะแก้มันได้เร็วและตรงจุด แก้แล้วปัญหาไม่เกิดซ้ำ และมีชีวิตที่สงบสุขโดยไม่ต้องลุ้นระทึกว่า จะมีเรื่องด่วนเกิดขึ้นเมื่อไหร่
ทฤษฎีใช้ไม่ได้ในทางปฏิบัติ "เฉพาะบางกรณี" เท่านั้นครับ