วัน: 4 กันยายน 2013

Growth Mindset (การมองความล้มเหลวเป็นโอกาสในการเรียนรู้และพัฒนา)Growth Mindset (การมองความล้มเหลวเป็นโอกาสในการเรียนรู้และพัฒนา)

ในโลกของการพัฒนาซอฟต์แวร์และข้อมูลที่เปลี่ยนแปลงอย่างรวดเร็ว ความสามารถในการปรับตัวและเรียนรู้จากข้อผิดพลาด (Failure) คือทักษะที่มีมูลค่าสูงกว่าความรู้ที่สะสมมาแต่เพียงอย่างเดียว แนวคิดเรื่อง Growth Mindset หรือการมองความล้มเหลวเป็นโอกาสในการเรียนรู้ จึงเป็นรากฐานสำคัญของการพัฒนาทั้งในชีวิตและการทำงานด้านเทคนิค

หลายคนมักเชื่อว่าความสามารถในการเขียนโค้ดหรือความเข้าใจในระบบเป็นสิ่งที่ติดตัวมาแต่กำเนิด (Fixed Mindset) แต่ในความเป็นจริงแล้ว ทั้งสมองของมนุษย์และฐานข้อมูลของเรานั้นมีความยืดหยุ่น (Flexible) และพร้อมที่จะพัฒนาอยู่เสมอ เพียงแค่เราเปลี่ยนมุมมองที่เรามีต่อคำว่า ‘Error’ หรือ ‘ความผิดพลาด’ เท่านั้น

Growth Mindset ในมุมมองของ Data Architecture

แก่นแท้ของ Growth Mindset คือการเปลี่ยนจากการมองว่า ‘โค้ดนี้ผิด’ (Fixed) ไปสู่การมองว่า ‘โค้ดนี้กำลังบอกเราว่าต้องปรับปรุงตรงไหน’ (Growth) ในระบบ PostgreSQL การเรียนรู้ที่แท้จริงไม่ได้มาจากการรันคำสั่งที่สำเร็จเพียงครั้งเดียว แต่มาจากการวิเคราะห์และแก้ไขข้อผิดพลาดที่เกิดขึ้นซ้ำๆ จนกว่าจะได้ Query ที่มีประสิทธิภาพสูงสุด

การเปลี่ยน ‘Error’ ให้เป็น ‘Data’

เมื่อเราเจอปัญหาในฐานข้อมูล เช่น Query ที่ทำงานช้า หรือข้อมูลที่อยู่ในรูปแบบที่ไม่เป็นระเบียบ (Messy Data) แทนที่เราจะท้อแท้และมองว่ามันคือความล้มเหลว เราควรเปลี่ยนมุมมองให้เห็นว่าข้อผิดพลาดเหล่านั้นคือ ‘ข้อมูลป้อนกลับ’ (Feedback Data) ที่บอกเราว่าวิธีการเดิมๆ ยังใช้ไม่ได้ผล นี่คือหลักการเดียวกับการเรียนรู้ที่ต้องอาศัยการลองผิดลองถูก

ตัวอย่างเช่น การจัดการกับข้อมูลที่ถูกคั่นด้วยเครื่องหมายจุลภาค (Comma-separated values) ซึ่งเป็นรูปแบบที่ดิบและไม่เป็นระเบียบ เราไม่สามารถใช้คำสั่ง SELECT ธรรมดาได้ แต่เราต้องใช้ฟังก์ชันที่ช่วยในการแยกส่วนและจัดระเบียบข้อมูล ซึ่งกระบวนการนี้สะท้อนถึงการที่เราต้องเรียนรู้เครื่องมือใหม่ๆ เพื่อแก้ปัญหาที่ดูเหมือนจะไม่มีทางออก

SQL

-- สมมติว่าเรามีข้อมูลดิบที่ต้องแยกส่วน (The Initial 'Failure' Data) --
SELECT
    unnest(string_to_array('apple,banana,orange', ',')) AS separated_item;

คำสั่งนี้ไม่ได้แค่ ‘แสดง’ ข้อมูล แต่เป็นการ ‘แปลง’ ข้อมูลที่ดูไร้ระเบียบให้กลายเป็นแถวข้อมูลที่ใช้งานได้ (Structured Data) การใช้ฟังก์ชัน `string_to_array` และ `unnest` คือการที่เราใช้ความรู้ (Knowledge) ที่ได้มาเรียนรู้เพื่อแก้ไขปัญหา (Problem Solving) ซึ่งเป็นหัวใจของ Growth Mindset อย่างแท้จริง

บทสรุป: การเติบโตที่ไม่มีที่สิ้นสุด

การพัฒนาทักษะทางเทคนิคก็เช่นเดียวกับการพัฒนาความคิด การยอมรับว่าเราไม่รู้ทุกอย่างในวันนี้ และการกล้าที่จะทดลองเขียน Query ที่อาจจะผิดพลาด คือจุดเริ่มต้นของการเป็น Senior Architect ที่แท้จริง จงเปลี่ยนความผิดพลาดในโค้ดให้เป็นบทเรียน และเปลี่ยนความล้มเหลวในชีวิตให้เป็นข้อมูล (Data) ที่บอกเส้นทางสู่การพัฒนาที่เหนือกว่าเสมอ