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

ขอต้อนรับเข้าสู่ปี 2020 ปีแห่งความต้องการ อาชีพโปรแกรมเมอร์ แน่นอนว่า เด็กจบใหม่ต่างก็ต้องหางานทำ และหนึ่งในอาชีพที่บริษัททั่วไทยต้องการมากที่สุดในปีนี้ ก็หนีไม่พ้น อาชีพโปรแกรมเมอร์ ….

อีกทั้ง อาชีพโปรแกรมเมอร์ ยังเป็นอาชีพที่มีรายได้เริ่มต้นมากที่สุดอีกด้วย

อ่านเรื่องของ 8 อาชีพมาแรง…โคตรๆ!! ที่บริษัททั่วโลกต้องการมากที่สุด ในปี 2020 ได้ที่นี่

มาเข้าเรื่องกันเลยดีกว่าว่า 8 ทักษะที่โปรแกรมเมอร์ควรมี (มือใหม่) ในปี 2020 มีอะไรบ้าง??!!

ทักษะที่โปรแกรมเมอร์ควรมี
ชมโพสต์ 8 ทักษะที่โปรแกรมเมอร์ควรมี สำหรับมือใหม่ ในปี 2020 ผ่าน Facebook คลิกที่ภาพ

1 Containers (Docker & Kubernetes)

ทักษะด้าน Containers : Containers หรือเครื่องมือที่จะช่วยจัดการบรรจุ ซอฟต์แวร์ โปรแกรมต่างๆ รวมไปถึงแอพพลิเคชั่น ให้สามารถโยกย้ายไปที่ Server เครื่องไหนก็ได้ เช่น การใช้ Containers ของ Docker หรือ Kubernetes (ตัวที่โปรแกรเมอร์ส่วนใหญ่ใช้กัน) ไม่ว่าจะในแอพพลิเคชั่น หรือเว็บไซต์

เมื่อแอพเป็น Container ถ้าในอนาคตบริษัทอยาก Scale หรือโยกย้ายเครื่อง ก็จะสามารถเอาทั้ง Container ไปวางบนเครื่องใหม่ได้เลย โดยที่ไม่ต้องมานั่ง Setup อะไรใหม่อีก พื้นฐานด้านการใช้งาน Containers จึงสำคัญเป็นอันดับต้นๆของเหล่านักพัฒนา

จากทั้งหมดที่กล่าวมา คือ Containers นี้จะช่วยให้โปรแกรมเมอร์ทั้งหลาย สามารถ Deploy งานได้ง่าย สะดวก และเร็วขึ้น

เพิ่มเติม

เจ้า Docker หรือ Kubernetes เป็นแพลตฟอร์มที่ช่วยจัดการเรื่องการ Deploy และ Scale Container นั่นเอง

โดยมีข้อดี คือ มีความยืดหยุ่นสูง ค่อนข้างเบา และเร็ว (สามารถรันผ่าน Cloud หรือ Server อะไรก็ได้) นั่นเอง

เครื่องมือที่แนะนำ

  • Docker
  • Kubernetes

 

2 Cloud Platform (AWS, GCP & Azure)

ทักษะด้าน Cloud Platform : Cloud Platform คือ การเลือกใช้แพลตฟอร์มที่ให้บริการด้าน Cloud นั่นแหละ โดยแต่ละแพลตฟอร์มก็จะมีความสามารถที่แตกต่างกันออกไป แต่โดยรวม Cloud Platform จะมีหน้าที่ช่วยประมวลผล จัดเก็บข้อมูลอันมหาศาล โดยผ่านระบบ Cloud ที่สามารถใช้งานได้ทุกทีทุกเวลาตลอด 24 ชม. ผ่านอินเทอร์เน็ต

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

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

ไม่ว่าจะมือใหม่ หรือมือเก่า พื้นฐานด้านการใช้งานแพลตฟอร์มคลาวด์ จึงจำเป็นที่จะต้องมีในยุคนี้

เครื่องมือที่แนะนำ

  • Amazon Web Service (AWS)
  • Google Cloud Platform (GCP)
  • Microsoft Azure (Azure)

 

3 Data Structure & Algorithm

ทักษะด้าน Data Structure & Algorithm : Data Structure & Algorithm คือ พื้นฐานที่โปรแกรมเมอร์ หรือนักพัฒนาซอฟต์แวร์ ควรมีอยู่แล้ว โดย Data Structure & Algorithm ที่ว่า…มัน หมายถึง พื้นฐานด้านกระบวนการคิดที่เป็นขั้นเป็นตอน สามารถจัดเรียงข้อมูล และวางโครงสร้างระบบ หรืออะไรก็ตามได้อย่างเป็นระเบียบเรียบร้อย

โดยส่วนใหญ่ทักษะด้านนี้จะช่วยให้ โปรแกรมเมอร์ ทั้งหลาย มองเห็นถึงปัญหาที่เกิดขึ้น และมองเห็นถึงวิธีการแก้ไขปัญหาเหล่านั้นได้ง่ายขึ้น

อีกทั้งยังสามารถช่วยให้ทำงานได้รวดเร็ว และมีประสิทธิภาพมากขึ้นอีกด้วย

เพิ่มเติม

Data Structure คือ โครงสร้างของข้อมูล เป็นกระบวนการจัดการข้อมูลให้อยู่ในโครงสร้าง หรือ การจัดเตรียมรูปแบบในการจัดเก็บข้อมูลให้มีความเป็นระเบียบ และถูกต้อง

Algorithm คือ ขั้นตอนวิธีการ หรือที่เรียกว่า อัลกอริทึม นั้น เป็นกระบวนการในการแก้ปัญหาที่สามารถเข้าใจได้ง่าย มีขั้นตอน ลำดับวิธี หรือวิธีในการแก้ไขปัญหาใดปัญหาหนึ่ง โดยอาศัยความเป็นระเบียบเป็นขั้นเป็นตอน และชัดเจน (ต้องมีจุดประสงค์ในการทำ) จะต้องรู้ว่าสุดท้ายแล้ว จะต้องได้ผลลัพธ์อะไรในการทำ Algorithm

 

4 Version Control Tool (Git)

ทักษะด้าน Version Control Tool : Version Control Tool คือ อีกหนึ่งเครื่องมือที่เหล่าโปรแกรมเมอร์ทุกทีมต้องใช้กัน และต้องใช้เป็นด้วย อธิบายให้ง่ายๆอีกก็คือ Version Control เป็นเครื่องมือที่จะช่วยให้โปรแกรมเมอร์หลายๆคนสามารถทำงานเขียนโค้ด หรือโปรแกรมร่วมกันได้ และง่ายต่อการเก็บข้อมูลที่มีการเปลี่ยนแปลง ผ่านการ Backup และจัดเรียง Source Code อย่างเป็นระบบ และมีประสิทธิภาพมากที่สุด

เรียกได้ว่า เป็นการแก้ไขปัญหาได้ตรงจุดมากๆ สำหรับในการแก้ไขโค้ดไม่ให้ไปทับกับงานของโปรแกรมเมอร์คนอื่นๆภายในทีม พื้นฐานด้านการทำงานร่วมกับเพื่อนๆในทีม หรือการใช้งานผ่าน Version Control Tool จึงเป็นอีกหนึ่งใน 8 ทักษะที่โปรแกรมเมอร์ควรมี นั่นเอง

เพิ่มเติม

เมื่อพูดถึง Version Control System ในอดีต SVN คือ Software ที่นิยมที่สุด แต่เมื่อเวลาผ่านไป เทคโนโลยีมีการพัฒนา และได้มีการแก้ไขข้อจัดกัดของตัว SVN ทำให้ในปัจจุบัน Software ที่เป็นที่นิยมที่สุด คือ Git นั่นเอง (กว่า 70% จากทั่วโลกเลือกใช้ Git)

เครื่องมือที่แนะนำ

  • Git (Distributed Version Control System)
  • SVN (Centralized Version Control System)

 

5 IDEs (Eclipse, NetBeans, IntelliJ IDEA, Jupyter Notebook & Visual Studio Code)

ทักษะด้าน IDEs : IDE จริงๆแล้วย่อมาจาก Integrated Development Environment คือ เครื่องมือที่จะช่วยให้โปรแกรมเมอร์ หรือนักพัฒนาซอฟต์แวร์ มีความสะดวกมากขึ้นสำหรับการพัฒนาโปรแกรม เช่น การใช้คำสั่ง Compile หรือ Run โปรแกรม ซึ่งการเลือกใช้ IDEs มีความสำคัญอย่างมาก หากเลือกใช้ได้ถูก และตรงตามมาตราฐานการใช้งานของคนภายในทีม ก็จะยิ่งทำให้ทำงานร่วมกับโปรแกรมเมอร์คนอื่นๆได้ง่ายมากขึ้น พื้นฐานเรื่องเครื่องมือในการพัฒนาโปรแกรม จึงมีความสำคัญไม่แพ้กับหัวข้ออื่นๆเลย

เพิ่มเติม

การเลือกใช้เครื่องมือ IDEs ย่อมแตกต่างกันออกไป แล้วแต่โปรแกรมเมอร์ หรือนักพัฒนาซอฟต์แวร์ แต่ละคนว่าดูแลในส่วนไหนอยู่ ซึ่งแต่ละคนก็มีความถนัดที่แตกต่างกันออกไป จึงอาจจะใช้เครื่องมือ IDEs ที่ต่างกัน

เครื่องมือที่แนะนำ

  • Eclipse, NetBeans และ IntelliJ IDEA สำหรับ ภาษา Java
  • Jupyter Notebook สำหรับ ภาษา Python
  • Visual Studio Code (VSCode) สำหรับ ภาษา C, ภาษา C++ และ ภาษา C#

credit : IDE คืออะไร??

อ่านเรื่อง 5 ภาษาโปรแกรมคอมฯ ที่ถูกสร้างขึ้นโดย…โปรแกรมเมอร์หญิง ได้ที่นี่

 

6 Database & SQL

ทักษะด้าน Database & SQL : Database และ SQL คือ สิ่งที่อยู่กับโปรแกรมเมอร์มาตั้งแต่ไหนแต่ไรแล้ว ซึ่งเรื่องของ Database และ SQL ถือเป็นพื้นฐานด้านการจัดการฐานข้อมูลที่โปรแกรมเมอร์ทุกคนต้องมีอยู่แล้ว ที่สำคัญสำหรับโปรแกรมเมอร์ที่ต้องทำในยุคนี้ ก็คือ ความรู้พื้นฐานในด้านการทำ Create / Read / Update / Delete หรือ CRUD นั้นเอง และสามารถเขียน SQL เพื่อดึง Database หรือข้อมูลที่ต้องการออกมาใช้งานได้

เหล่าโปรแกรมเมอร์ควรศึกษา และเรียนรู้อย่างละเอียดว่าจะทำยังไง เมื่อดึงข้อมูลปุ๊ปต้องได้ปั๊ป ฐานข้อมูลเป็นเรื่องที่สำคัญมากๆ หากพลาด หรือเขียนผิดไปนิดเดียวอาจทำให้พังทั้งระบบก็ได้ ที่สำคัญอีกอย่างไม่แพ้กัน คือ ควรจะวิเคราะห์อย่างละเอียดก่อนว่าระบบที่กำลังจะพัฒนาขึ้นมา เหมาะกับฐานข้อมูลแบบไหน…จงให้ความสำคัญกับเรื่องข้อมูลเป็นอันดับต้นๆจะดีที่สุด

เครื่องมือที่แนะนำ

  • Oracle
  • MySQL
  • Microsoft SQL Server
  • PostgreSQL

 

7 OOP Programming language (C++, Java & Python)

ทักษะด้าน OOP Programming language : OOP หรือ Object Oriented Programming คือ การเขียนโปรแกรมเชิงวัตถุ ยิ่งกว่าคำว่าพื้นฐาน เพราะมัน คือ พื้นฐานของพื้นฐานสำหรับโปรแกรมเมอร์ หรือนักพัฒนาอีกทีนึง การเขียนโปรแกรมแบบ OOP (พื้นฐานด้านภาษาโปรแกรมคอมพิวเตอร์) ยกตัวอย่าง เช่น ภาษา C++, ภาษา Java, ภาษา JavaScript และ ภาษา Python เป็นพื้นฐานสำหรับผู้ที่เพิ่งจะเริ่มต้นเขียนโปรแกรม ก่อนจะเข้าสู่นักพัฒนาอย่างเต็มตัว ถ้าหากโปรแกรมเมอร์มือใหม่สามารถเขียนโค้ดพวกภาษาที่เป็น OOP ได้แล้ว นั้นหมายความว่าคุณได้มีทักษะ Skill เพิ่มขึ้นมาแล้ว เมื่อคุณคิด หรือต้องการสร้างอะไรขึ้นมาก็สามารถเขียนขึ้นได้เลย ทำให้สามารถเอาไปต่อยอดในอนาคตต่อไปได้อย่างแน่นอน

 

8 Networking (Basics)

ทักษะด้าน Networking : Networking คือ ระบบเครือข่ายที่เป็นส่วนสำคัญของการทำงานในสายโปรแกรมเมอร์อย่างมาก เนื่องจากการทำงานในส่วนของการพัฒนาเว็บไซต์ หรือแอพพลิเคชั่น ของโปรแกรมเมอร์ หรือนักพัฒนาซอฟต์แวร์ ต้องอาศัยระบบ Network อยู่แล้ว เพื่อที่จะเชื่อมต่อระบบที่พัฒนาไปยัง Server การทำงานของเหล่านักพัฒนาจึงจำเป็นที่จะต้องรู้เรื่องหลักการทำงานของระบบ Network เป็นพื้นฐานคร่าวๆอยู่แล้ว พื้นฐานด้านการใช้งานระบบเครือข่าย หรือทักษะด้าน Networking จึงเป็นอีกทักษะที่โปรแกรมเมอร์ในยุคนี้ขาดไม่ได้

ไม่ว่าจะเป็น Dev โปรแกรมเมอร์ หรือนักพัฒนาระดับไหน ถ้าขาด ทักษะที่โปรแกรมเมอร์ควรมี ทั้ง 8 ข้อนี้ คงจะทำงานยากขึ้นหน่อย อย่าลืมที่จะเพิ่มทักษะเหล่านี้ขึ้นมาด้วย!!

หากใครสนใจอ่านเพิ่มเติมบทความนี้แบบเต็มๆได้ที่นี่ 8 ทักษะที่โปรแกรมเมอร์ควรมี สำหรับมือใหม่โดยเฉพาะ ในปี 2020

 

แล้วคุณหละ??

มี ทักษะที่โปรแกรมเมอร์ควรมี อะไรแนะนำเราบ้าง…

ลอง comment, share หรือ tag บอกให้เรารู้ที!!

 

Source

11 Essential Skills Software Developers should Learn in 2020 – Javin Paul

9 ทักษะจำเป็นสำหรับนักพัฒนาซอฟต์แวร์ที่ควรเรียนรู้ไว้ในปี 2020 – BorntoDev

10 ทักษะที่จำเป็นสำหรับนักพัฒนาซอฟต์แวร์(มือใหม่)ในปี 2020 – Medium

Facebook Comments