See the original English version of this article here

จากประสบการณ์การทำงานระดับมืออาชีพของคุณ Giftmugweni ในฐานะ Software Developer และคุณค่าที่เขาพบ จากการไม่ปล่อยให้บทบาทแบบเดิม ๆ มาจำกัดความสามารถ เขาจึงอยากถ่ายทอดประสบการณ์ผ่านบทความ ทำไม Software Developer ถึงต้องสวมหมวกหลายใบ?
เมื่อไม่นานนี้ คุณ Giftmugweni ได้อ่านบทความที่ทำให้เขาได้รู้จักกับแนวคิดเรื่อง T-shaped Developer
โดยผู้เขียนได้พูดถึงความสำคัญของการมีความรู้เฉพาะทาง และความรู้ทั่วไปในฐานะ Software Developer บุคคลดังกล่าวอาจเรียกได้ว่า “ผู้ที่สามารถทำได้ทุกอย่าง แต่ก็มีความเชี่ยวชาญเฉพาะด้านด้วย”
*T-shaped Developer คือ Developer ผู้ที่มีความรู้กว้างขวางในหลาย ๆ ด้าน และมีความเชี่ยวชาญอย่างลึกซึ้งในหนึ่งหรือหลายสาขาโดยเฉพาะ
เรื่องนี้สะท้อนถึงประสบการณ์ส่วนตัวในการทำงานเป็น Software Developer ในช่วง 3 ปีที่ผ่านมา ในช่วงเวลาที่ทำงานที่ Skynamo คุณ Giftmugweni ได้รับโอกาสมากมายในการทำงานหลายอย่าง
- เขาได้เป็น Frontend Developer เมื่อเขาช่วยสร้างระบบการออกแบบซึ่งใช้ Vue 3 และ Tailwind CSS
- เขาได้เป็น Backend-frontend Developer เมื่อช่วยสร้าง Caching Layer สำหรับ Analytics Dashboard ให้ลูกค้า ซึ่งต้องทำงานหนักในส่วนการตอบสนองของ API, การจัดการข้อมูลให้สอดคล้องกับ Requirement สำหรับ Dashboard Tile ทั้งหมด, กำหนดว่าเมื่อใดควร Sync ข้อมูลจากบริการต่าง ๆ อีกครั้ง เมื่อเขากำหนดว่า Cache ล้าสมัย และปรับให้เหมาะสม ซึ่งทั้งหมดนี้เพื่อให้การตอบสนองของ Dashboard ไม่ช้ามากเกินไป
- เขาทำงานไม่เต็มที่ในฐานะ Backend Developer บ้างในบางครั้ง เมื่อเขาเขียน API Server สำหรับ Project หนึ่งที่เรากำลังดำเนินการอยู่ ปัจจุบันเขาดูแล Analytics Service ซึ่งรับผิดชอบในการส่งคืน Data ประมาณ 80% ที่ Analytics Dashboard ต้องการเป็นประจำ
นอกเหนือจากบทบาทที่เป็นกล่าวมาข้างต้นแล้ว คุณ Giftmugweni ยังเคยทำงานในด้านอื่น ๆ ด้วย
หนึ่งในนั้น คือ Skynamo Power BI Connector ซึ่งเป็น Plugin สำหรับ Microsoft Power BI ที่ช่วยให้ลูกค้าสามารถดาวน์โหลด Data จาก Analytics Service ลงใน Power BI ได้อย่างง่ายดาย เพื่อสร้าง Dashboard ที่ซับซ้อนยิ่งขึ้น ซึ่งเขาดูแล Plugin นี้เป็นประจำ และอัปเดตเมื่อจำเป็น
ล่าสุด เขายังทำงานร่วมกับทีมบูรณาการ โดยช่วยสร้าง Integration Service ที่ดึง Data จาก Software ของบัญชีต่าง ๆ และวางไว้ใน Skynamo ปัจจุบัน เขาทำสิ่งนี้ให้กับ Xero, Sage Pastel Partner ZA และ Sage Intacct พร้อมทั้งระบบบัญชีอื่น ๆ ที่จะตามมา นี่เป็น Project ที่ยอดเยี่ยมมาก เนื่องจากได้รวมการเขียน Program หลาย ๆ ด้านเข้าไว้ด้วยกัน
ตัวอย่างเช่น Sage Pastel Partner ZA เป็น Program ที่ออกแบบมาเพื่อทำงานบน Local Machine หรือ Private Server เป็นหลัก ซึ่งหมายความว่าเราต้องสร้าง Windows Service ของเราเอง ที่ทำงานบนเ Machine ซึ่งดึง Data จาก Local Database เป็นระยะ ๆ เพื่ออัปโหลดไปยัง Skynamo ดังนั้นเราจึงต้องการ ให้การเพิ่ม Service นั้นง่ายที่สุดเท่าที่จะเป็นไปได้ ซึ่งนำไปสู่ความจำเป็นในการสร้าง Program ติดตั้งของเราเองสำหรับ Service นี้ด้วย
ขอนอกเรื่องเล็กน้อย คุณคิดว่า Microsoft จะทำให้คุณเขียน Program เพื่อติดตั้งสำหรับ Operating System ได้อย่างง่ายดายไหม? ซึ่งตอนแรกเขาคิดว่าการพัฒนาเว็บนั้นยุ่งยาก แต่ที่จริงแล้ว มันทำให้เขาประหลาดใจมาก ที่ไม่ว่าจะเป็น Software ตัวใด ๆ ก็ทำงานบน Windows ได้
และ คุณ Giftmugweni ยังช่วยสร้าง Service ที่รับ Data จาก Windows Service และแปลงเป็น Data Format ที่เหมาะสมกับ Skynamo โดยรวมแล้ว Project นี้เขาต้องศึกษาเพิ่มเติมเกี่ยวกับการพัฒนาสำหรับ Windows (ซึ่งมันเยี่ยมมากที่ทำให้ได้เห็น Program ของคุณในบริการ Task Manager) การสร้าง Pipelines, การทดสอบ Windows Programs โดยใช้ Virtual Machines, Backend Development ของ Services เพื่อโต้ตอบกับ Streamed Data และการซ่อนความซับซ้อนทั้งหมดนี้ โดยการสร้าง UI ที่สวยงาม ซึ่งออกแบบโดย Designer ที่มีความสามารถของเรา
ใช่แล้ว และนี่คือเหตุผลเกี่ยวกับความสำคัญของการมีทักษะมากกว่าหนึ่งอย่าง แต่คุณอาจสงสัยว่าทำอย่างไรคุณถึงจะเรียนรู้สิ่งต่าง ๆ มากมายได้ในคราวเดียว คำตอบง่าย ๆ คือ การที่คุณไม่รู้ ซึ่งคุณ Giftmugweni ไม่รู้เรื่องพวกนี้เลย ตอนที่เริ่มทำงานที่ Skynamo แต่สิ่งที่เขามีคือ “ความอยากรู้อยากเห็นและความเต็มใจที่จะเรียนรู้”
แม้ว่าคุณ Giftmugweni จะไม่ได้บอกว่าชื่อตำแหน่งต่าง ๆ เช่น Frontend, Backend หรือ Full Stack Developer นั้นไร้ประโยชน์ แต่สิ่งสำคัญคือ คุณต้องเข้าใจว่าสิ่งเหล่านี้เป็นเพียงชื่อกำกับเท่านั้น ในท้ายที่สุด หลักการพื้นฐานของการเขียน Program ก็ไม่ได้เปลี่ยนแปลงมากนัก ไม่ว่าจะเป็น UI Components ใน Front-end, Caching Layer ใน Backend-frontend, Server Function ใน Backend, Windows Service ใน Operating System
ในท้ายที่สุดแล้ว มันก็เป็นเพียง Code ซึ่ง Code ก็คือ Code และ Code ทั้งหมดก็เป็นเพียงคำสั่งที่บอกให้ Machine ทำงานบางอย่าง เมื่อคุณคิดจากมุมมองนั้น คุณจะรู้ว่าการคิดว่าคุณไม่มีทางเข้าใจสิ่งที่เกิดขึ้นในเรื่อง X ได้นั้นเป็นสิ่งที่จำกัดคุณขนาดไหน ดังนั้น ไม่ใช่ว่าคุณไม่เข้าใจมัน คุณแค่หลอกตัวเองว่าคุณทำไม่ได้
การลงลึกในสาขาที่คุณสนใจนั้นยังมีข้อดีอีกมากมาย สิ่งที่คุณ Giftmugweni อยากจะบอกก็คือ คุณสามารถลงลึกในสาขาต่าง ๆ ได้ และมีโอกาสสูงมากที่คุณจะศึกษาจนเชี่ยวชาญ หากคุณต้องการท้าทายตัวเองต่อไป ดังนั้น จงเป็น T-shaped Developer รับรองว่ามันสนุกกว่าการยึดติดอยู่กับสิ่ง ๆ เดียวแน่นอน
และทั้งหมดนี้ก็คือ ทำไม Software Developer ถึงต้องสวมหมวกหลายใบ?
เมื่อ หางาน IT ให้ ISM Technology Recruitment เป็นอีกหนึ่งตัวช่วย เพื่อให้คุณได้ “ชีวิตการทำงานในแบบที่คุณต้องการ” เพียงส่ง Resume มาที่นี่
ISM เชี่ยวชาญในธุรกิจ IT Recruitment & IT Outsourcing โดยเฉพาะ ได้เปิดทำการมาแล้วกว่า 30 ปี มีพนักงานทุกสายและทุกระดับทางด้าน IT ที่ได้ร่วมงานกับลูกค้าองค์กรใหญ่ที่มีชื่อเสียงและบริษัทข้ามชาติมากมาย