#1 tech recruiter in thailand

3 แนวทางพัฒนาทักษะ Software Architecture ที่คุณสามารถทำได้ทุกวัน

See the original English version of this article here

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

1. ค้นหา Solutions ให้ได้มากกว่า 2 ข้อขึ้นไป สำหรับแต่ละปัญหาที่คุณต้องเจอ

จุดประสงค์ของหัวข้อนี้ก็เพื่อ ปรับปรุงทักษะการแก้ปัญหาและความคิดสร้างสรรค์ให้ดียิ่งขึ้น

ไม่ว่างานปัจจุบันของคุณจะเป็นการ Debug, การเขียน Code ใหม่ หรือ การ Refactor ก็ตาม แต่ทุกสิ่งที่คุณทำล้วนเกี่ยวกับ “ปัญหาและแนวทางแก้ไขปัญหาแทบทั้งสิ้น” ขอบเขตของปัญหาอาจแตกต่างและมีความหลากหลาย ตั้งแต่การ Reuse Code ที่มีอยู่ ไปจนถึง การเลือก Database

แม้ว่าคุณจะเลือก Solution ไว้ในใจแล้วก็ตาม แต่ก็ขอแนะนำให้คุณใช้เวลาสักหน่อยในการค้นหา Solutions เพื่อเป็นทางเลือก

2. List ข้อดี-ข้อเสียของแต่ละ Solutions แล้วทำการเลือก Solution

จุดประสงค์ของหัวข้อนี้ก็เพื่อ พัฒนาในเรื่องการจัดลำดับความสำคัญและการคิดอย่างละเอียดถี่ถ้วนยิ่งขึ้น

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

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

สุดท้าย จัดลำดับความสำคัญของ Criteria โดยพยายามทำความเข้าใจว่า แง่มุมใดที่สำคัญที่สุดสำหรับบริษัทของคุณ และเลือก Solution ที่จะให้ประโยชน์สูงสุดสำหรับงานหรือ Project ของคุณ ซึ่งสิ่งนี้จำเป็นอย่างยิ่งสำหรับ Tech Leader

3. ทำการแลกเปลี่ยนความเห็นทางด้าน Technical กับบุคคลที่ไม่ได้ทำงานด้านไอที

จุดประสงค์ของหัวข้อนี้ก็เพื่อ ปรับปรุงในเรื่องสื่อสารและความเข้าใจกับเรื่องที่เกี่ยวกับด้าน Technical

แต่ละคนมีความสามารถในการทำความเข้าใจงานของคุณ ที่แตกต่างและไม่เท่ากัน การพูดคุยกับพวกเขาเหล่านั้นจะเป็นการบังคับอย่างกลาย ๆ ให้คุณถอยออกมามองสิ่งต่าง ๆ ในภาพรวมมากยิ่งขึ้น สรุปรายละเอียดให้เป็น High-Level Concept หรือลงลึกในรายละเอียดยิ่งขึ้น คุณอาจจะเริ่มการแลกเปลี่ยนความเห็นอย่างจริงจัง หรือพยายามอธิบายปัญหาให้คนอื่นฟัง เพื่อทดสอบความเข้าใจในปัญหาของตัวคุณเองด้วยอีกทางหนึ่ง

นี่เป็นตัวอย่างของ บุคคล 4 กลุ่ม ที่คุณอาจต้องมีปฏิสัมพันธ์ด้วย มาดูกันว่า คุณจะเกี่ยวข้องกับพวกเขาในแง่ใดบ้าง และการพูดคุยกับพวกเขาจะออกมาในรูปแบบใดบ้าง

Senior Engineer

Senior Engineer อาจเป็นกลุ่มคนที่มีประสบการณ์มากกว่าคุณในเรื่องต่าง ๆ หรือ มีการตั้งคำถามที่ถูกต้อง/เหมาะสม ได้เป็นอย่างดี

การแลกเปลี่ยนความเห็นกับพวกเขา ก็เพื่อให้คุณมีความเข้าใจอย่างลึกซึ้งเกี่ยวกับเรื่องต่าง ๆ และเรื่องอาจยังไม่ชัดเจนมากนัก

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

ตัวอย่างการพูดคุยกับพวกเขา:

“ผมได้ทำการ Integrate WebRTC โดย เพิ่ม MAOI API, ทำการ Integrate Janus Libraries และทำการ Convert WS ไปเป็น WSS”

Team member /Junior

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

ตัวอย่างการพูดคุยกับพวกเขา:

“ผมได้ทำการ Integrate WebRTC ด้วยการ เพิ่ม API ใหม่ที่ชื่อว่า…, ทำการ Integrate Libraries ที่ชื่อว่า…, Documentation ของมันก็คือ…. และทำการ Convert Web Sockets ไปเป็น Secure Web Sockets ซึ่งผมทำสิ่งนี้เพื่อ…”

Non-developers Technical Person (เช่น QA หรือ Project Manager)

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

ตัวอย่างการพูดคุยกับพวกเขา:

“การ Integrate WebRTC นั้นจะต้องใช้ประมาณ 3 Sprints และต้องอาศัยความร่วมมือจากทีม Backend ด้วย ผมอาจต้องใช้เวลาอีก 4 วัน เพื่อทำเพิ่มเติมในเรื่องของความปลอดภัย”

Non-developers & Non-tech People (เช่น HR หรือเพื่อนแผนกอื่น ๆ)

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

ตัวอย่างการพูดคุยกับพวกเขา:

เรียนฝ่าย HR: “ผมได้ทำการ Integrate WebRTC ซึ่งเป็น protocol สำหรับส่ง Video บน Web งานของผมยังรวมถึงการทำงานร่วมกันกับทีมอื่น ๆ ซึ่งผมจะเป็นคนที่เข้าไปขอความคิดเห็น แต่เราทุกคนก็ต้องลงความเห็นร่วมกันในการแก้ปัญหาต่าง ๆ อีกทั้งผมยังต้องใช้ความคิดริเริ่มในการปรับปรุงในด้านความปลอดภัยของคุณลักษณะต่าง ๆ เหล่านี้ด้วย”

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

หากคุณเป็นคน IT ที่อยากทำงานท้าทายและร่วมงานกับองค์กรชั้นนำ สามารถฝากประวัติการทำงาน (Resume) ของคุณไว้กับ ISM ได้ที่ https://www.ismtech.net/submit-your-resume แล้วคุณจะพบว่าอนาคตและโอกาสก้าวหน้ากำลังรอคุณอยู่

Source: https://levelup.gitconnected.com/

en