นักพัฒนาแต่ละคนล้วนมีเอกลักษณ์เฉพาะตัว มีจุดแข็งจุดอ่อน ความชอบและความไม่ชอบที่แตกต่างกันไป เมื่อเวลาผ่านไป แต่ละคนก็จะสร้างสภาพแวดล้อมการทำงานส่วนตัวของตัวเองขึ้นมา สภาพแวดล้อมนั้นจะสะท้อนความเป็นตัวตนของโปรแกรมเมอร์คนนั้นได้ชัดเจนไม่ต่างจากงานอดิเรก เสื้อผ้า หรือทรงผมของเขาเลยครับ แต่ถ้าคุณเป็น Pragmatic Programmer คุณจะมีลักษณะร่วมหลายอย่างต่อไปนี้:

เปิดรับสิ่งใหม่ไว / ปรับตัวเร็ว

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

ช่างสงสัย

คุณมักจะเป็นคนช่างถาม เจ๋งจัง—ทำได้ยังไงเนี่ย ใช้ Library ตัวนั้นแล้วมีปัญหาอะไรไหม Quantum Computing ที่เคยได้ยินมามันคืออะไรกันแน่ Symbolic Link ทำงานยังไง คุณเป็นเหมือนนักสะสมข้อมูลเล็กๆ น้อยๆ ที่แต่ละชิ้นอาจส่งผลต่อการตัดสินใจบางอย่างในอีกหลายปีข้างหน้าก็ได้ครับ

คิดวิเคราะห์อย่างมีวิจารณญาณ

คุณแทบไม่เคยยอมรับอะไรง่ายๆ โดยไม่หาข้อเท็จจริงก่อน เมื่อเพื่อนร่วมงานพูดว่า “ก็มันทำกันแบบนี้มาตลอด” หรือ Vendor รับปากว่าจะแก้ปัญหาทุกอย่างให้คุณได้ คุณจะได้กลิ่นของความท้าทายทันที

มองโลกตามความเป็นจริง

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

รู้รอบด้าน

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

เราเก็บลักษณะพื้นฐานที่สุดไว้พูดเป็นลำดับสุดท้าย Pragmatic Programmer ทุกคนมีลักษณะเหล่านี้ร่วมกัน และมันพื้นฐานพอที่จะพูดเป็น Tip ได้เลยครับ:

Tip 1 ใส่ใจในงานฝีมือของตัวเอง

เรารู้สึกว่าการพัฒนาซอฟต์แวร์ไม่มีความหมายอะไรเลย ถ้าคุณไม่ใส่ใจที่จะทำมันให้ดีครับ

Tip 2 คิด! เกี่ยวกับงานของคุณ

เพื่อที่จะเป็น Pragmatic Programmer เราขอท้าทายให้คุณคิดถึงสิ่งที่คุณกำลังทำอยู่ ณ ขณะที่กำลังทำมันจริงๆ นี่ไม่ใช่การตรวจสอบแนวปฏิบัติปัจจุบันแบบครั้งเดียวจบ—แต่เป็นการประเมินอย่างมีวิจารณญาณอย่างต่อเนื่องกับทุกการตัดสินใจที่คุณทำ ทุกวัน และในทุกโปรเจกต์ อย่าปล่อยให้ตัวเองทำงานแบบ Auto-pilot คิดและวิพากษ์วิจารณ์งานของตัวเองอยู่ตลอดเวลาแบบ Real-time คำขวัญเก่าแก่ของบริษัท IBM ที่ว่า THINK! คือมนตราของ Pragmatic Programmer เลยครับ

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