#125 - vision คนเราเปลี่ยนบ่อยแค่ไหน

05 May 2020 Personal

Sunset in Solitude
Photo by Joshua Earle / Unsplash

วันนี้ขอพูดถึงเรื่องเกี่ยวกับ Software Development และงานที่ทำ รวมถึงงานที่เคยทำครับ มาแชร์ในมุมมองของสิ่งที่คิดว่าควรปรับปรุง หรือควรแก้ไข มันเหมือนกับการมองย้อนกลับไปดูตัวเอง ดูทีม และดูสิ่งต่างๆ ทั้งความคิดเห็นของเรา ความคิดเห็นของคนอื่นๆ ในหลายๆมุมมองนั่นเอง

สำหรับบทความนี้เป็นเพียงมุมมองของผมเท่านั้น ผมนำมาเขียนเพื่อทบทวน เพื่อตระหนักถึงสิ่งที่เกิดขึ้น ข้อดี ข้อเสียของมันเท่านั้น

ช่วงนี้ผมรู้สึกว่า เป็นช่วงที่ผมรู้สึกสับสนอีกครั้ง ทบทวนตัวเอง ทบทวนสิ่งต่างๆ ผมเจอปัญหาเวลาในการทำ Software ซึ่งมันรู้สึกว่าจะเป็นปัญหาที่มันไม่ได้ใหม่อะไรเลย (จริงๆ ไม่ใช่แค่ Software ทุกที่ก็ต้องมีปัญหาหมดแหละ) และเจอมาเรื่อยๆ อาจจะแตกต่างกันที่รายละเอียดบ้างเล็กน้อย มันก็มีทั้งแก้ปัญหาได้ และแก้ได้แต่ก็กลับมาอีก ทีนี้ก็เลยมาคิดว่า ปัญหาเหล่านี้ เป็นที่ตัวผมเอง เป็นที่ตัวระบบ หรือเป็นที่อะไรกันแน่นะ เผื่อจะหาทางแก้มันได้ ปัญหาที่เจอในการทำงานสายนี้ ตลอดระยะเวลาหลายปีที่ผ่านมาคือ

  • ลูกค้าไม่เข้าใจ Technical ข้อนี้ไม่ใช่เฉพาะลูกค้า (Client) ที่จ้างเรานะ แต่หมายถึงหัวหน้าทีม หรือ Product Owner หรือคนที่กำหนด Direction ของ Product ได้เนี่ย เข้าใจแค่ Business แต่ไม่ได้เข้าใจ Technical ทำให้เจอปัญหามากมายเลยทีเดียว
  • ปัญหาแรก คือ บางครั้ง อยากได้ Feature นี้ ก็กำหนดวันมาแล้ว ว่าต้องเสร็จวันนี้ โดยไม่มีการ Planning หรืออะไรทั้งนั้น เป็น Magic Number ขึ้นมา หรือว่าดูฤกษ์งามยามดีก็ไม่ทราบได้ ทั้งที่ไม่มีเหตุผลอะไรประกอบ
  • ต่อมา นอกจาก Planning ปักวันที่ต้องกำหนดแล้ว ช่วงเวลาทำงาน ยังไม่มีการ Planning ไม่มีการมาดู Progress เลยว่างานเป็นไง ตรงตามเงื่อนไขหรือเปล่า
  • บางครั้ง เรามีทีม Design นะ ออกแบบมาดีแล้วทั้ง UX/UI ปรากฎว่าลูกค้า หรือบางที Owner อยากได้อีกแบบ ขอเปลี่ยนสี ตรงนี้ย้ายปุ่ม ตรงนี้ไม่เอา บางทีก็ขอเพิ่ม จนคิดว่า เราจะมี UX/UI ไว้ทำไมกันนะ ข้อนี้เคยเกิดปัญหาหลายๆครั้งมาแล้ว เช่นเรื่องของความ Trust บางครั้งต่างฝ่ายต่างเหมือนไม่เชื่อมั่นกัน
  • เราเคย Meeting กันเกือบทุกวัน ในเรื่องที่หาสาระไม่ได้ประจำ ทุกครั้งๆ ก่อนหมด Meeting เราตกลงกันว่า จะกำหนดหัวข้อ หรือจำกัดเวลา ไม่นอกเรื่อง แต่ก็ไม่เคยทำได้ กลายเป็น Meeting เป็นสิ่งที่เสียเวลาที่สุด แต่ดันไม่ได้ถูกหักออกจากเวลาที่เรา ประเมินงานด้วยซิ
  • ด้วยการที่ทำงานเป็นทีม และเราไม่มี Permission ในการทำอะไรมากมายใน Project บางครั้งสิ่งที่เราเสนอ กว่าจะ Approved ก็ลืมไปแล้ว นานมากๆ บางที เป็นเรื่อง Urgent และควร Patch ด่วน เช่น ปล่อย token หลุดไปได้ไง แต่ก็ไร้วี่แวว บอกไม่เป็นไร ขอทำ Feature อะไรไม่รู้ที่มันไม่ใช่ Core business ด้วย จนกลายเป็นว่า รู้สึกว่าพูดจนขี้เกียจ และเราก็ปล่อยผ่านไปเลย ก็ไม่รู้ว่าเป็นเรื่องดีหรือไม่ดีกันแน่นะ
  • บางครั้งเรื่องการการ Refactoring หรือการนัก Invest หรือ R&D บางอย่าง เพื่อมา improved งานให้มันดีขึ้น ในเชิง Business แล้วมันไม่ได้มี Profit มากนัก หรือแทบไม่มีเลย น้อยครั้งที่ลูกค้าหรือ Owner จะโอเคที่ให้ Refactoring (อันนี้ยอมรับว่า ในมุมมองลูกค้า มันควรเป็นงานของ Dev) แต่เรื่องของ R&D หรือ Improve อะไรต่างๆ บางครั้งในทีมเราเอง ยังไม่ยอม improve มีเท่าไหร่ ใช้แค่นั้น เรื่อยๆ จบวัน กลับบ้าน
  • เรื่อง Trust เป็นเรื่องที่ละเอียดอ่อนมากๆ การที่เราจะไว้ใจเพื่อนร่วมทีม ผมว่าไม่เท่าไหร่ แต่การที่ลูกน้องไว้ใจหัวหน้า หัวหน้าไว้ใจลูกค้า เราไว้ใจลูกค้า ลูกค้าไว้ใจเรา เป็นเรื่องที่ยากมากๆ และ sensitive ค่อนข้างสูงเลยทีเดียว และเราไม่สามารถกำหนด หรือบังคับใครได้ ดูที่การกระทำของเรามากกว่า ดูที่ความจริงใจ
  • บางครั้งการที่ผมได้ทำงาน หรือบางโปรเจ็ค ผม contributed ให้กับงานไปมากมาย แต่กลับกันสิ่งที่ผมอยากได้ด้วยคือ ตัวเราได้พัฒนาตัวเอง ได้เพิ่มทักษะ แต่ถ้าโปรเจ็คไหน หรืองานไหน ที่ทำแล้ว ผมรู้สึกว่าตัวเองย่ำอยู่กับที่ ไม่ได้พัฒนาตัวเองเลย กลายเป็นเหมือนเครื่องจักรที่แค่ทำงานตาม task ที่ได้รับ หรือตาม timeline ที่ถูกกำหนดแล้ว แบบนี้ก็รู้สึกว่าไม่ใช่สิ่งที่ผมต้องการแฮะ (กรณีนี้เคยมีเหตุกาณณ์ที่ผมขอรับงาน Freelance มาทำหรือหา Side Project เพื่อเพิ่มทักษะตัวเอง แต่กลับกลายเป็นว่า ถูกมองว่า ไม่ทุ่มเทให้กับงาน ทั้งที่เราใช้เวลานอกเหนือเวลางานนะเนี่ย และเป็นงานที่หาเองด้วย หรือคิดมาเอง ไม่ได้เกี่ยวกับบริษัทเลย)
  • อันนี้เป็นอารมณ์ ณ​ ตอนเขียนเลย บางทีก็รู้สึกว่า เสียงของเรา ในฐานะ Dev คนหนึ่ง ในทีมที่มารวมตัวกันได้ไม่นาน มี Owner ที่ไม่ได้เข้าใจ Engineer เลย ไม่มี skill ฝั่ง UX/UI เลย กลายเป็นว่า สิ่งต่างๆ ที่เราเห็น เป้าหมายที่เราคาดหวัง เหมือนคนละเป้าหมายกัน และมันเหมือนยิ่งไกล ยิ่งห่างกันไปเรื่อยๆ

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

และทุกครั้งที่เจอแต่เรื่องของ Legacy Code หรือ Bad code ที่มันควรทำได้ดีกว่านี้ Code Quality ที่ไม่ต่างจากโปรเจ็คนักศึกษา ในบริษัทระดับ Inter มันก็ไม่ควรจะเป็นแบบนี้ อย่างน้อยก็ควรจะ Refactoring ไม่ใช่ปล่อยไปเฉยๆ และพัฒนาต่อไปเรื่อยๆ เพิ่ม Feature ก็เอาของเก่ามาเปลี่ยนชื่อตัวแปร แบบนี้ ยิ่งนาน ผมก็รู้สึกยิ่งซึบซับสิ่งที่ตรงกันข้ามกับผมเรื่อยๆแฮะ

จนตอนนี้รู้สึกว่า ถ้าเราฝืนทำ หรือฝืนอยู่กับสิ่งที่เราไม่ชอบ ก็ไม่ควรจะฝืนแฮะ ทุกครั้งที่ผมเปลี่ยนงาน หรือย้ายบริษัท หรืออะไรก็แล้ว ส่วนใหญ่แล้วเกิดจากเพราะผมมองว่า Vision ของผมเอง ณ เวลานั้น กับ vision ที่บริษัท หรือทีม หรือใครก็ตามตั้งไว้ มันเริ่มหนีห่างจาก Vision ของตัวเองผมเอง เมื่อผมรู้สึกแบบนั้น สิ่งที่ต้องทำคือ Focus ที่ vision ของผม ไม่ใช่ของคนอื่น

สวัสดี


📝 Day 125 of #365DaysOfBlogging

#เขียนบล็อก #ฝึกสร้างนิสัย #GoodHabit #Blogging


Chai Phonbopit

เป็นนักพัฒนาซอฟแวร์ เวลาว่างนอกจาก Coding ก็จะเขียนบล็อกเกี่ยวกับสอนทำเว็บไซต์ สอน Programming ที่ devahoy.com ชื่นชอบการพัฒนาตัวเองและเชื่อว่าการสอนเป็นหนึ่งในวิธีการเรียนรู้ที่ดีที่สุด ❤️🎒🍣🎸⚽️

แสดงความคิดเห็น