โลกยุคปัจจุบันเป็นโลกแห่งเทคโนโลยี
ผู้ที่เรียกได้ว่าเป็นผู้สร้างเทคโนโลยีเหล่านั้นให้เกิดขึ้นจริงก็คือ “โปรแกรมเมอร์” นั่นเอง และผมเชื่อว่าแทบจะทุกคน ทุกบริษัทนั้นจะต้องมีการทำงานหรือประสานงานกับโปรแกรมเมอร์แน่ๆ
โปรแกรมเมอร์นั้นก็เป็นเหมือนกับทุกๆ คน ทุกๆ อาชีพ ที่เชี่ยวชาญบางสิ่งแต่ไม่เก่งบางอย่าง ถ้าเราไม่เข้าใจ ไปสื่อสารหรือวัดผลพวกเขาในรูปแบบที่ไม่ควรจะเป็นมันก็คงไม่ต่างอะไรกับการที่เราสื่อสารกับปลาด้วยภาษาของนกหรือวัดผลความสามารถของปลาด้วยความสูงของการปีนต้นไม้
การที่คุณคลิกเข้ามาอ่านบทความนี้ ผมคิดว่าคุณน่าจะเป็นผู้บริหารหรืออย่างน้อยเป็นคนที่ต้องทำงานร่วมกับโปรแกรมเมอร์ แล้วคุณอาจจะรู้สึกว่าคุณงงหรือเข้าไม่ถึงโปรแกรมเมอร์ที่คุณทำงานด้วย เพราะฉะนั้นในบทความนี้ ผมจะขอมาแชร์สิ่งที่ผมเรียนรู้และตกผลึกมาจากการทำงานร่วมกับโปรแกรมเมอร์มาหลายปี ผมรับรองว่าพอคุณอ่านจบแล้ว คุณจะเข้าใจวิธีการทำงานร่วมกับโปรแกรมเมอร์มากขึ้นแน่นอนครับ
เช่นเคย เห็นด้วย ไม่เห็นด้วยอย่างไร มาพูดคุยกันต่อได้ในคอมเมนต์นะครับ 🙂
5 สิ่งที่ผู้บริหารควรทำความเข้าใจเกี่ยวกับโปรแกรมเมอร์
1. โปรแกรมเมอร์ไม่ชอบอะไรกว้างๆ
“ผมอยากได้เว็บไซต์ที่ช่วยให้ผมขายของได้”
ถ้าคุณบรีฟให้โปรแกรมเมอร์แบบกว้างๆ มีแนวโน้มสูงมากว่าสิ่งที่คุณจะได้รับจะไม่เหมือนกับสิ่งที่คุณจินตนาการไว้
ตัวอย่างคำพูดข้างต้นเป็นตัวอย่างที่ค่อนข้าง Extreme ในความเป็นจริงแล้วคำว่า “กว้างๆ” ยังหมายถึงการบรีฟเรื่องฟีเจอร์ต่างๆ ด้วยเช่นถ้าคุณบอกว่าคุณอยากได้เว็บไซต์ที่สามารถจ่ายเงินได้ คุณหรือทีมงานของคุณควรที่จะต้องลงรายละเอียดมากกว่านี้อีก เช่นระบบการจ่ายเงินจะต้องมี 3 แบบได้แก่ การตัดผ่านบัตรเครดิต/เดบิตผ่าน Omise, การจ่ายผ่าน Paypal และการจ่ายผ่านการโอนเงิน เป็นต้น
ยิ่งลงรายละเอียดมากเท่าไหร่ก็ยิ่งดี เพราะโปรแกรมเมอร์ไม่ได้เป็นสายธุรกิจ (เช่น Business Analyst, Project Manager หรือ Product Owner) ความเชี่ยวชาญของพวกเขาไม่ได้อยู่ที่การวิเคราะห์และเข้าใจธุรกิจในหลายๆ มุมมอง
เพราะฉะนั้นหลังจากนี้ถ้าจะบอกให้โปรแกรมเมอร์พัฒนาอะไรขึ้นมาสักอย่าง ผมแนะนำว่าคุณ (หรือทีม) ควรที่จะพยายามแตกฟีเจอร์ออกมาให้ได้มากที่สุดเท่าที่เป็นไปได้ครับ
2. โปรแกรมเมอร์ไม่ใช่นักเวทย์ เสกทุกอย่างให้ได้ทันที
“ผมอยากได้เว็บไซต์ที่ช่วยให้ผมขายของได้ เอาง่ายๆ ก็พอ น่าจะใช้เวลาไม่นานเนอะ 1-2 วันก็น่าจะทำเสร็จแล้ว”
ในการพัฒนาเว็บไซต์ แอปพลิเคชัน หรือซอฟต์แวร์ สิ่งที่ดูเหมือนง่าย หลายๆ ครั้งแล้วมันไม่ได้ง่ายเลย ยกตัวอย่างเช่นการพัฒนาฟีเจอร์ “ลงทะเบียน” ของเว็บไซต์
ดูเผินๆ ก็แค่ทำหน้าลงทะเบียนให้คนเข้ามาลงทะเบียนง่ายๆ แค่นั้น 1-2 วันก็ควรจะทำเสร็จได้ แต่ในความเป็นจริงแล้วรายละเอียดมันมากกว่านั้น สิ่งที่โปรแกรมเมอร์ต้องทำมีตั้งแต่
1.ระบบหน้าบ้าน (Frontend) – หน้าลงทะเบียน หน้าขอบคุณ
2. ระบบหลังบ้าน (Backend) – การจัดการคนที่ลงทะเบียน เช่นข้อมูลที่ต้องการเก็บ การเพิ่ม/ลดข้อมูล การลบ และการแบน เป็นต้น
3. ระบบอีเมล – ไล่ต้ังแต่ระบบอีเมลยืนยันการลงทะเบียน ระบบการจัดการการลืมรหัสผ่าน เป็นต้น
นอกจากนั้นแล้วเมื่อพูดเรื่องการลงทะเบียน ฟีเจอร์ที่มักจะต้องพ่วงมาด้วยอาจจะมีเรื่องของการล็อกอิน การบริหารจัดการข้อมูลของตัวเองของผู้ใช้งาน และอื่นๆ อีกหลายอย่าง
อ่านถึงตรงนี้ คุณน่าจะพอเข้าใจแล้วว่า 1-2 วันมันไม่พอ ซึ่งวิธีการที่จะทำให้คุณรู้ว่าการพัฒนาเว็บไซต์หรือฟีเจอร์อะไรบางอย่างขึ้นมาจะต้องใช้เวลานานแค่ไหนก็คือการกลับไปอ่านข้อที่ 1 ที่ผมเขียนไว้ก่อนหน้านี้ครับ
ทุกสิ่งทุกอย่างมีระยะเวลาของมัน
Note: ถ้าอยากจะเร่งเวลาสามารถทำได้โดยการเพิ่มจำนวนโปรแกรมเมอร์ครับ ทั้งนี้คุณควรที่จะต้องมี Project Manager ที่ดีมาบริหารจัดการด้วยครับ ไม่อย่างนั้นยิ่งคนเยอะ ปัญหาก็จะยิ่งเยอะตามแน่ๆ ครับ
3. โปรแกรมเมอร์ไม่รู้ทุกเรื่องเกี่ยวกับ IT
“คอมผมเสีย มาซ่อมให้ผมหน่อย”
โปรแกรมเมอร์ไม่ได้รู้ทุกสิ่งทุกอย่างเกี่ยวกับเทคโนโลยี
จริงๆ แล้วมันไม่ใช่เรื่องแปลกเลยที่โปรแกรมเมอร์ที่เขียนโค้ดเก่งๆ ไม่สามารถซ่อมคอมได้ ใช้อีเมลไม่เก่ง ติดตั้งเซอร์เวอร์ไม่ได้
ถ้ายังไม่เห็นภาพ ผมอยากให้นึกถึงฝ่ายการตลาดครับ พนักงานการตลาด 1 คนอาจจะเก่งเรื่องการวางแผนการสื่อสารผ่าน Social Media แต่เขา/เธออาจจะไม่ได้เก่งเรื่องการเขียนคอนเทนต์ การทำรูป การทำวีดีโอ การทำ SEO (ซึ่งงานเหล่านี้เป็นหน้าที่ของ Copy Writer, Graphic Designer, Videographer และ SEO Specialist ครับ)
ใช้คนให้ถูกงาน จะได้งานที่ถูกใจครับ 🙂
4. โปรแกรมเมอร์ไม่ใช่ดีไซน์เนอร์
“ขอเว็บสวยๆ ใช้งานง่ายๆ นะ”
อาจจะมีบ้างที่ในโปรแกรมเมอร์ 1 คนมีทั้งทักษะการเขียนโปรแกรมและทักษะการออกแบบ (อย่างเช่นคุณเม่น Seed Themes) แต่ไม่ใช่โปรแกรมเมอร์ทุกคนที่จะมีหัวทางด้านการออกแบบ
หน้าที่ของการออกแบบเว็บไซต์หรือซอฟต์แวร์ให้ใช้งานง่ายและสวยงามนั้นเป็นหน้าที่ของ UX/UI ดีไซน์เนอร์ครับ ซึ่งโดยปกติแล้วในการทำเว็บไซต์หรือซอฟต์แวร์ขึ้นมาสักตัว ตำแหน่ง UX/UI ดีไซน์เนอร์และโปรแกรมเมอร์จะต้องทำงานร่วมกันครับ (ซึ่งถ้าเป็นงานใหญ่หน่อยก็จะมี Project Manager เข้ามาด้วย หรือถ้าเป็นงานที่เกี่ยวข้องกับการทำการตลาดหรือแคมเปญ อาจจะมี Digital Planner, Copy Writer, Graphic Designer และตำแหน่งอื่นๆ มาร่วมวงด้วยครับ)
คุณควรที่จะต้องเข้าใจและบริหารความคาดหวังของคุณครับ
เรื่องฟีเจอร์และฟังก์ชันของให้ไว้ใจโปรแกรมเมอร์ แต่ถ้าเรื่องออกแบบจะต้องมี UX/UI ดีไซน์เนอร์มาร่วมวงด้วยครับ
5. โปรแกรมเมอร์ไม่ใช่นักขาย
“คุณต้องโน้มน้าวให้ผมเชื่อให้ได้ว่าทำไมคุณถึงทำแบบนี้”
ข้อนี้เหมือนข้อที่แล้วเลย มีบ้างโปรแกรมเมอร์ที่พูดเก่ง (อย่างเช่นคุณหนูเนย) แต่ไม่ใช่โปรแกรมเมอร์ทุกคนจะพูดเก่ง โน้มน้าวได้
โดยปกติแล้วโปรแกรมเมอร์ที่ผมเจอมานั้นเป็นคนที่พูดไม่เก่ง โน้มน้ามด้วยอารมณ์ไม่ค่อยได้ ผมคิดว่าสาเหตุนั้นเป็นเพราะโปรแกรมเมอร์เป็นนักปฏิบัติ ไม่ใช่นักพูด (ถ้าอยากได้นักพูด ต้องให้เซลล์ช่วยครับ) เพราะฉะนั้นเวลาพูดคุยกับโปรแกรมเมอร์ ผมแนะนำให้คุณโฟกัสที่เนื้อหาที่เขาต้องการจะสื่อ มากกว่าเรื่องความสละสลวยของภาษาหรืออารมณ์นะครับ
โปรแกรมเมอร์เป็นนักคิด นักทำ ไม่ใช่นักอธิบาย
สรุป
สิ่งที่ผมอยากจะเน้นย้ำอีกครั้งก็คือถึงแม้ว่านี่คือสิ่งที่ผมตกผลึกมาได้จากการทำงานกับโปรแกรมเมอร์หลายๆ คน แต่ไม่ใช่โปรแกรมเมอร์ทุกคนจะเป็นอย่างที่ผมบอกมาทั้งหมดนะครับ
และสุดท้าย สิ่งที่ผมอยากจะสรุปก็คือการใช้คนให้ถูกกับงานจะทำให้คนคนนั้นสามารถเปล่งประสิทธิภาพออกมาได้มากที่สุดซึ่งจะส่งผลให้งานของคุณออกมาดีครับ
เห็นด้วย ไม่เห็นด้วย หรือมีคอมเมนต์อย่างไร มาคุยกันต่อได้ในคอมเมนต์เลยนะครับ 🙂