Page 17 - Ricoh Family
P. 17

RICOH
                                                     FEATuRE

                   7 ทักษะที่นักพัฒนาซอฟต์แวร์มืออาชีพ


                           จำาเป็นต้องมีและฝึกให้เชี่ยวชาญ



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


        1.  ความรู้เกี่ยวกับภาษาโปรแกรมมิ่งในระดับเชี่ยวชาญ
          ถือเป็นบันไดก้าวแรกของผู้ที่ใฝ่ฝันจะเป็นนักพัฒนาซอฟต์แวร์ที่มี
        คุณภาพทุกคนต้องก้าวข้ามให้ได้ เนื่องจากจะไม่มีวันท�างานได้ในระดับมือ
        อาชีพถ้าไม่ได้เชี่ยวชาญแม้แต่ภาษาใดภาษาหนึ่ง แต่นี่ย่อมน�าไปสู่ค�าถาม
        ยอดฮิตที่ว่า ควรเลือกเรียนรู้ภาษาอะไร (เป็นภาษาแรก) เนื่องจากปัจจุบัน
        มีภาษาเกิดใหม่รวมทั้งภาษาสุดคลาสสิกแต่ยังคงความนิยมให้เลือกอยู่เป็น  ด้านรูปแบบข้อมูลที่แตกต่างกัน ในฐานะนักเขียนโปรแกรมแล้ว จ�าเป็นต้อง
        จ�านวนมาก ท�าให้เป็นการยากที่ตัดสินใจเลือกภาษาในการทุ่มเทศึกษาเรียนรู้    ทราบว่าเมื่อไรถึงจ�าเป็นต้องใช้อัลกอริทึมไหน รวมทั้งควรเขียนอัลกอริทึม
        และเป็นเหตุผลที่ท�าให้คนส่วนใหญ่นิยมเลือกเรียนพร้อมกันหลายภาษาเพื่อ  ในรูปแบบของตัวเองเพื่อแก้ปัญหาเฉพาะอย่างที่เผชิญได้ด้วย นอกจากนี้ยัง
        กระจายความเสี่ยงในการน�าไปใช้ประกอบอาชีพ แต่ถ้าพูดถึงวิธีที่ง่ายที่สุด   ควรเรียนโครงสร้างข้อมูลรูปแบบต่างๆ พร้อมกับวิธีในการจัดการข้อมูล ไม่ว่า
        ในการเรียนภาษาโปรแกรมมิ่งแล้ว  แนะน�าเริ่มจากศึกษาภาษาเดียวให้  จะเป็นข้อมูลแบบแฮช, ลิงค์, เวกเตอร์, ทรี, เซ็ต เป็นต้น
        เชี่ยวชาญถึงที่สุดก่อนที่จะเริ่มหันไปศึกษาภาษาอื่น
                                                              5.  การใช้แพลตฟอร์มสำาหรับพัฒนาโปรแกรม
        2.  การออกแบบที่อิงการใช้อ๊อพเจ็กต์อ้างอิงหรือ          แพลตฟอร์มส�าหรับพัฒนาซอฟต์แวร์นั้นหมายถึงสภาพแวดล้อมที่
          Object-Oriented                                     แอปพลิเคชันที่ต้องการพัฒนาจะต้องท�างานด้วย ซึ่งแต่ละแพลตฟอร์มต่างมี
          เป็นทักษะที่นักเขียนโปรแกรมมือใหม่มักละเลย แต่ถ้ารักที่จะเป็น   ฟีเจอร์จ�าเพาะที่รองรับซอฟต์แวร์ที่สร้างขึ้นแตกต่างกัน ดังนั้นในฐานะ
        นักพัฒนาซอฟต์แวร์มืออาชีพแล้ว ย่อมหลีกเลี่ยงไม่ได้ที่จะต้องฝึกตัวเอง  นักพัฒนาโปรแกรม ก็ควรเชี่ยวชาญเกี่ยวกับรูปแบบข้อมูลที่เข้าและออก
        ให้เป็นมืออาชีพด้านการออกแบบตามหลัก Object-Oriented ที่ช่วยเปลี่ยน  บนแพลตฟอร์มแต่ละชนิด เช่น ถ้าต้องการพัฒนาแอปพลิเคชันบนโอเอส
        โปรแกรมที่มีโค้ดยาวต่อเนื่องและซับซ้อนให้อยู่ในคลาสและอ๊อพเจ็กต์ย่อยๆ   ที่เป็นวินโดวส์ก็จ�าเป็นต้องเข้าใจเกี่ยวกับฟีเจอร์บนระบบปฏิบัติการทั้งหมด
        ที่มีการจัดโครงสร้างไว้เป็นระเบียบ โดยแต่ละคลาสและอ๊อพเจ็กต์ควรเป็นโค้ด  เนื่องจากในช่วงเวลาที่ประกอบอาชีพเป็นนักพัฒนาซอฟต์แวร์นั้นก็มักจะ
        กลางที่มีบทบาทจ�าเพาะแตกต่างกันส�าหรับน�ามาใช้อ้างอิงหรือลิงค์ได้อย่าง  ท�าแอปพลิเคชันบนแพลตฟอร์มไม่กี่แพลตฟอร์มซ�้าๆ ไปเรื่อยๆ ดังนั้น
        สะดวกและมีประสิทธิภาพ ท�าให้นอกจากท�าให้การพัฒนาต่อยอดท�าได้ง่าย  การเชี่ยวชาญทั้งเครื่องมือและเฟรมเวิร์กที่จ�าเพาะกับโอเอสแต่ละตัวจึงส�าคัญ
        และไม่ซับซ้อนโดยเฉพาะในโปรแกรมขนาดใหญ่แล้ว ยังช่วยประหยัดเนื้อที่  เป็นอย่างยิ่ง
        และหน่วยความจ�าในการประมวลผลด้วย เนื่องจากไม่ต้องเขียนโค้ดชุดซ�้าๆ
        ในแต่ละไฟล์อย่างพร�่าเพรื่อจนเปลืองเนื้อที่ และเสี่ยงที่จะเกิดความผิดพลาด  6.  ความรู้เกี่ยวกับระบบฐานข้อมูล
                                                                สิ่งหนึ่งที่นักพัฒนาโปรแกรมไม่สามารถหลีกเลี่ยงได้คือเรื่องของ
        3.  การวางโครงสร้างของโค้ด                            ฐานข้อมูล ไม่ว่าจะเอาดีกับภาษาโปรแกรมมิ่งไหนก็ตาม ก็มักจ�าเป็นต้อง
          ทั้งนักพัฒนาซอฟต์แวร์และวิศวกรซอฟต์แวร์ควรมีทักษะในการวาง  ยุ่งเกี่ยวกับฐานข้อมูลสารพัดแบบอยู่ดีตลอดช่วงเวลาที่ประกอบอาชีพเป็น
        โครงสร้างของโค้ดอย่างเหมาะสมส�าหรับแต่ละภาษา เพื่อให้ได้โค้ดที่สะอาด  นักพัฒนาซอฟต์แวร์ จึงเป็นสาเหตุที่นักพัฒนาจ�าเป็นอย่างยิ่งที่ต้องเรียน
        และชัดเจน ง่ายต่อการท�าความเข้าใจ ซึ่งไม่เพียงมีประโยชน์ต่อคนอื่นที่มา  รู้และท�าความเข้าใจเทคโนโลยีด้านฐานข้อมูลรูปแบบต่างๆ และนอกจาก
        อ่านโค้ดเท่านั้น ตัวคนเขียนเองก็ได้ประโยชน์ด้วย เนื่องจากโค้ดที่อ่านง่าย   รู้เกี่ยวกับชนิดของดาต้าเบสแล้ว ยังควรที่จะสามารถจัดการงานพื้นฐาน
        มีการจัดโครงสร้างเป็นระเบียบนั้นช่วยอ�านวยความสะดวกและเปิดทางในการ  บนฐานข้อมูลได้ด้วย เช่น การสร้างฐานข้อมูล และบริหารจัดการข้อมูลภายใน
        ท�างานร่วมกับคนอื่นเป็นทีมได้ง่าย                     ฐานข้อมูลดังกล่าว

        4.  ความรู้ด้านโครงสร้างข้อมูล และอัลกอริทึมการ       7.  ทักษะการใช้เฟรมเวิร์ก
        ประมวลผล                                                แค่เรียนรู้เกี่ยวกับภาษาเขียนโปรแกรมนั้นไม่พอ ยังต้องก้าวน�าหน้าคู่แข่ง
          ทั้งโครงสร้างและอัลกอริทึมในการประมวลผลข้อมูลนั้นล้วนเป็นสิ่งที่ต้อง  ด้วยการเรียนรู้วิธีการใช้เฟรมเวิร์กด้วย ซึ่งเฟรมเวิร์กเป็นชุดไลบรารีส�าหรับ
        เผชิญตั้งแต่เรียนเกี่ยวกับวิทยาศาสตร์คอมพิวเตอร์ หรือหลักสูตรไอทีอื่นๆ    น�ามาใช้พัฒนาแอปพลิเคชันบนแพลตฟอร์มที่แตกต่างกันได้ ช่วยอ�านวย
        ในมหาวิทยาลัยแล้ว อัลกอริทึมถือเป็นวิธีและกลไกในการแก้ปัญหาทาง  ความสะดวกในการเขียนโค้ด โปรแกรมเมอร์ควรศึกษาเฟรมเวิร์กสัก 1–2 ตัว
        เทคนิคที่ต้องการ โดยเฉพาะในการเขียนโปรแกรม ซึ่งมีหลากหลายอัลกอริทึม   ที่จ�าเพาะกับภาษาโปรแกรมมิ่งที่ตนเองใช้งาน l
        ที่ควรเรียนรู้ไว้ เนื่องจากแต่ละอัลกอริทึมต่างมีคุณสมบัติเฉพาะตัว และใช้แก้
        ปัญหาคนละจุด เช่น ด้านความเร็ว, การจัดการหน่วยความจ�า, หรือมีข้อจ�ากัด  ที่มา : Technotification



                                                      www.ricoh.co.th
                                                            17
   12   13   14   15   16   17   18   19   20   21   22