#1 tech recruiter in thailand
  • English
  • ภาษาไทย

5 Keys สู่การเป็น Software Developer ระดับตัวท็อป

5 Keys สู่การเป็น Software Developer ระดับตัวท็อป

HOME › 5 Keys สู่การเป็น Software D...

“ในบางแง่มุม Programming ก็เหมือนการวาดภาพ คุณเริ่มต้นด้วยผ้าใบผืนเปล่าและอุปกรณ์พื้นฐาน ซึ่งต้องใช้การผสมผสานระหว่าง ศาสตร์+ศิลป์+ฝีมือ เพื่อตัดสินใจว่าจะลงมือทำอะไรกับสิ่งเหล่านั้น(จากหนังสือชื่อ The Pragmatic Programmer เขียนโดย Andrew Hunt และ Dave Thomas) เชื่อว่า Developers ที่กำลังอ่านบทความนี้ น่าจะชอบลงมือทำสิ่งต่าง ๆ ด้วยตัวเองอยู่เสมอ เพราะนั่นคือ คุณเป็นคนชอบเรียนรู้สิ่งใหม่อยู่ตลอดเวลา โดยบทความนี้จะแนะนำ 5 Keys สู่การเป็น Software Developer ระดับตัวท็อป เพื่อให้คุณเช็คว่า ตัวคุณเอง ยังขาดกุญแจสำคัญในเรื่องไหนอยู่บ้าง

1. ความอยากรู้อยากเห็น

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

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

2. เชี่ยวชาญใน Technology แต่ไม่ยึดติดอยู่กับ Languages และ Framework

มนุษย์เป็นสิ่งมีชีวิตที่มีอารมณ์และความรู้สึก ซึ่งเหล่า Developers ก็เช่นกัน เป็นเรื่องปกติที่คุณจะยึดติดอยู่กับ Language, Framework, Tools หรือวิธีในการทำสิ่งเหล่านั้น เมื่อคุณเริ่มต้นการทำงานในฐานะ Developer คุณมักจะแก้ปัญหาต่าง ๆ ด้วย Technologies, Frameworks และ Languages ที่คุณเคยเรียนรู้มา (ซึ่งก็ไม่ได้ผิดอะไร) แต่ Developer ที่ดี ควรเลือก “สิ่งที่เหมาะสมที่สุด” แทนที่จะเลือกแค่ในสิ่งที่ตัวเองเคยเรียนรู้หรือเคยทำก่อนแล้วเท่านั้น

Technology มีการเปลี่ยนแปลงอยู่ตลอดเวลา และเรื่องราวของปัญหาต่าง ๆ ก็เช่นกัน หากคุณต้องการเป็น Developer ที่ดี คุณไม่ควรยึดติดอยู่กับ Languages และ Frameworks คุณควรที่จะ

  • “Evaluate” ว่าแบบไหนเหมาะสมที่สุด
  • “Upskill” ตัวคุณเอง
  • “Use it” ลงมือทำ
  • “Move on” ไป Project ใหม่ หรือขั้นต่อไป

อย่ายึดติดกับ Languages หรือ Frameworks เพียงแบบใดแบบหนึ่ง กล้าที่จะลอง ให้ถือว่าความท้าทายนี้จะทำให้คุณได้เรียนรู้ทักษะใหม่ ๆ และ Focus ที่จะเรียนรู้ในมุมมองต่าง ๆ ของ Software Development, Deployment และ Delivery

3. แบ่งปันความรู้

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

เมื่อคุณสอน คุณไม่เพียงแต่ได้รับความรู้เท่านั้น แต่คุณจะได้รับความเคารพและความไว้วางใจด้วย บางครั้งการสอนหรือให้คำปรึกษาผู้อื่น คุณอาจจะรู้สึกตกใจกับบางเรื่องที่เกิดขึ้นระหว่างการสนทนา เพราะคุณไม่เคยนึกถึงหรือคิดในแง่มุมนี้มาก่อน อย่างสำนวนไทยที่ว่า “สองหัวดีกว่าหัวเดียว” คุณเห็นด้วยไหม? คุณสามารถแบ่งปันความรู้ให้กับเพื่อนร่วมงาน หรือจะแบ่งปันผ่าน Blogs, Videos หรือในรูปแบบอื่น ๆ ที่คุณสะดวกได้เลย (มันจะช่วยให้คุณเก่งขึ้นได้)

4. แก้ไขปัญหา

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

ความสามารถในการ Evaluate, Strategize, Design และนำไป Implement ที่ดีนั้นต้องใช้เวลานานพอสมควร คุณควรฝึกฝนตนเองในฐานะ Solution Providers มากกว่าที่จะเป็นเพียง Coders ซึ่งความสามารถในการหาวิธีแก้ไขปัญหาอย่างชาญฉลาดนั้น จะเป็นตัวกำหนดว่า “คุณเจ๋งแค่ไหน” มันไม่ได้ขึ้นอยู่กับว่า คุณสามารถเขียน Code ไปได้แล้วกี่บรรทัด

เหมือนที่ Bill Gates กล่าวไว้ว่า การวัดความก้าวหน้าของ Programmers ด้วยจำนวนบรรทัดของ Code ก็เหมือนการวัดความก้าวหน้าของ Aircraft ด้วยน้ำหนัก

5. เรียนรู้อยู่เสมอ

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

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

สุดท้ายนี้หวังว่า 5 Keys สู่การเป็น Software Developer ระดับตัวท็อป จะเป็นหนึ่งในตัวช่วยให้คุณได้เรียนรู้และพัฒนาตนเองให้ถึงเป้าหมายที่คุณตั้งไว้ แต่หากอยากเจอทางลัดสู่ความสำเร็จ อย่าลืมให้ ISM ช่วยคุณนะคะ

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

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

Source: https://betterprogramming.pub/

​​