#1 tech recruiter in thailand

เมื่อไร? คุณถึงจะสามารถเรียกตัวเองว่า Senior Developer ได้

See the original English version of this article here

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

(เนื่องจากบทความนี้ เป็นการเล่าจากประสบการณ์ของ Entreprogrammer ซึ่งต่อไปจะขอใช้คำเรียกแทนว่า “ผม”)

เมื่อไม่นานมานี้ ผมได้สัมภาษณ์ Developer อายุ 22 ปี คนหนึ่ง ซึ่งเขาบอกว่า เขาเป็น Senior Developer อันที่จริงเขาก็ดีนะ แต่ผมไม่คิดว่า เขามีคุณสมบัติที่จะเป็น Senior Developer แน่นอนว่าผมอวยพรขอให้เขาโชคดี แต่ผมไม่สามารถจ้างเขาในฐานะ Senior Developer ได้

แต่มีคำถามหนึ่ง ที่ทำให้ผมฉุกคิดขึ้นมา คือ คุณจะใช้เกณฑ์อะไรเพื่อแบ่งแยกว่า เป็น Senior Developer หรือ Junior Developer

มันไม่ใช่ว่า เมื่อ Developer ตื่นขึ้นมาในตอนเช้า แล้วจะกลายเป็น Senior Developer แต่ทุกคนจำเป็นต้องรู้ว่าพวกเขากำลังอยู่ในระดับไหน และกำลังพัฒนายิ่งขึ้นอย่างไรบ้าง

ไม่มีเส้นแบ่งระหว่าง Junior Developer และ Senior Developer

ผมได้สอบถาม Developer หลายคน ที่ทำงานอยู่ในอุตสาหกรรมนี้มาเป็น 10 ปี พวกเขาตอบคำถามมามากมายหลากหลายรูปแบบ มันเป็นเรื่องไม่ปกติหรือเปล่า มันควรจะมีเพียงคำตอบเดียวไหม ผมไม่คิดอย่างนั้น

บอกตามตรง บริษัทส่วนใหญ่มีคำจำกัดความของ Senior Programmer ที่หลากหลาย บางบริษัทคิดว่า หลังจากผ่านไป 5 ปี Developer จะกลายเป็น Senior Developer บางบริษัทคิดว่าต้องมีประสบการณ์มากถึง 8 – 10 ปี

ผมเชื่อว่าต้องใช้เวลาในการพัฒนา Developer ในระดับ Junior ให้กลายเป็น Senior อย่างไรก็ตาม เราก็ไม่สามารถบอกช่วงเวลาที่แน่ชัดได้ว่า เมื่อไหร่ ที่ Junior Developer ถึงจะกลายเป็น Senior Developer ได้

หลังจากได้คุยกับ Developer บางคนที่มีประสบการณ์ 10 ปีขึ้นไป และได้ลองค้นหาผ่าน Google เป็นเวลาหนึ่งชั่งโมง ดูเหมือนผมจะได้คำตอบในบางประเด็น

แล้วคุณสมบัติ ที่แสดงถึงความแตกต่างของ Junior Developer และ Senior Developer มีอะไรบ้าง

Senior Developer ส่วนใหญ่มีคุณสมบัติบางอย่างที่เหมือนกัน แต่อย่าถึงขั้นยึดติดกับมันมากเกินไป มันไม่ใช่ว่าถ้าคุณขาดคุณสมบัติเหล่านี้อย่างใดอย่างหนึ่ง คุณจะไม่ได้อยู่ในเกณฑ์ของ Senior Developer แต่สิ่งสำคัญคือ การมีคุณสมบัติเหล่านี้ในการเป็น Senior Developer ต่างหาก เรามาดูกันว่ามีเรื่องใดบ้าง

มองเกมออก – รู้จักมองภาพรวม มากกว่าแค่เรื่อง Coding

Programmer ส่วนใหญ่ไม่สามารถบอกหรือทำนายเกี่ยวกับ Project ในช่วงเริ่มต้นของการเริ่มทำงานได้มากนัก แต่ Senior Developer  สามารถบอกได้หลายสิ่งหลายอย่างเกี่ยวกับ Project  ตั้งแต่เริ่มต้น พวกเขาจะสามารถบอกได้ว่า มันยากแค่ไหน หรือเทคโนโลยีใดที่เหมาะกับ Project นี้ รวมทั้งเรื่องอื่น ๆ

คนที่เป็น Senior Programmer จะสามารถมองเห็นอนาคต และรีบทำการแก้ไขเสียก่อนที่ปัญหาจะเกิดขึ้น

สามารถตัดสินใจในเรื่องสำคัญ ๆ

การตัดสินใจในเรื่องสำคัญ ๆ ในช่วงเริ่มต้นหรือช่วงกลาง Project ถือเป็นคุณสมบัติที่สำคัญของ Senior Developer

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

ประสบการณ์สำคัญเหนือสิ่งใด

ตอนที่ผมเป็น Junior Programmer ผมเลือก Firebase เป็น Backend System ตั้งแต่เริ่มต้น แต่เมื่อเวลาผ่านไป ผมเข้าใจแล้วว่า Firebase ดูจะไม่เหมาะกับ Project ที่ทำอยู่ อีกต่อไป

นี่คือความแตกต่างระหว่าง Senior Programmer  และ Junior Programmer ซึ่ง Senior Programmer  จะรู้ว่า เทคโนโลยีใด ที่เหมาะกับ Project แบบใด

คุณสมบัติและคุณลักษณะบางอย่าง ก็มาพร้อมกับประสบการณ์ที่ Senior Programmer มีเท่านั้น ผมไม่ได้บอกว่า ประสบการณ์เพียงอย่างเดียวที่ทำให้คุณสามารถเป็น Senior Developer ได้ แต่ประสบการณ์ทำงาน ก็เป็นสิ่งที่จำเป็น

ทักษะความเป็นผู้นำและทักษะการสื่อสาร

ในความคิดของผม เมื่อ Programmer เริ่มให้คำปรึกษาและให้คำแนะนำแก่ Junior Programmer ดูเหมือนพวกเขากำลังเริ่มที่จะกลายเป็น Senior Programmer

ทักษะการสื่อสารก็เป็นคุณสมบัติที่สำคัญเช่นกัน การพัฒนา Software เป็น Process ที่ต้องทำงานร่วมกันกับคนอื่น และมี Senior Developer คอยช่วยจัดการเพื่อให้ทุกคนไปสู่เป้าหมายเดียวกัน ซึ่งในที่นี้รวมถึงการรู้จักประนีประนอมด้วย ซึ่งพวกเขารู้กฎเกณฑ์ของบริษัทและรู้จักวิธีการรับมือ

Senior Programmer รู้ในสิ่งที่ Junior ไม่รู้

Junior Programmer มักจะยังไม่รู้อะไรในหลายเรื่อง และแม้แต่ Senior Developer ก็ยังไม่รู้ในทุก ๆ เรื่อง แต่ Junior Programmer หลายคนจะยังไม่รู้ว่า พวกเขาไม่รู้อะไร นั่นเป็นความแตกต่างระหว่าง Junior Developer และ Senior Developer

Senior Programmer มักจะรู้ว่าพวกเขายังไม่รู้อะไร ขณะเดียวกันก็จะรู้วิธีทำงานให้สำเร็จได้ ส่วน Junior Programmer มักจะยังไม่รู้จุดอ่อนของตนเอง ซึ่งความสามารถนี้เป็นสิ่งที่ทำให้ Senior Programmer เป็น Programmer ที่สามารถทำงานได้หลายอย่างเพียงลำพัง แต่มีประสิทธิภาพมาก

ความรู้ที่คุณมี กับ ความรู้ที่คุณควรมี

ความรู้ ถือเป็นคุณสมบัติที่จำเป็นอันดับต้น ๆ ในการเป็น Senior ของทุก Field เลยหรือไม่? แต่ความรู้เพียงอย่างเดียว ก็ไม่ได้ทำให้คุณสามารถเป็น Senior ได้ การที่คุณเรียนรู้ภาษา Programming ใหม่ ๆ ถึง 5 ภาษา ก็อาจไม่ได้สื่อถึงแง่ของคุณภาพแต่อย่างใด

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

นี่เป็น คำแนะนำที่ยอดเยี่ยมของ Mike Lewis ซึ่งเป็นหนึ่งใน Developers และเป็น Programming Expert ที่มีส่วนร่วมอยู่ในหนังสือ 97 Things Every Programmer Should Know ของ Kevlin Henney:

“จงอย่ากลัวที่จะทำบางสิ่งบางอย่างเสียหาย”

ความคิดที่จะทำบางสิ่งบางอย่างเสียหาย อาจฟังดูเป็นสิ่งทำไม่สามารถทำได้ในความเป็นจริง ไม่มีมืออาชีพคนไหนอยากทำให้เรื่องแย่ลง นับประสาอะไรกับ Programmer คนเดียว แต่ถ้าคุณไม่กลัวที่จะทำบางสิ่งบางอย่างเสียหาย คุณก็อาจจะได้ Code ที่ดีขึ้นและได้เรียนรู้ในบางสิ่งได้ลึกซึ้งยิ่งขึ้น ดังนั้น หากคุณต้องการเป็น Senior Developer รวดเร็วขึ้น คุณต้องรู้จักเก็บเกี่ยวความรู้ให้ได้มากกว่าคนอื่น

สรุป

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

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

ไม่ว่าเราจะเป็น Senior Developer หรือไม่ ไม่ว่าเราจะต้องการเพียงแค่ชื่อตำแหน่งหรือไม่ก็ตาม แต่ที่สำคัญ เราควรพยายามทำให้ตัวเรา มีคุณสมบัติของ Senior Developer คุณคิดอย่างนั้นไหม

หากคุณเป็น Developer ไม่ว่าจะระดับ Senior หรือ Junior ก็ตาม สามารถส่ง Resume ของคุณมาได้ที่ https://www.ismtech.net/submit-your-resume  แล้วคุณจะพบว่าโอกาสดี ๆ กำลังรอคุณอยู่

ISM เชี่ยวชาญในธุรกิจ IT Recruitment & IT Outsourcing โดยเฉพาะ เปิดทำการมากว่า 30 ปี มีพนักงานทุกสายและทุกระดับทางด้าน IT ที่ได้ร่วมงานกับลูกค้าองค์กรใหญ่ที่มีชื่อเสียงและบริษัทข้ามชาติมากมาย

Source: https://betterprogramming.pub/

​​​

en