Senior Developer https://www.facebook.com/seniordevelopervn/

เมื่อวันก่อนมีโอกาสได้ฟัง Skooldio LIVE Ep.23 - What it takes to become a Senior Developer? ซึ่งได้พูดถึงเรื่องของ Senior Developer ว่ามันหมายความว่าอะไร ทักษะอะไรที่มีความจำเป็นในการก้าวขึ้นไปเป็น Senior Developer

ในฐานะที่เราอยู่ในช่วงก้าวไปเป็น Senior Developer จึงนำมาสรุปไว้เตือนตัวเองนิดหน่อย

การไต่ขึ้นยอด ควรจะทำอย่างไร

การที่เราไต่ขึ้นตำแหน่ง ไม่ว่าจะเป็นจาก Junior หรือจาก Senior หรือจาก Lead สิ่งสำคัญเลยคือเรื่องของพื้นฐานและแนวคิด ดังนั้นเราจะต้องมีการฝึกฝน ปรับปรุง และเรียนรู้สิ่งใหม่ๆ โดยการลองทำสิ่งนั้นเลย และวัดผลที่จับต้องได้ และสุดท้ายเราจะต้องลงงานจริงๆ เพื่อที่เราจะได้เรียนรู้จากความผิดพลาด และพัฒนาต่อไป เมื่อพบกับความผิดพลาด อย่าได้หาทางลัดเพื่อหนีความผิดพลาด ให้ทำความเข้าใจปัญหานั้นและศึกษาเพิ่มเติม

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

Senior ต่างจาก Junior Developer อย่างไร

  • มองภาพรวมที่กว้างขึ้น คิดให้รอบด้าน (ไม่เท่ากับ คิดเยอะ) โดยที่ยังไม่ทิ้งความรู้ลึกเชี่ยวชาญของเรา
  • ช่วยเหลือและให้คำแนะนำ Junior Developer ซึ่งจะต้องใช้ soft skill มากขึ้น เช่น การปล่อยให้ Junior ให้ลองผิดพลาดในสิ่งที่พอจะรับได้ มากกว่า ป้อนให้ Junior Developer ทุกอย่าง
  • แจกจ่าย แบ่งปันงาน (delegate) ให้โอกาสแก่ Junior Developer เพื่อสร้างตัวแทนของเราในอนาคต เพราะเราคงไม่ได้อยู่ในตำแหน่งนี้ตลอดไป

พูดถึง Hard skill

ถ้าเราพูดถึง Hard skill ของ Developer ก็คงหนีไม่พ้น keyword เหล่านี้ เช่น

  • Software architecture
  • Software testing
  • Programming language
  • Database
  • DevOps
  • และอื่นๆ อีกมากมาย

ปัจจุบันมันมี technology ตาม keyword ข้างบนนี้มันมีเยอะมากๆ Senior Developer ควรจะมีความรู้และเข้าใจในการเลือกใช้เครื่องมือที่เหมาะสมด้วย เพราะงานที่เราทำมันจะมี impact มากขึ้นด้วย

พูดถึง Soft skill

  • Communication คนกับคนให้รู้เรื่อง ระวังเรื่องของ jargon หรือศัพท์เฉพาะ
  • Listening การฟัง ทำความเข้าใจทั้งลูกค้าและทีมพัฒนา
  • Teamwork ไว้เนื้อเชื่อใจทีมซึ่งกันและกัน
  • EQ การจัดการอารมณ์กับเหตุผล เติบโตขึ้นในมุมมองของการวางตัว การทำงานร่วมกัน
  • Sharing การแบ่งปันความรู้ ส่งมอบประสบการณ์ให้กับคนอื่นๆ