หนังสือเล่มนี้เป็นเรื่องของคุณครับ
อย่าเข้าใจผิดนะครับ นี่คืออาชีพของคุณ และที่สำคัญกว่านั้น หัวข้อที่ 1, _It's Your Life_ คือชีวิตของคุณ คุณเป็นเจ้าของมัน คุณมาอยู่ตรงนี้เพราะคุณรู้ดีว่าคุณสามารถเป็น Developer ที่ดีขึ้นได้ และสามารถช่วยให้คนอื่นดีขึ้นได้เช่นกัน คุณสามารถเป็น Pragmatic Programmer ได้ครับ
อะไรที่ทำให้เหล่า Pragmatic Programmer แตกต่าง? เรามองว่ามันคือทัศนคติ สไตล์ และปรัชญาในการจัดการกับปัญหาและแนวทางแก้ไขครับ พวกเขาจะคิดไปไกลกว่าปัญหาตรงหน้า โดยเอาไปวางไว้ในบริบทที่กว้างขึ้นและพยายามมองภาพรวมให้ออก เพราะถ้าไม่มีบริบทนี้แล้ว เราจะเป็น Pragmatic ได้ยังไง? เราจะชั่งน้ำหนักข้อดีข้อเสีย (Compromise) อย่างชาญฉลาด หรือตัดสินใจด้วยข้อมูลที่เพียบพร้อมได้ยังไงล่ะครับ?
อีกกุญแจสำคัญสู่ความสำเร็จของพวกเขาก็คือ เหล่า Pragmatic Programmer จะรับผิดชอบในทุกสิ่งที่พวกเขาทำครับ ซึ่งเราจะลงรายละเอียดกันในหัวข้อที่ 2 _The Cat Ate My Source Code_ และด้วยความที่เป็นคนมีสำนึกรับผิดชอบนี่แหละครับ พวกเขาจะไม่ยอมนั่งนิ่งเฉยดู Project ของตัวเองพังลงเพราะความละเลยแน่ๆ ในหัวข้อที่ 3 _Software Entropy_ เราจะคุยกันถึงวิธีการดูแลรักษา Project ของคุณให้สมบูรณ์เหมือนใหม่อยู่เสมอครับ
คนส่วนใหญ่มองว่าการเปลี่ยนแปลงเป็นเรื่องยากครับ บางครั้งก็มีเหตุผลที่ฟังขึ้น แต่บางครั้งก็แค่เพราะความเฉื่อย (Inertia) เดิมๆ ในหัวข้อที่ 4 _Stone Soup and Boiled Frogs_ เราจะมาดู Strategy ในการผลักดันให้เกิดความเปลี่ยนแปลง และ (เพื่อความเป็นกลาง) เราก็นำเสนอเรื่องเล่าเตือนสติของกบตัวหนึ่งที่มองข้ามอันตรายของการเปลี่ยนแปลงที่ค่อยๆ เกิดขึ้นครับ
ประโยชน์อย่างหนึ่งของการเข้าใจบริบทที่คุณกำลังทำงานอยู่ก็คือ มันจะช่วยให้คุณตัดสินใจได้ง่ายขึ้นว่า Software ของคุณควรจะดีแค่ไหน บางครั้งความเป๊ะระดับสมบูรณ์แบบก็เป็นทางเลือกเดียวที่เรามี แต่บ่อยครั้งมันก็มีการแลกเปลี่ยน (Trade-offs) ที่ต้องชั่งน้ำหนักกันดู เราจะไปสำรวจเรื่องนี้กันในหัวข้อที่ 5 _Good-Enough Software_ ครับ
แน่นอนว่าการจะทำทั้งหมดนี้ให้ได้ผล คุณจำเป็นต้องมีฐานความรู้และประสบการณ์ที่กว้างขวางครับ การเรียนรู้คือกระบวนการที่เกิดขึ้นอย่างต่อเนื่องไม่มีวันจบสิ้น ในหัวข้อที่ 6 _Your Knowledge Portfolio_ เราจะมาคุยกันถึงกลยุทธ์ในการรักษาแรงขับเคลื่อน (Momentum) ของการเรียนรู้ให้คงอยู่ต่อไปครับ
สุดท้ายแล้ว ไม่มีใครในพวกเราที่ทำงานอยู่แค่ในสุญญากาศครับ เราทุกคนล้วนต้องใช้เวลาส่วนใหญ่ไปกับการปฏิสัมพันธ์กับคนรอบข้าง ในหัวข้อที่ 7 _Communicate!_ เราจึงได้รวบรวมวิธีที่จะช่วยให้เราสื่อสารกันได้ดียิ่งขึ้นมาฝากครับ
การเขียนโปรแกรมแบบ Pragmatic นั้นมีต้นกำเนิดมาจากปรัชญาการคิดแบบ Pragmatic ครับ และบทนี้เองที่จะเป็นตัววางรากฐานให้กับปรัชญาดังกล่าวนั่นเอง