#1 tech recruiter in thailand

จาก Software Developer ไปเป็น Solutions Architect ได้อย่างไร

See the original English version of this article here

บทความนี้เป็นของคุณ Allen Helton ที่มาแชร์ประสบการณ์เกี่ยวกับ จาก Software Developer ไปเป็น Solutions Architect ได้อย่างไร โดยเขาเริ่มจากการเป็น Software Developer ที่มีความรู้เฉพาะใน Code ที่เขียนขึ้นเองเท่านั้น แต่หากคุณอยากเป็น Solutions Architect คุณจะต้องเห็นในภาพที่ใหญ่กว่า ต้องรู้วิธีที่ System Interact กับส่วนอื่น ๆ ไม่เพียงแค่รู้เฉพาะการเขียน Code เท่านั้น

1. รู้จักที่จะถอยกลับไปก้าวหนึ่ง

ในฐานะ Software Developer เมื่อคุณได้รับมอบหมายให้เขียน Code เพื่อแก้ปัญหา มันก็ขึ้นอยู่กับวิธีการเขียนในแนวทางของคุณ ซึ่งคุณอาจมีหรือไม่มี Business Context ที่เกี่ยวข้องกับสิ่งที่ทำอยู่

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

ลองพิจารณาส่วนที่ทำให้ App ของคุณใช้การได้ว่า มันประกอบด้วย Modules ต่าง ๆ ที่ทำงานด้วยกันหรือไม่? มันเป็น Client App หรือ Server App? มันเป็น N-tier หรือเปล่า?

เป้าหมายของคุณคือการทำความเข้าใจว่า ส่วนต่าง ๆ ทั้งหมดมันสื่อสารกันอย่างไร เมื่อคุณทราบว่า App ของคุณทำงานอย่างไร ก็ขอให้ลองถอยหลังกลับมาอีกก้าวหนึ่ง

App ของคุณมีบทบาทอย่างไรใน Ecosystem หากบริษัทของคุณมี Products หลายตัว App ของคุณเป็นส่วนหนึ่งของ Products เหล่านั้นหรือไม่? มัน Interact กับ Apps อื่น ๆ หรือไม่? มันถูกคาดหวังให้สามารถทำอะไรได้บ้าง?

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

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

Ecosystem และชุด Products ของบริษัทคุณเปรียบเหมือนรถยนต์ App ของคุณก็เปรียบเหมือนเครื่องยนต์ของรถยนต์ แม้มันจะเป็นเพียงชิ้นส่วนหนึ่ง แต่มันก็เป็นชิ้นส่วนที่จำเป็นต้องมี เพื่อให้รถยนต์ใช้งานได้

การก้าวถอยหลังจนกว่าคุณจะเห็นภาพรวมทั้งหมด ถือเป็นสิ่งสำคัญต่อการเป็น Solutions Architect ลองขยายมุมมองของคุณไปเรื่อย ๆ จนกว่าคุณจะเห็นภาพที่กว้างขึ้น

2. เรียนรู้ที่จะตั้งคำถามว่า “ทำไม”

ลองตั้งสมมติฐานว่า ถ้าคุณเป็น Software Developer คุณควรจะรู้ว่า สิ่งต่าง ๆ มันทำงานอย่างไรและทำไมมันถึงทำงานได้ ซึ่งนี่ถือเป็นลักษณะที่จำเป็นของ Solutions Architect ที่ยอดเยี่ยม

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

สิ่งหนึ่งที่ต้องทำความเข้าใจว่า พวกมันทั้งหมดทำงานอย่างไร แต่อีกสิ่งหนึ่งที่คุณต้องทำความเข้าใจคือ ทำไมมันถึงใช้งานได้

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

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

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

แต่ถ้าคุณเข้าใจอย่างแท้จริงเกี่ยวกับส่วนประกอบและชิ้นส่วนต่าง ๆ ตามที่คุณต้องการ คุณจะเข้าใจพวกมันและความสามารถในการออกแบบ System ที่ดีขึ้น จะเพิ่มขึ้นเป็นทวีคูณ

3. เชื่อมโยงปัญหากับ Solutions ที่คุณรู้

การเป็น Solutions Architect คุณจะไม่ต้องเขียน Code ให้มากมายอีกต่อไป แม้คุณจะไม่มี Solution ของการออกแบบที่สวยหรู แต่คุณก็สามารถ Implement มันและไปทำในส่วนต่อไปได้

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

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

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

หากคุณสามารถสื่อสารเกี่ยวกับ วิธีแก้ปัญหาทางด้าน Technical ให้กับคนที่ไม่มีความรู้ด้าน Technical เข้าใจได้อย่างมีประสิทธิภาพ นั่นก็ถือว่า คุณเหมาะกับงานนี้

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

หากคุณกำลังสร้าง Application ที่จัดการในเรื่องการ Upload และการ Maintain File ทำไมคุณไม่ลองดูที่ Google Drive แล้วคิดว่า คุณจะสามารถจำลอง Function การทำงานบางอย่างของ Google Drive ได้หรือไม่

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

4. มองไปข้างหน้า

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

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

กลับไปที่การอ้างอิงเรื่องรถยนต์ที่กล่าวไว้ข้างต้น คุณกำลังคิดว่าจะสร้างรถยี่ห้อ Pinto หรือ Ferrari ?

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

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

5. จงฝึกฝน

ส่วนที่ดีที่สุดเกี่ยวกับ Software Developers คือพวกเขารักในผลงานของพวกเขา เชื่อว่า Developer แทบทุกคนจะมี Side Projects อย่างน้อย 1 Project ตลอดเวลา

ด้วยเหตุนี้ หากคุณต้องการฝึกฝนเกี่ยวกับ Architecting Solutions ขอแนะนำให้คุณทำในเวลาว่าง ให้ใช้ System ที่มีอยู่แล้วอย่างเช่น Website โปรดของคุณ แล้วเริ่มสร้างแผนภาพตามสิ่งที่คุณคิดว่าสถาปัตยกรรมควรจะเป็น ให้คุณลองคิดหรือทำแบบย้อนกลับดู

และถ้าคุณยังไม่ได้ทำ Documentation คุณก็น่าจะทำ Diagram ของ App ที่คุณใช้อยู่ในชีวิตประจำวัน บริษัทของคุณจะสามารถเข้าถึงและใช้งานได้ทันที อีกทั้งยังช่วยให้คุณเข้าใจมันมากขึ้นอีกด้วย

คุณยังมีทางเลือกอื่น ๆ ที่ช่วยสอนคุณให้เป็น Solutions Architect คุณสามารถสอบ AWS Certification เพื่อเป็น Solutions Architect การที่คุณมี Certification นอกจากจะทำให้คุณมี Value มากขึ้นในฐานะของ Developer แล้ว ยังจะช่วยเพิ่มความเข้าใจในการทำงานอีกด้วย

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

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://betterprogramming.pub/

en