PlusMagi's Blog By Pitt Phunsanit Backend,Psychology Discipline & Consistency (วินัยในการลงมือทำอย่างต่อเนื่อง ไม่พึ่งพาแค่พลังใจ)

Discipline & Consistency (วินัยในการลงมือทำอย่างต่อเนื่อง ไม่พึ่งพาแค่พลังใจ)

หลายครั้งที่เราได้ยินคำว่า “แรงบันดาลใจ” (Motivation) ซึ่งมักถูกยกให้เป็นกุญแจสำคัญในการเริ่มต้นโปรเจกต์ใหม่ๆ ไม่ว่าจะเป็นการเรียนรู้ภาษาใหม่ การออกกำลังกาย หรือการพัฒนาฐานข้อมูล เราต่างเฝ้ารอช่วงเวลาที่พลังงานล้นเหลือ ความรู้สึกฮึกเหิม หรือความตื่นเต้นที่จะทำให้เรากระโดดเข้าสู่เป้าหมายได้อย่างเต็มกำลัง แต่ในความเป็นจริงแล้ว การพึ่งพาเพียงแค่ ‘พลังใจ’ นั้น เปรียบเสมือนการเขียนโค้ดโดยอาศัยสภาพแวดล้อมที่สมบูรณ์แบบเท่านั้น เพราะเมื่อคลื่นแห่งอารมณ์ลดลง ความสม่ำเสมอในการเขียนโค้ดหรือการดูแลระบบจึงกลายเป็นสิ่งที่ขาดหายไป

จากพลังใจ (Motivation) สู่ระบบ (System) ด้วย PostgreSQL

ในมุมมองของสถาปัตยกรรมระบบ (System Architecture) ความสำเร็จที่ยั่งยืนไม่ได้มาจากอารมณ์ แต่มันมาจาก ‘ระบบ’ (System) และ ‘วินัย’ (Discipline) วินัยที่แท้จริงไม่ใช่การบังคับตัวเองให้เขียนโค้ดในวันที่ไม่อยากทำ แต่มันคือการออกแบบโครงสร้างและกระบวนการทำงาน (Process) ที่ทำให้เราสามารถ ‘แสดงออก’ ตามเป้าหมายได้โดยอัตโนมัติ แม้ในวันที่เรารู้สึกเหนื่อยล้าหรือหมดไฟ

นี่คือการเปลี่ยนจากการใช้พลังงานทางอารมณ์ไปเป็นการใช้พลังงานเชิงกลไกของนิสัยและการออกแบบระบบที่เชื่อถือได้ ในโลกของ PostgreSQL เราสามารถจำลองแนวคิดนี้ได้ด้วยการสร้าง Stored Procedures หรือ Scheduled Tasks ที่ทำงานซ้ำๆ โดยไม่ขึ้นอยู่กับว่าผู้ใช้งาน (User) จะรู้สึกอยากรันคำสั่งนั้นหรือไม่

การสร้างความสม่ำเสมอด้วย Common Table Expressions (CTE)

ความสม่ำเสมอในฐานข้อมูลคือการที่ข้อมูลถูกประมวลผลตามขั้นตอนที่กำหนดไว้เสมอ ไม่ว่าข้อมูลต้นทางจะเล็กหรือใหญ่ก็ตาม การใช้ Common Table Expressions (CTE) ใน PostgreSQL เป็นตัวอย่างที่ยอดเยี่ยมของการสร้าง ‘ระบบ’ การประมวลผลที่ชัดเจนและทำซ้ำได้ (Repeatable Process) ซึ่งเป็นหัวใจของวินัยในการทำงาน

สมมติว่าเรามีรายการสินค้าที่ต้องอัปเดตสถานะอย่างสม่ำเสมอ การใช้ CTE จะช่วยให้เรากำหนดขั้นตอนการคำนวณหรือการกรองข้อมูลได้อย่างเป็นระบบ ไม่ต้องพึ่งพาการตัดสินใจเฉพาะหน้า:

SQL

SQL

WITH product_updates AS ( 
    SELECT 'apple' AS product_name, 10 AS stock_count 
    UNION ALL 
    SELECT 'banana', 25 
    UNION ALL 
    SELECT 'orange', 5 
) 
SELECT 
    product_name, 
    stock_count * 1.1 AS adjusted_stock 
FROM product_updates 
WHERE stock_count < 30;

โค้ดข้างต้นแสดงให้เห็นว่าเราได้สร้างชุดข้อมูล (product_updates) และกำหนดกฎการคำนวณ (stock_count * 1.1) อย่างเป็นระบบ การรันคำสั่งนี้ซ้ำๆ จะให้ผลลัพธ์ที่สม่ำเสมอเสมอ ไม่ว่าเราจะรู้สึกอยากรันมันหรือไม่ก็ตาม นี่คือการเปลี่ยน ‘ความตั้งใจ’ ให้เป็น ‘คำสั่งที่รันได้’ (Executable Command)

บทสรุป: นิสัยคือ Stored Procedure

ดังนั้น การพัฒนาทักษะหรือการทำโปรเจกต์ให้สำเร็จอย่างยั่งยืน จึงไม่ใช่การรอให้มี ‘แรงบันดาลใจ’ มากระตุ้น แต่คือการสร้าง ‘ระบบ’ (System) หรือ ‘นิสัย’ (Habit) ที่ทำงานเหมือน Stored Procedure ที่ถูกตั้งเวลาให้รันทุกวัน การลงมือทำเล็กๆ น้อยๆ อย่างต่อเนื่องทุกวัน คือการรันคำสั่ง SQL ที่เชื่อถือได้ซ้ำๆ จนกระทั่งมันกลายเป็นส่วนหนึ่งของสถาปัตยกรรมชีวิตของเราเอง