Design Engineer ทำไมถึงเป็นตำแหน่งที่น่าจับตามอง
ในช่วงที่ UX เริ่มหางานยากขึ้น ส่วน Dev ก็โดน AI ไล่จี้มาติดๆ แต่ในวิกฤตนี้ ตำแหน่งที่กำลังเบิกบานอย่าง Design Engineer กลับน่าสนใจมากขึ้นเรื่อยๆ ครับ แล้วทำไมตำแหน่งนี้ถึงกลายเป็นจิ๊กซอว์ชิ้นสำคัญ? คุณ Raphael Salaja ที่เป็น Design Engineer ที่ Warp เค้ามาเล่าให้ฟังที่งาน MIT Startup Week ครับ
ใน UX Community ผมจะพูดกับเพื่อนๆ ว่า “คนที่ออกแบบซอฟต์แวร์ต้องเข้าใจการพัฒนาซอฟต์แวร์” เพื่อให้เราออกแบบได้สุด และในขณะเดียวกัน “นักพัฒนาที่เข้าใจการสื่อสารกับมนุษย์” ก็จะสร้างของที่ตอบโจทย์คนใช้ได้ดีที่สุดเช่นเดียวกัน
พอได้ดูวิดีโอนี้แล้วโดนใจมากครับ ผมเลยขอหยิบเอาประเด็นสำคัญมาขยายต่อเป็น 3 ข้อครับ
1. คุณภาพงานมักจะไปหายไปตอนที่ส่งต่องาน (Handoff)

ในทีมแบบดั้งเดิม ฝั่ง Design จะสนใจว่า งานดูเป็นยังไง ส่วน Dev สนใจว่า ระบบทำงานได้ถูกต้องหรือเปล่า แม้ความตั้งใจจะดูเหมือนไปทางเดียวกัน แต่จริงๆ แล้วทั้ง มุมมอง และ ภาษา กลับต่างกันอย่างมากครับ และต่อให้เข้าใจคำศัพท์ตรงกัน แต่พอมุมมองต่างกัน ก็ทำให้เกิดความเข้าใจผิดได้ง่ายมาก
แต่ถ้าจะให้ Designer ใส่รายละเอียดให้ครบถ้วน ต้นทุนในการใส่รายละเอียดก็สูงมาก พอรายละเอียดไม่ครบ รอยต่อตอนส่งมอบงานจึงกลายเป็นจุดที่คุณภาพของงานถูกลดทอนลง (ในวิดีโอใช้คำว่า “Where quality goes to die”)
แต่ Design Engineer ไม่มีปัญหานี้เพราะเขาทำงานได้ทั้งฝั่ง Code และ Design สามารถสวมหมวกทั้งสองใบได้พร้อมกัน ทำให้เข้าใจมุมมองของทั้งสองฝั่งอย่างครบถ้วน ที่สำคัญคือ ต้นทุนในการ Handoff จะหายไปเลยครับ
2. เมื่อ UI ไม่สะท้อนโครงสร้างข้อมูล… ความซับซ้อนก็ตามมา️

เมื่อ Designer ไม่เข้าใจโครงสร้างการเก็บข้อมูล (ไม่เข้าใจ Database) หน้าจอ UI ที่ออกแบบมาจะไม่สะท้อนการเก็บข้อมูลจริง ทำให้มีโอกาสสูงมากที่ผู้ใช้จะเดาการทำงานของระบบผิด และเกิดความคาดหวังที่คลาดเคลื่อนไปจากที่ระบบเป็นจริงๆ เช่น คิดว่ากดตรงนี้น่าจะได้สิ่งนั้น หรือคาดหวังว่าพอแก้ตรงนี้แล้วมันจะไปเปลี่ยนข้อมูลอีกที่นึงด้วยเลย แต่พอทำแล้วไม่ได้เป็นตามที่หวัง ผู้ใช้ก็จะงง และเกิดความไม่พอใจได้ครับ
ทีนี้พอผู้ใช้ Feedback กลับมาให้แก้ งานของ Dev ก็จะยากขึ้นเรื่อยๆ เพราะต้องสร้างตัวกลางเพื่อปรับให้ข้อมูลไหลไปแสดงผลบน UI ตาม Feedback นั้น ซึ่งมันจะยิ่งเพิ่มความซับซ้อนของระบบขึ้นเรื่อยๆ พอนานเข้าความซับซ้อนนี้ก็จะทำให้ระบบมี Bug ได้ง่าย หรืออาจจะทำให้ไม่สามารถพัฒนาต่อได้อีกเลย เพราะมันซับซ้อนเกินไปแล้ว
3. การใส่ “Taste” และ “Craftsmanship” ลงไปในงานจริง

การใส่ Taste ลงไปในงานจริงก็สำคัญครับ หากส่งงานออกแบบ UX/UI ไปให้ Front-end Engineer ทั่วไปทำต่อ หลายครั้งรายละเอียดเล็กๆ น้อยๆ ก็จะหายไป ไม่ใช่ว่าเขาไม่เก่ง แต่เพราะมุมมองของเขาคือการทำให้ เหมือน และทำให้ ทำงานได้ โดยที่ไม่ได้รู้เบื้องหลังการออกแบบ (เพราะต้นทุนในการเล่าให้เข้าใจมันแพงมาก) ดังนั้นการเก็บรายละเอียดทั้งในงาน Handoff เลยเป็นเรื่องที่แพงมากเช่นเดียวกัน ตัวอย่างเช่น ถ้าไม่มีการกำหนดสเปคของ Transition มาให้ ทีมพัฒนาก็อาจจะไม่ได้ใส่ลงไปก็ได้
จริงๆเรื่องนี้ถ้า Designer และ Developer คุยกันเยอะๆ หรือนั่งข้างๆ กัน จะลดปัญหานี้ได้มากครับ แถมทำให้ต้นทุนในการสื่อสารลดลงอีกด้วย
แต่สำหรับ Design Engineer เขาคือ Developer ที่มีความพิถีพิถันสูง (Craftsmanship) เขาจะเติมเต็ม Micro-interaction หรือ Transition ต่างๆ ให้สมบูรณ์แบบได้เองโดยไม่ต้องรอสเปคละเอียดยิบ เพราะเขาสามารถตัดสินใจในเรื่อง ความสวยงาม ความต่อเนื่อง ไปพร้อมกับการเขียนโค้ดได้เลยครับ

ลองดูตัวอย่างนึงใน app Dealdroid ครับ ตัวที่แสดงสถานะ upload ไฟล์ของตัว chat ในจุดนี้ถ้า Designer เป็นคนคิด ก็อาจจะได้ตัวแสดงสถานะที่สวยงาม แต่ก็อาจจะสร้างได้ยาก เพราะ Library ที่ Developer มี ไม่ได้มีหน้าตาแบบนั้น แต่ถ้าให้ Developer คิดเอง ก็อาจจะใช้ Library ที่มีอยู่แล้วทำให้สร้างได้ง่าย แต่ก็อาจจะแสดงผลไม่ได้อยู่ตรงกลาง หรือไม่ได้มี micro-interaction ที่ปราณีต ได้ตามที่ Library ให้มาเลย
ในทางกลับกัน Design Engineer สามารถเห็นภาพคร่าวๆ ของสิ่งที่อยากได้ก่อน แล้วเลือกใช้ Library ที่ได้ผลลัพธ์ที่ใกล้เคียงที่สุด จากนั้นก็ เริ่มปรับแต่งให้ได้ผลลัพธ์ที่สายงามและมี micro-interaction ที่ดีได้เลย ถ้าทำแล้วออกมาไม่ดี ก็สามารถกลับไปเลือก Library ตัวอื่นที่เหมาะสมกว่าได้ทันทีด้วยครับ การทำแบบนี้จะมี Agility สูงมาก เหมือนมี Developer และ Designer มานั่ง pair programming กันเลยทีเดียวครับ
สรุป
ในโลกที่ AI เริ่มสร้าง UI สวยๆ ได้ในคลิกเดียว สิ่งที่จะแยกแยะ “ผลิตภัณฑ์ที่ดี” ออกจาก “ผลิตภัณฑ์ที่พิเศษ” คือ รายละเอียดและจิตวิญญาณ ที่ใส่ลงไปครับ
UX/UI Designer คือสถาปนิกผู้วางโครงสร้างและจินตนาการความสวยงาม แต่ Design Engineer คือช่างฝีมือผู้ชำนาญ ที่นำพิมพ์เขียวนั้นมาสร้างเป็นความจริงที่จับต้องได้จริง ไม่ใช่แค่ทำให้ “เสร็จ” แต่ทำให้ “สมบูรณ์” ด้วยการใส่ Taste และ Craftsmanship ผ่านทุกบรรทัดของโค้ด เพื่อมอบประสบการณ์สุดท้ายที่ดีที่สุดให้กับผู้ใช้ครับ
คำถามที่น่าสนใจคือ เรายังต้องการ UX/UI Designer ที่ไม่เข้าใจ code หรือเรายังต้องการ Developer ที่ไม่เข้าใจการออกแบบอยู่ไหม? หรือเราควรจะพัฒนาตัวเองให้มีทักษะทั้งสองด้านอย่าง Design Engineer เพื่อตอบโจทย์ของการพัฒนาในปัจจุบัน 🤔
ไม่ว่าคำตอบจะเป็นอย่างไร ผมเชื่อว่าคนที่พร้อมเรียนรู้ จะสามารถปรับตัวและเติบโตได้ในทุกบทบาทครับ เราสามารถใช้ทักษะการออกแบบที่แข็งแรงของเรามาร่วมกับการเขียนโค้ดเพื่อสร้างสรรค์ได้ หรือถ้าเรามีพื้นฐานการเขียนโค้ดอยู่แล้ว การเพิ่มทักษะการออกแบบก็จะช่วยให้เราสามารถสร้างผลิตภัณฑ์ที่มีจิตวิญญาณได้มากขึ้นแน่ๆ มาร่วมเรียนรู้และเติบโตไปด้วยกันครับ! 🚀
Comments