“โปรแกรมเมอร์เป็นสิ่งมีชีวิตที่เข้าใจยากที่สุดใน 3 โลก” เป็นคำบ่นที่ผมเคยได้ยินบ่อยๆ จากทั้งเพื่อนๆ และจากเจ้านายตัวเอง
ย้ายงานบ่อย, พูดภาษาอะไรฟังไม่รู้เรื่อง, ทำงานดึกดื่น, ชอบมาสาย, มีความสุขแต่บนหน้าจอ ฯลฯ คือสิ่งที่มักจะได้ยินจากหัวหน้าที่ต้องทำงานกับโปรแกรมเมอร์หลายต่อหลายคน
แต่ถึงอย่างนั้น เกือบครึ่งของคนทำงานไอทีไทย ก็อยู่ในสายโปรแกรมเมอร์ แทบทุกบริษัทต้องมีคนเขียนโปรแกรมเป็นไม่มากก็น้อย ก็คงหลีกเลี่ยงไม่ได้ที่ควรจะต้องมาทำความเข้าใจกับมนุษย์โปรแกรมเมอร์
จากประสบการณ์ที่เคยทำงานเป็นโปรแกรมเมอร์มา 10 ปี ก็พอจะมีคำแนะนำดีๆ ไปถึงหัวหน้าหรือเจ้าของบริษัท ว่าถ้าอยากให้โปรแกรมเมอร์ทำงานได้ดีดังที่ท่านหวัง ท่านควรที่จะ …
1. ขอคอมพิวเตอร์รุ่นแรงสุด เน็ตเร็วสุด
ผมเคยทำงานบนโน้ตบุ้คช่วงหนึ่ง ด้วยนโยบายบริษัทที่ว่าอยากให้ทำงานที่ไหนก็ได้ ซึ่งมันก็ดูเท่ห์ดีนะ แต่ขอโทษเถอะ คอมซีพียูน้อยๆ แรมต่ำๆ เน็ตไร้สายแบบเชื่องช้า มันทำให้งานช้าลงหลายเท่านัก
ต้นทุนของงานเขียนโปรแกรมมีเพียงสองอย่างคือคอมพิวเตอร์และอินเทอร์เน็ต
ดังนั้นคุณควรจัดคอมชุดที่แรงที่สุดเท่าที่จะหาได้ เน็ตที่เร็วสุดๆ จอคอมที่ใหญ่เพียงพอ ถ้าจะให้ดีควรให้โปรแกรมเมอร์ของคุณเลือกซื้อได้เองเลยว่าอยากได้เครื่องแบบไหน นั่นจะทำให้เขาฟินกับการทำงานมากๆๆๆๆ
2. ให้ใส่ชุดเล่นมาทำงานได้
โปรแกรมเมอร์ (ส่วนใหญ่) ทำงานที่ไม่ต้องเจอกับลูกค้า ซึ่งเราก็นั่งอยู่แต่หน้าคอมพิวเตอร์ที่บริษัท บางคนทำงานเป็น 10 ปีก็ไม่ได้ออกไปข้างนอกที่ไหน
ปีแรกที่ผมทำงานโปรแกรมเมอร์ บริษัทให้พนักงานทุกคนใส่เสื้อเชิ้ตรองเท้าหนัง ซึ่งนั่นก็พอจะรับได้ แต่ที่มากกว่านั้นคือให้พวกเราผูกเนคไทด้วย !! (ผมแอบคิดในใจ … เพื่อ ?)
คุณเคยเห็นชุดทำงานของ Mark Zukerberg รึเปล่า ? หรือเคยเห็นชุดที่โปรแกรมเมอร์ในกูเกิลใส่มาทำงานกันไหม ?
ตอนที่อยู่ Reuters อนุญาตให้ใส่เสื้อคอมีปก กางเกงยีนส์ รองเท้าผ้าใบ มาทำงานได้ ทำให้รู้สึกสบายๆ มากขึ้น บรรยากาศในออฟฟิศก็ดูเป็นกันเอง เรียกว่าเรื่องแต่งตัวแค่นี้ แต่ก็ทำให้รักบริษัทเลยแหล่ะ
3. ให้กำหนดวันส่งงานเอง อย่าทวงงานบ่อย
งานเขียนโปรแกรมเป็นงานศิลปะประเภทหนึ่ง คือบางครั้งคิดอะไรไม่ออกก็ไม่สามารถเขียนมันได้เลยจริงๆ แต่บ่อยครั้งที่เจ้านายมักจะมาขอให้โปรแกรมทำโน่นนี่นั่นได้ แล้วบอกว่า “ให้เวลา 2 วันนะ”
และระหว่างนั้นก็ตามมาทวงงานยิกๆๆๆ เสร็จยังๆๆๆๆๆ ซึ่งเป็นสภาพที่โปรแกรมเมอร์เกลียดมาก
คุณคงไม่สามารถบังคับนักวาดภาพได้ว่า ภาพนี้ต้องวาดกี่วันเสร็จ
คุณคงไม่สามารถบังคับนักแต่งเพลงได้ว่า เพลงนี้ต้องแต่งกี่วันเสร็จ
สิ่งที่ดีที่สุดคือ คุณควรให้โปรแกรมเมอร์กำหนดวันส่งงานเอง เช่นบอกงานที่อยากได้มา แล้วให้เขาไปคิดดูว่าใช้เวลากี่ชั่วโมง หรือกี่วัน อาจจะมีต่อรองได้เล็กน้อยเผื่อมันอู้ (ฮา) และอย่าทวงงานบ่อย รอดูงานของเขาในวันที่กำหนดเลยดีกว่า
ผมเชื่อว่าโปรแกรมเมอร์ส่วนใหญ่ ถ้าให้คำมั่นไปแล้วว่ากี่วันเสร็จ เราก็ทำให้เสร็จในเวลาได้ … แม้บางครั้งจะเสร็จเอาวินาทีสุดท้ายก็เถอะนะ 55
4. ประชุม 20% เขียนโปรแกรม 80%
งานประชุมเป็นสิ่งที่น่าเบื่อมากสำหรับโปรแกรมเมอร์ ไม่ว่าจะเป็นประชุมทีม, รายงานผลงาน, คุยรายละเอียดโปรเจ็คใหม่, Monthly Meeting, Weeking Meeting, Daily Meeting ฯลฯ
งานประชุมคือการหยุดงานเขียนโปรแกรมโดยสมบูรณ์แบบ คุณไม่สามารถเขียนโปรแกรมชั่วโมงนึงประชุมอีกชั่วโมงนึงสลับไปสลับมาได้
อย่างที่บอกว่างานเขียนโปรแกรมเป็นงานศิลปะ และต้องการสมาธิสูง (มาก) ถ้าเป็นไปได้คุณควรจัดประชุมให้น้อยที่สุด ตัดที่ไม่จำเป็นออกไป ถ้าอยากได้อะไรก็เดินมาถามที่โต๊ะ อยากให้รายงานอะไรส่งเป็นอีเมล์ก็ได้
ตอนนี้หลายบริษัทนำ Agile และ Scrum มาใช้ ซึ่งมันดีกับโปรแกรมเมอร์มาก คุณควรศึกษาดูสักนิด
5. ให้เงินเดือนตามความสามารถ ไม่ใช่อายุงาน
โปรแกรมเมอร์เป็นงานที่แปลก คือไม่ใช่งานที่ผู้มีประสบการณ์จะทำได้ดีกว่าเด็กรุ่นใหม่เสมอไป อย่างนึงเพราะเทคโนโลยีเปลี่ยนทุกวัน เราต้องศึกษาอะไรใหม่ๆ ตลอดเวลา
บ่อยครั้งที่โปรแกรมเมอร์รุ่นใหม่ทำงานได้ดีกว่า เร็วกว่า ฉลาดกว่าโปรแกรมเมอร์รุ่นก่อนๆ ดังนั้นคุณควรให้ค่าตอบแทนกับโปรแกรมเมอร์ ตามความสามารถและผลงาน มากกว่าความอาวุโส
แน่นอนว่าทุกบริษัทก็มีการให้ตำแหน่งตามอายุงาน เช่น Junior, Senior, โคตร Senior อันนี้ก็เข้าใจได้ แต่มันก็ไม่แปลกหรอกที่เราจะให้เงินเดือน Junior บางคนมากกว่า Senior ถ้าเขาเก่งจริง เจ๋งจริง
ผมเคยเห็นหลายบริษัทที่สูญเสียโปรแกรมเมอร์เก่งๆ ไป เพราะมัวแต่ยึดติดกับระบบเดิมๆ ซึ่งสุดท้ายแล้วผมว่าค่าของคน ก็อยู่ที่ผลของงานนั่นแหล่ะครับ
ที่มาภาพ – OS X Daily,
5 สิ่งที่โปรแกรมเมอร์ควรเข้าใจเจ้านายให้มากกว่านี้ [แถม]
เดี๋ยวจะหาว่าฟังความข้างเดียว #ฮา ถ้าโปรแกรมเมอร์ท่านไหนกำลังอ่านอยู่ เจ้านายเค้าก็มีอะไรฝากมาบอกเหมือนกันนะว่า …
1. ส่งงานให้มันตรงเวลาที่ขอไว้หน่อย ถ้าบอกว่าจะเสร็จใน 2 วันก็ต้อง 2 วัน
2. ติดปัญหาอะไรให้รีบมาบอก อย่าพยายามแก้ปัญหาอยู่คนเดียว เราไม่ใช่คนแรกในโลกหรอกนะที่เจอปัญหานี้
3. หัดสื่อสารภาษาที่คนทั่วไปฟังเข้าใจได้บ้าง ไม่ใช่ทุกคนที่เข้าใจภาษาเทคนิคหรอกนะ
4. จะย้ายงานก็ช่วยเผื่อเวลาอย่างน้อย 30 – 45 วันบ้าง เขียนเอกสารถ่ายทอดงานดีๆ คนมาทำหลังจะได้ไม่ต้องลงนรกใน Logic พิศดารของท่าน
5. อย่าอู้ช่วงแรกแล้วมาปั่นเอานาทีสุดท้าย … Please ได้โปรด