Question the best practice 2

ถึงจุดนึง Developer ก็ควรจะตั้งคำถามกับ Library, Framework, Language ที่ตัวเองใช้ได้แล้วนะ เพราะไม่มีอะไรที่สมบูรณ์แบบหรอก Java เองก็มีข้อเสีย Swift เองก็มีข้อเสีย Javascript เองก็มีข้อเสีย .NET เองก็มีข้อเสียของมันอีกนั่นแหละ Rails, Express, React, Redux, etc. มีข้อดีข้อเสียของมันหมดนะ

เราควรจะเรียนรู้ไว้ว่าเวลาที่เรามี Pain จากการใช้งาน Framework, Library หรือภาษาพวกนี้มันเกิดจากออกแบบอย่างไร เขาให้เรา Pain ด้วย Trade-off อะไรบ้าง ทำไมเขาออกแบบให้เราโค้ดกันแบบนี้

เวลาเราทำ Inhouse library, Framework จะได้ออกแบบได้ดี

แล้วไม่ใช่ว่าเป็น Microsoft, Apple, Sun, Etc. แล้วจะผิดไม่ได้ไม่เคย Misuse Design Pattern หรือไม่เคยวาง Architecture อะไรที่มันไม่เวิร์คออกมาซะหน่อย แหม่ ถ้ามันสมบูรณ์ขนาดนั้นจริงๆ เขาจะ Patch ตัวเองกันบ่อยๆ เหรอ Java เงี้ย ล่อมา 7–8 Version ละนะ

การตั้งคำถามกับ Practice ต่างๆ ไว้บ้าง ระหว่างที่ลองทำตามอยู่ ลองทำตามไปตั้งคำถามไปพร้อมกัน เป็นนิสัยที่ดีที่สุดที่ส่วนตัวรู้สึกว่าช่วยได้เยอะ

ช่วยยังไง คือ เวลาเทคนิคใหม่ๆ มา เราเดาได้ว่ามันมายังไงและบางอันก็คิดล่วงหน้าไว้แล้วว่าเออ ของเก่ามันไม่ดีแบบนี้นะ ทำไมมันถึงไม่เขียนกันแบบนั้นนะ แล้วซักพัก Trend ใหม่มา เออ ก็มีหลายอันตรงกับที่คิดไว้นะ (และหลายอันก็ไม่ตรงด้วยเขาทำได้ Elegant กว่าที่เราคิดไว้ตอนแรกก็มี) เราก็เรียนรู้สิ่งนั้นได้เร็วมาก

วิธีคิดแบบที่เล็งแต่โทษตัวเองไว้ก่อน (มันก็มี Trade-off คือหลายๆ ครั้งมันทำให้เรายึดติด Best practice เดิมที่เราเรียนรู้สูงมาก

คือ พอเราลงโทษตัวเองมากๆ เราจะรู้สึกว่าเห้ยฉันยังพยายาม Fit ตัวเองเข้ากับสิ่งที่เขามีอยู่แล้วเลย ทำไมคนอื่นไม่ทำล่ะ ทำไมคนอื่นมันมั่นใจกันขนาดนั้นว่าตัวเองเก่งนักเก่งหน้า

เป็นธรรมชาติของมนุษย์ที่เวลาโบยตีตัดสินตัวเองมากๆ ในประเด็นไหนก็ตาม แล้วเราจะโบยตีหรือตัดสินคนอื่นในประเด็นเดียวกันไปด้วย

การเป็นกลางไม่โทษตัวเองมากไปหรือน้อยไปนี่เป็นนิสัยที่สำคัญมากในฐานะมนุษย์ครับ

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.