#1 tech recruiter in thailand

3 ทักษะ ที่คุณควรมี หากคุณอยากเป็น Technical Lead

See the original English version of this article here

Senior Software Engineers หลายคนคงเริ่มตั้งคำถามว่า “จะเกิดอะไรขึ้นต่อไป” เพราะรู้สึกเหมือนกำลังขึ้นไปถึงจุดสูงสุดของอาชีพแล้ว และไม่มีอะไรใหม่ ๆ หรือท้าทายอีกต่อไป บทความนี้มีคำตอบให้คุณกับ 3 ทักษะ ที่คุณควรมี หากคุณอยากเป็น Technical Lead

วันนี้เรามาเรียนรู้เพิ่มเติมเกี่ยวกับบทบาท Technical Lead และจะทำอย่างไรบ้างหากต้องการก้าวไปสู่ Technical Lead, ทักษะหลัก ๆ ที่ต้องมี คืออะไรบ้าง และแตกต่างจาก Senior Developer อย่างไร

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

อย่างไรก็ตาม ก็ยังมี Software Developers อีกจำนวนมาก ที่อยากจะหาความก้าวหน้าในอาชีพการงาน และ 3 ทักษะต่อไปนี้ ที่คุณควรมี ก็คือ

1. System Thinking (การคิดเชิงระบบ)

ขั้นแรกของการเป็น Technical Leadership ก็คือ การมองในภาพรวมทั้งระบบ (System Perspective) ไม่ใช่แค่ Component หรือ Package แต่เป็นการมองภาพรวมระบบทั้งหมด ว่าควรมีลักษณะอย่างไร

ตัวอย่างเช่น Developers ชอบที่จะสร้างสถาปัตยกรรมที่แข็งแกร่งและยืดหยุ่น สำหรับ Solutions ต่าง ๆ พวกเขาจึงออกแบบ Application เพื่อรองรับสถานการณ์ที่น่าจะเป็นไปได้ และทำการทดสอบซ้ำ ๆ เพื่อให้มั่นใจ

แต่บางครั้งพวกเขาอาจจะยุ่งมาก จนลืมว่า กำลังสร้าง “ระบบ” เพื่ออะไร?

ตัวอย่างที่ดี ซึ่งจะทำให้คุณมองเห็นภาพและเข้าใจมากขึ้น คือ ปกหนังสือด้านล่างนี้

 

The design of everyday things

หนังสือนี้ชื่อว่า The design of everyday things by Don Norman (การออกแบบสิ่งของในชีวิตประจำวัน โดย Don Norman)

หนังสือในตำนาน โดย Don Norman ผู้กำหนดนิยามของคำว่า “User Experience Design” ขึ้นเป็นครั้งแรก โดยในหนังสือได้อธิบายถึงหลักการออกแบบ ที่สามารถใช้เป็นแนวทางในการออกแบบทุก ๆ สิ่งบนโลกนี้ และยังสามารถนำมาประยุกต์ใช้กับการออกแบบ UI ได้ด้วย

ดังนั้น Technical Leaders ต้องคิดล่วงหน้า และคำนึงถึงส่วนต่าง ๆ ของระบบทั้งหมด

Technical Leaders มักตั้งคำถามกับข้อเสนอใหม่ ๆ เสมอ ดังนี้

    • จะปรับขนาดได้อย่างไร?
    • มี Dependencies อะไรบ้าง?
    • จะเกิดอะไรขึ้น หากมีบางอย่างล้มเหลว?

และพวกเขาจะหาคำตอบให้ได้ ก่อนที่จะเริ่ม Implement

2. เสนอ “วิธีแก้ปัญหา” สำหรับความต้องการทางธุรกิจ

ในปัจจุบัน ตลาดเทคโนโลยีมีขนาดใหญ่มาก ดังนั้นจึงมี Solutions ต่าง ๆ สำหรับทุกองค์กร เรามักได้ยิน เช่น Blockchain, Cloud Computing, Kubernetes และ Artificial Intelligence เป็นต้น

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

อย่างไรก็ตาม การตัดสินใจหรือการพัฒนาดังกล่าว อาจนำไปสู่ค่าใช้จ่ายที่ไม่จำเป็น และผลลัพธ์ที่ได้อาจเป็นระบบที่ซับซ้อนยุ่งยาก ยกตัวอย่างเช่น ลูกค้าต้องการเว็บไซต์ที่เรียบง่าย แต่ Engineers ได้พัฒนาระบบการจอง ที่มาพร้อมกับ Reviews และ Feed เป็นต้น

หน้าที่ของ Technical Leader คือจะทำการรวบรวม Requirements ทั้งหมด หลังจากนั้นจะวิเคราะห์อย่างถี่ถ้วน และเสนอวิธีแก้ปัญหา โดยอาจจะพิจารณาถึง Traffic Load, ความเป็นไปได้ และแผนต้นทุนที่เหมาะสมที่สุด ดังนั้น Technical Leader จึงกลายเป็นหนึ่งในบุคคลที่มีบทบาทสำคัญทางธุรกิจ

3. รู้ว่าทีมกำลังทำอะไร

อีกหนึ่งความสามารถที่สำคัญของ Technical Leader คือ การตระหนักถึงสิ่งที่เกิดขึ้นทั้ง ภายในทีมและภายนอกทีม ซึ่งต้องใช้อาศัยทักษะทางสังคม (Social Skills) คุณไม่ควรกลัวในการเข้าหาผู้คนด้วยคำถามต่าง ๆ

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

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

บทสรุป

บทบาท Technical Leader ไม่ได้มีไว้สำหรับทุกคน เพราะต้องใช้บางทักษะ ที่ไม่ใช่ Engineer ทุกคนมี หรือต้องการพัฒนาทักษะนั้น ๆ เพิ่ม

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

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

และทั้งหมดที่กล่าวมาจะช่วยให้คุณก้าวสู่ Technical Lead ในอนาคต หวังว่าบทความ 3 ทักษะ ที่คุณควรมี หากคุณอยากเป็น Technical Lead จะมีประโยชน์และสามารถเป็นแนวทางให้กับคุณได้นะคะ

หากคุณกำลังหางานในตำแหน่ง Senior DevOps Engineer คลิกดูเลย! และ ตำแหน่งงานไอที ที่กำลังเปิดรับสมัคร หรือสามารถส่ง Resume สมัครงานกับเราได้ที่ https://www.ismtech.net/submit-your-resume ให้ ISM Technology Recruitment เป็นอีกหนึ่งตัวช่วย ให้คุณได้ “ชีวิตการทำงานในแบบที่คุณต้องการ”

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

Source: https://betterprogramming.pub/

en