👨‍💻 ที่สุดแห่งการเป็นโปรแกรมเมอร์

"ความรู้คือที่สุดแห่งสายอาชีพนี้" ผมเชื่อว่าหลายคนก็น่าจะเห็นด้วยกับประโยคดังกล่าว เพราะการที่เราจะออกแบบของต่างๆที่ดีได้นั้น เราจำเป็นต้องอาศัย ความรู้ นั่นเอง

แต่ก็มีหลายครั้งที่เราไปอ่านตำราบางเรื่อง เทคนิคบางอย่าง แล้วกลับพบว่าทำยังไงก็ไม่เข้าใจมันซักที ไม่ว่าจะอ่านมันซักกี่รอบ หาตัวอย่างมาซักกี่แบบก็ตามที ก็ยังคงไม่เข้าใจ หรือบางทีก็เข้าใจนะ แต่ก็ยังมีคำถามคาใจว่าทำไมต้องทำแบบนั้นหว่า (เช่นเรื่อง SOLID Design หรือ Design Patterns) แต่พอผ่านมาซักระยะหนึ่ง (อาจจะเป็นปีก็ได้) พอเราได้ย้อนกลับไปอ่านมันใหม่ เรากลับพบว่า เราเข้าใจมันได้แบบง่ายๆ แถมยังสามารถตอบคำถามที่เคยสงสัยได้อีกด้วย ทำไมถึงเป็นแบบนั้นหว่า ?

คำตอบก็คือเรามี ประสบการณ์ ถึงจุดที่จะเข้าใจแล้วยังไงล่ะ เช่น เคยเจอปัญหานั้นกับตัวเอง เคยได้ยินได้เห็นวิธีการแก้ไขปัญหาเหล่านั้นมาแล้วนั่นเอง ซึ่งเรื่องเหล่านี้มันเป็นสิ่งที่ สอนกันยาก ต้องเจอกับตัวเองถึงจะได้มันมา ดังนั้นเราไม่ต้องซีเรียส ถ้าศึกษาเรื่องอะไรแล้วยังไม่เข้าใจมันอย่างถ่องแท้ เพราะเรายังสะสมประสบการณ์เรื่องนั้นๆไม่มากพอ แต่เมื่อเวลาผ่านไป เดี๋ยวเราก็จะเข้าใจมันเอง และหลายๆคนทำงานอยู่ดีๆก็อาจจะร้อง อ๋อ ในเรื่องที่เคยศึกษามาเมื่อ 2 ปีก่อนก็เป็นได้ (ตรัสรู้ขณะทำงานฮ่าๆ)

🤔 แล้วมันเกี่ยวอะไรกับสุดยอดแห่งการเป็น Developer ?

เราเคยได้ยินไหมว่า ที่สุดของเรื่องนั้นๆ คือการไม่ต้องทำเรื่องนั้นๆ เช่น สุดยอดแห่งการเรียน คือการไม่ต้องเรียน, ที่สุดแห่งการล้างแค้น คือการไม่ล้างแค้น ไรงี้

ซึ่ง วงจรในการเรียนรู้ ไม่ว่าจะเป็นวงการไหน มันก็สรุปออกมาได้เป็นแบบนี้

👶 ช่วงแรก - ที่เราเข้าใจเรื่องที่รู้สึกว่ามันเจ๋งมากๆ เราก็อยากจะเอามาใช้ในงาน เพื่อแก้ปัญหาในรูปแบบนั้นๆ เพราะเรารู้ว่ามันดีมากๆนั่นเอง ซึ่งอาจจะใช้มันผิดๆถูกๆอยู่บ้าง

👦 ช่วงกลาง - พอใช้ไปใช้มาเราก็จะชำนาญมากขึ้น ใช้งานมันได้ถูกต้องตามหลักการ แถ้มยังพลิกแพลงมันตามสถานะการณ์ต่างๆได้อีกด้วย

🧔 ช่วงตรัสรู้ - เราเลือกที่จะไม่ใช้มันได้ ตามสถานะการณ์ เพราะรู้ว่าถ้าใช้มันจะนำพาอะไรมา และรู้ว่าเมื่อไหร่ควรที่จะใช้มัน อีกทั้งยังรู็ว่าความรู้เรื่องนั้น จริงๆมันไม่มีอะไรเลยนั่นเอง

โดยสรุป

สุดยอดของการเป็นโปรแกรมเมอร์ คือการที่เราสามารถเลือกได้ว่า เมื่อไหร่ควร เมื่อไหร่ไม่ควร ในแต่ละจังหวะเวลาได้อย่างถูกต้อง ซึ่งการที่จะทำแบบนั้นได้ย่อมต้องผ่าน ประสบการณ์ไปถึงจุดนึงก่อน ดังนั้นจงหาโอกาสไปผจญภัยเก็บ exp มาอัพเวลกันโดยพลัน แต่อย่าเมากาวพุ่งทยานฟันโจทย์อย่างเดียว เราต้องหันกลับมา วิเคราะห์ สิ่งที่เราได้เรียนรู้จากโจทย์เหล่านั้นๆด้วยถึงจะได้สิ่งที่เรียกว่า การเข้าใจอย่างแท้จริง หรือที่ผมชอบเรียกติดปากว่า ตรัสรู้ นั่นเอง 😍

แนะนำให้อ่าน สำหรับเพื่อนๆที่สนใจอยากศึกษาเรื่องหลักในการออกแบบขั้นพื้นฐานที่ชื่อว่า SOLID Design สามารถอ่านได้จากลิงค์นี้ https://saladpuk.gitbook.io/learn/basic/solid

สำหรับเพื่อนๆที่อยากศึกษาหลักในการแก้ปัญหาที่เจอบ่อยๆในการพัฒนาซอฟต์แวร์ที่ชื่อว่า Design Patterns สามารถอ่านได้จากลิงค์นี้ https://saladpuk.gitbook.io/learn/software-design/designpatterns

Last updated

Was this helpful?