PlusMagi's Blog By Pitt Phunsanit Backend,Database Growth Mindset (กรอบคิดเปิดรับการเรียนรู้และการเปลี่ยนแปลง)

Growth Mindset (กรอบคิดเปิดรับการเรียนรู้และการเปลี่ยนแปลง)

ในโลกของการพัฒนาซอฟต์แวร์และฐานข้อมูลที่เปลี่ยนแปลงอย่างรวดเร็ว ความรู้ที่เรามีในวันนี้อาจไม่เพียงพอสำหรับความท้าทายของวันหน้า การเป็น System Specialist หรือ Senior Architect ไม่ได้หมายถึงการรู้ทุกคำสั่ง แต่คือการมี ‘กรอบคิด’ ที่พร้อมจะเรียนรู้และปรับตัวอย่างไม่มีที่สิ้นสุด

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


Growth Mindset ในโลกของ PostgreSQL: จากความเชื่อสู่การปรับปรุงโค้ด

หัวใจสำคัญของ Growth Mindset คือการเปลี่ยนมุมมองต่อความล้มเหลว (Failure) ให้เป็นข้อมูลป้อนกลับ (Feedback) ที่มีค่า ในบริบทของ PostgreSQL เราสามารถเปรียบเทียบระหว่าง Fixed Mindset และ Growth Mindset ในการเขียน Query ได้:

  • Fixed Mindset (โค้ดแบบตายตัว): คือการเขียน Query ที่ทำงานได้ แต่ไม่มีการคิดถึงประสิทธิภาพ (Performance) หรือความสามารถในการขยายตัว (Scalability) เมื่อเจอ Query ช้า ก็ยอมรับว่ามันช้าและไม่พยายามหาวิธีที่ดีกว่า
  • Growth Mindset (โค้ดที่เติบโตได้): คือการมองว่า Query ที่ช้าคือ ‘ปัญหา’ ที่ต้องแก้ไขเสมอ เราจะเรียนรู้เทคนิคใหม่ๆ เช่น การใช้ Common Table Expressions (CTE) หรือการปรับ Index เพื่อให้โค้ดมีประสิทธิภาพสูงสุด

การพัฒนาจาก Fixed ไป Growth Mindset คือการให้คุณค่ากับ กระบวนการ Optimization มากกว่าแค่การทำให้ Query รันได้สำเร็จ


ตัวอย่างการพัฒนา: การเปลี่ยนจาก Query พื้นฐานสู่การใช้ CTE

สมมติว่าเรามีตารางข้อมูลการขาย (sales) และเราต้องการคำนวณยอดรวมรายเดือนอย่างมีประสิทธิภาพ

SQL

-- Fixed Mindset: การใช้ Subquery ซ้อนกันหลายชั้น ซึ่งอาจทำให้เกิดปัญหา Performance เมื่อข้อมูลมีขนาดใหญ่ (Scalability Issue)

SQL

SELECT * FROM (

SQL

SELECT month, SUM(amount) AS total_sales FROM sales WHERE sale_date >= '2023-01-01' GROUP BY month

SQL

) AS monthly_summary;

การปรับปรุงด้วย Growth Mindset: เราเรียนรู้ที่จะใช้ Common Table Expressions (CTE) ซึ่งช่วยให้โค้ดอ่านง่ายขึ้น จัดระเบียบการคำนวณเป็นขั้นตอน และมักจะช่วยให้ PostgreSQL Optimizer ทำงานได้มีประสิทธิภาพมากขึ้น

SQL

WITH MonthlySales AS (

SQL

SELECT

SQL

DATE_TRUNC('month', sale_date) AS sale_month,

SQL

SUM(amount) AS total_sales

SQL

FROM sales

SQL

WHERE sale_date >= '2023-01-01'

SQL

GROUP BY 1

SQL

)

SQL

SELECT * FROM MonthlySales ORDER BY sale_month;

การเปลี่ยนจากโค้ดแรกไปโค้ดที่สองคือการแสดงออกถึง Growth Mindset: เราไม่ได้แค่ทำให้มันรันได้ แต่เราทำให้มัน ‘ดีขึ้น’ และ ‘ยั่งยืนขึ้น’ เสมอ


บทสรุป: พลังแห่งการเรียนรู้ตลอดชีวิต

ในฐานะ Senior Architect สิ่งที่ทรงพลังที่สุดไม่ใช่ความรู้ที่ถูกบันทึกไว้ในเอกสาร แต่คือความสามารถในการปรับตัวและการเรียนรู้เทคนิคใหม่ๆ อย่างต่อเนื่อง การยอมรับว่าโค้ดที่เขียนวันนี้สามารถถูกปรับปรุงให้ดีกว่าเดิมได้เสมอ คือการนำ Growth Mindset มาใช้ในการทำงาน ซึ่งจะนำไปสู่การออกแบบระบบ PostgreSQL ที่มีประสิทธิภาพสูงและพร้อมรับมือกับความท้าทายในอนาคตได้อย่างแท้จริง

Exit mobile version