เชื่อว่าหลายๆคนคงต้องผ่านช่วงชีวิตหนึ่งที่ต้องนั่งดูประกาศรับสมัครงานเป็นสิบๆที่ หลายต่อหลายวัน

วันนี้ผมนั่งหางาน Java Programmer ใน jobDB.com ดู (ไม่ได้กะจะสมัครหรอกครับ แค่ว่าง)
หลักจากอ่านไปอ่านมาสักพัก พบสิ่งที่ทำให้หงุดหงิดเล็กน้อย

  1. ชื่อเรียกมันเยอะมาก ทั้งๆที่อ่าน job description แล้ว มันก็งานเดียวกัน ได้แก่ Programmer, Developer, System Analysis (จริงๆแล้ว ถ้าอ่านดูคือ Senior Programmer), Analyst Programme, Software Engineer (เอาเข้าไป)
  2. 95 % requirement ประสบการณ์ ทั้งๆที่บางตำแหน่งเป็นแค่ junior
  3. หลายๆที่ require ประสบการณ์สูงมาก (4ปี/5ปี) ทั้งๆที่ Job Description น้อยกว่าอันที่ Require แค่ 1-2 ปี
  4. หลายๆอันอ่านแล้วรู้เลย ว่าคนที่เขียนประกาศ ไม่รู้เรื่องเกี่ยวกับงานที่เขากำลังหาอยู่ (เป็นประกาศที่เขียนโดย HR จริงๆ ไม่มีโปรแกรมเมอร์หรือคนทีเ่กี่ยวข้องกับทาง IT ยุ่งเกี่ยวด้วยเลย)
  5. หลายๆที่ require ความสามารถหลายอย่างมากเสียจนผมไม่รู้เลยครับ ว่าพี่แกจะให้ทำงานอะไร

ส่วนที่ผมจะตั้งข้อสังเกตคือเรื่องประสบการณ์ครับ

ในความเข้าใจของผมนั้น
การกำหนดไว้ 1 ปี อย่างต่ำ น่าจะสื่อความหมายเป็นนัยว่าต้องการคนรู้งาน ไม่ต้องการเทรนใหม่หมด
การกำหนดไว้ 2-3 ปี อย่างต่ำ น่าจะสื่อความหมายเป็นนัยว่าต้องการคนที่ผ่านประสบการณ์มามาก และเพียงพอที่จะนำคนอื่นได้
การกำหนดไว้ 4-5 ปี อย่างต่ำ อันนี้คงต้องการพวกโคตรเซียนล่ะมั้ง

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

ดังนั้น ขอออกตัวก่อนว่า ประเด็นที่จะพูดต่อไปนี้ หมายถึง งาน programmer จริงๆ (เฉพาะ Implementation Phase) เท่านั้นนะครับ อาจลามถึงส่วน Design Phase นิดหน่อย แต่ไม่นับ Requirement/Testing/Release แน่ๆ

คำถามของผมคือ
1. การกำหนดว่าต้องมีประสบการณ์อย่างน้อย XX ปี เอาตัวเลขอะไรมาวัด?
2. โปรแกรมเมอร์ที่ทำงานมา 5 ปี เก่งกว่าโปรแกรมเมอร์ที่ทำงานมาแค่ 1 ปีเสมอไปเหรอ?

สำหรับข้อแรก น่าจะมีงานวิจัยรองรับนะครับ ว่าคนที่ทำงานมาครบ XXX ปี จะมีการกระโดดขึ้นของประสิทธิภาพในการทำงานแบบพรุ่งพรวด เหมือนการเลเว่ลอัพในเกมออนไลน์ !! (หรือประมาณว่าอัพจ๊อบสอง)

… ผมประชดน่ะครับ …

สำหรับข้อสอง อันนี้ผมสงสัยจริงๆ ว่าจริงเหรอครับ? เพราะผมเชื่อว่า

ประสบการณ์เป็นสิ่งที่จำเป็นสำหรับการเป็นโปรแกรมเมอร์ที่ดี แต่ไม่ได้แปรผันตรงกับความสามารถ

ปกติแล้วไม่ว่าคุณจะเป็นใคร หรือทำงานอะไร เราแบ่งการทำงานอย่างหยาบๆ ออกได้เป็น 3 ช่วงครับ

  1. ช่วงเรียนรู้ ช่วงนี้คือการที่คุณยังทำงานได้ productivity ต่ำๆ ใช้เวลาส่วนใหญ่ไปกับการเรียนรู้เนื้องาน และสิ่งแวดล้อม
  2. ช่วงทำงาน ช่วงนี้คือช่วงที่ productivity คุณเริ่มเสถียร คุณทำงานได้เต็มที่ สมกับเงินค่าจ้างที่คุณได้รับ (หรืออันที่จริง คุณต้องทำงานให้เขาได้มากกว่าเงินที่คุณได้รับ)
  3. ช่วงพัฒนาปรับปรุง ช่วงนี้คือช่วยที่คุณเริ่มเข้าใจทุกอย่างที่จำเป็นในการทำงานแล้ว และสามารถนำสิ่งเหล่านั้นมาประยุกต์ต่อยอด และหาช่องทางในการพัฒนา ให้สภาพแวดล้อมขององค์กรดียิ่งขึ้นไป และเพิ่ม productivity ขึ้นได้อีก

แน่นอนว่างานแต่ละงาน และคนแต่ละคน ก็คงจะมีช่วงเวลาต่างๆ ต่างกันไป แต่โปรแกรมเมอร์ที่มีความสามารถสูง จะมีช่วงเรียนรู้ที่สั้น และเริ่มทำประโยชน์ต่อองค์กรได้เร็ว ส่วนคนที่มีแนวโน้มที่จะเติบโตไม่ว่าในสายงานใดๆ ควรจะต้องไปถึงช่วงที่สาม

ผมรู้สึกว่าเป็นเรื่องที่น่าเศร้ามากครับ ถ้า HR จะใช้ประสบการณ์เป็นเกณฑ์หลัก (เพราะ HR เองไม่รู้ลักษณะงานของ Programmer และหาเกณฑ์อื่นวัดไม่ได้) ในการเปรียบเทียบและคัดเลือกโปรแกรมแกรมเมอร์ ถึงแม้จะในระดับการสกรีน Resume ก็เถอะ

เพราะนั่นเป็นการตัดโอกาสที่บริษัทจะได้โปรแกรมเมอร์ระดับหัวกะทิที่ยังไม่มีประสบการณ์ (ซึ่งอีกสักห้าเดือน เขาอาจจะเก่งกว่าหลายๆคนที่ทำงานกันมาเป็นปีแล้ว)

ปล. ว่าแต่ จริงๆอาจจะมีงานเขียนโปรแกรมบางอย่าง ที่ต้องใช้เทคโนโลยีที่มีช่วงเรียนรู้ถึง 4-5 ปีหรือเปล่า?

Reference:
Why IT Managers Are Hiring Based On



No Responses Yet to “โปรแกรมเมอร์ต้องมีประสบการณ์?”  

  1. No Comments Yet

Leave a Reply