วันอาทิตย์ที่ 8 กรกฎาคม พ.ศ. 2555

Programmer เป็นทั้งงานศิลปะและทักษะและแรงงานกรรมกรกะดึก

จาก thaigamasutra.com 

จากที่เราได้เกริ่น และเขียนแผนภาพเกี่ยวกับ value chain ในครั้งที่แล้ว 
สิ่ง หนึ่งที่ผมจะชี้ให้เห็นครับ คือ programming ถูกระบุว่าอยู่ในส่วนที่เป็น labor-intensive task หรือแปลเป็นไทยคือ งานที่เน้น "แรงงานมากกว่าสมอง" และในขณะเดียวกัน งานที่เป็น knowledge-oriented จะเป็นพวกทางด้าน พวกวาดรูป แต่งเรื่อง 

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


ผมไม่ได้ต้องการจะบอกว่า programmer เป็นสายงานที่ต่ำต้อย ไร้ค่า ไม่มีใครควรมาทำนะครับ 
ตรง ข้าม ยังไงซะ programmer ก็เป็นส่วนที่จำเป็นมากๆส่วนหนึ่งของการทำเกม และไม่ได้ปฎิเสธความจริงที่ว่า การที่คนคนหนึ่งจะเป็น programmer ที่เก่งได้จะต้องใช้ความพยายามอย่างมาก และต้องเรียนรู้เรื่องยากๆมากมาย 
programmer หรือวิศวกร เป็นสายงาน ของแรงงานเฉพาะ เรียกว่าระดับ "expert" หรือ "specialist" ไปในทางลึก ที่มีค่าตอบแทนสูงมากเมื่อเทียบกับแรงงานสายอื่น เป็นการตอบแทนอยู่แล้ว มีเกียรติ ไม่ได้ต่ำต้อยแต่อย่างใด 
เพียงแต่ผมให้เห็นมุมที่กว้างขึ้น 
ว่า programming "สำคัญ" แต่ไม่ใช่ "ทั้งหมด" 

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

ถ้าเราพบว่า ตัวเรายังไม่มีด้านนั้น 
เราอาจจะจัดการ โดยการอาจจะ 
- ฝึกเองเพิ่มเติม 
- หรือหาเพื่อนด้านนั้น 
- หรือหาพันธมิตร 

ช่องว่าง ไม่ได้มีไว้ให้ถอย 
แต่มีไว้ให้เติมให้เต็ม
การพัฒนาโปรแกรมที่ประสบ ผลสำเร็จนั่น จะอยู่ที่ system analysis 75 % เลยครับ เพราะโปรแกรมที่ดีๆ นั่นขึ้นอยู่กับออกแบบเป็นหลักครับ 
เช่น ออกแบบฐานข้อมูล ออกแบบการระบบทำงาน ออกแบบหน้าจออินเตอร์เฟส เป็นต้น 

ส่วน โปรแกรมเมอร์นั้น แค่มีหน้าที่เขียนโปรแกรมให้ทำงานตามระบบที่ system analysis วางไว้เท่านั้น เหมือนกับ วิศวกร คอยคุมงานให้พนักงานก่อสร้างให้ตรงตามแผนที่ได้วางไว้

Programing คือ ศิลปะครับ เป็นงานก้ำกึ่งระหว่าง จินตนาการและตรรถกะศาสตร์ 

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

โปรแกรมเมอร์ทุกคนทำงานพื้นฐานได้เหมือนๆกันก็จริง เหมือนจิตกรที่วาดภาพกันได้ แต่เอกลักษณ์และแนวคิดที่ต่อยอดไปยังจุดมุ่งหมายจะแตกต่างไปตามทักษะของบุคคล

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

นายศิษฏ์ ปัจจัยสมบูรณ์
โดยส่วนตัวแล้วเอางานทางด้าน programming ไปเทียบกับกรรมกร มันก็แค่มุมมองจากการที่ต้องลงมือทำมุมนึงเท่านั้นเอง

อ่านความเห็นเพิ่มเติมได้ที่ http://www.gconsole.com/forum/show.php?page=topicdetail&pagenum=2&cat=&perpage=15&id=78046

2 ความคิดเห็น:

  1. คิดว่านักวิเคราะห์ระบบถือเป็นบุคคลสำคัญคนนึงเลยทีเดียว ถ้าไม่มีนักวิเคราะห์ระบบ โปรแกรมเมอร์ก็จะเขียนโปรแกรมไม่ได้ หรือเขียนออกมาได้ก็ไม่ตรงกับความต้องการขององค์กร ซึ่งก็จะตรงกับบทความที่ว่าไว้ ว่านักวิเคราะห์ระบบเปรียบเหมือนวิศวกรที่คอยคุมงานโปรแกรมเมอร์

    ตอบลบ
  2. ทฤษฏีหลักการวงจรการพัฒนาระบบ ข้อหนึ่งกล่าวว่าควรศึกษาถึงความเป็นไปได้ แต่การโปรแกรมมิ่งที่กล่าวในบทความ คือ การหาแนวทาง แสวงหาบวกกับจินตนาการ เพื่อให้สิ่งที่เป็นไปไม่ได้ให้เป็นไปได้ เป็นสิ่งที่ดูขัดแย้งกัน แต่มันคือช่องว่างของทั้งสองฝ่าย ที่ทำให้โปรแกรมเกิดขึ้นและใช้งานได้จริง

    ตอบลบ

หมายเหตุ: มีเพียงสมาชิกของบล็อกนี้เท่านั้นที่สามารถแสดงความคิดเห็น