The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

นักพัฒนาซอฟต์แวร์ (2)

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by jajabentopa, 2021-12-22 21:12:06

นักพัฒนาซอฟต์แวร์ (2)

นักพัฒนาซอฟต์แวร์ (2)

M.3/2

ก า ร เ รี ย น รู้

นักพั ฒนา
ซ อ ฟ ต์ แ ว ร์

ใ น แ บ บ ข อ ง คุ ณ เ อ ง

เ ข้ า ใ จ ไ ห ม ก็ อี ก เ รื่ อ ง

โดย CHITPON

Software
developer คือ

อะไร?

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

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

หนึ่ง โดยเฉพาะการออกแบบฟีเจอร์ต่างๆ ซึ่ง
Software developer มีหน้าที่ ไม่ใช่แค่การเขียน
โปรแกรมเป็นแต่จะต้องรู้จักคิดนอกกรอบ อย่างการติด

ตั้งวางระบบหรือออกแบบกำหนดโครงสร้างของ
ซอฟต์แวร์ได้ละเอียด เพราะ ขอบเขตการทำงานจะกว้าง
กว่าการเขียนโปรแกรมธรรมดา ส่วนทักษะพื้นฐานที่ควร
มีคือ ภาษา C, C+, Java, COBAL, IOS, Android ,

Java, Python, Lisp

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

โปรแกรมเมอร์ หรือ นักเขียนโปรแกรม มีหน้าที่เขียน
โปรแกรมทั่วๆไป โดยอาจมีประสบการณ์อย่างน้อย 2-3

ภาษา (ภาษาในโปรแกรมที่ใช้ เช่น ภาษา HTML,
ภาษา CSS หรือ ภาษา Python) ปัจจุบันก็จะเป็น
ลักษณะนี้ ลักษณะงาน coding โปรแกรมอย่างเดียว
สามารถรู้ Algorithm แม้จะดูคล้ายกับนักพัฒนา
ซอฟต์แวร์หรือ Developer แต่ก็ไม่ได้ทำหน้าที่อย่าง

ละเอียดเท่า
นักพัฒนาซอฟต์แวร์ จะมีหน้าที่สามารถเขียนและสร้าง

ซอฟต์แวร์คอมพิวเตอร์ วางแผน เขียนโค้ด รวมทั้ง
บริหารโปรเจคให้ผ่านไปด้วย สมบูรณ์ได้โดยไม่ต้องอาศัย

ความช่วยเหลือจากคนอื่น ซึ่งมักมีความรับผิดชอบ
มากกว่า Coder และมีการแบ่งแยกความเชี่ยวชาญ
เฉพาะด้านในด้านเดียวหรือมากกว่า จนหลายคนมองว่า
นักพัฒนาซอฟต์แวร์ เก่งและเป็นมืออาชีพมากเนื่องจาก

ทำงานได้ทุกขั้นตอนโดยคนเดียว

จึงบอกได้ว่าอาชีพ โปรแกรมเมอร์ กับ นักพัฒนาซอฟต์แวร์ มีความ
คลึงกันมากแต่ว่าจะมีความเเตกต่างกันคือ

โปรแกรมเมอร์ คือ คนเขียนโปรแกรม มีความเข้าใจใน code และ
เชี่ยวชาญการเขียน code ส่วน นักพัฒนาซอฟต์แวร์ มีความรู้หลาก

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

มีหน้าที่และทักษะพื้นฐานในสายอาชีพมีอะไรบ้าง ?
ซึ่งนอกจากจะต้องมีสกิลการเขียนโปรแกรมที่เชี่ยวชาญ

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

ฐานด้านอื่นๆด้วย
เมื่อพูดถึงทักษะพื้นฐานของนักพัฒนาซอฟต์แวร์ หรือ
software developer หลายคนมักจะลืมนึกถึงทักษะ
ด้านอารมณ์ หรือ ซอฟต์สกิล นั่นเอง ซึ่งทักษะนี้เองจะ
ทำให้ นักพัฒนาซอฟต์แวร์ คนนั้นมีความเติบโตอย่าง
รวดเร็วและดูโดดเด่นกว่านักพัฒนาซอฟต์แวร์คนอื่นๆ
เพื่อเพิ่มมูลค่าในตลาดและเปิดประตูทุกบานให้ตัวเอง

มาดูกันเถอะว่ามีทักษะไหนที่เราควรเรียนรู้ไว้

ทำงานร่วมกับผู้อื่นได้ดี
1. โปรแกรมเมอร์ เป็นคนเก่ง มีพรสวรรค์ทางด้านการ Coding

แต่กลับไม่สามารถทำงานหรืออยู่ร่วมกับผู้อื่นได้ดีมากนัก ดังนั้น
การสื่อสารกับบุคคลอื่นได้ดีงานของคุณก็จะออกมาดีตามไปด้วย
2. เป็นผู้ฟังที่ดีการจะเป็นผู้สื่อสารที่ดีได้ คุณต้องเป็นผู้ฟังที่ดีด้วย
โดยเฉพาะการรับข้อมูลจากลูกค้า ถ้าหากคุณเป็นผู้ฟังที่ไม่ดีการ

เขียนโปรแกรมอาจจะเกิดข้อผิดผลาดได้
3. มีความอ่อนน้อมถ่อมตนSoftware Developer ที่มีคุณภาพ

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

ใดความอ่อนน้อมถ่อมตน
เตรียมพร้อม/กระตุ้นตัวเองตลอดเวลา
4.Software Developer ควรหาโอกาสฝึกฝนและผลักดันตัวเองให้
หนักกว่างานที่ทำในที่ทำงาน ซึ่งการทำเช่นนี้จะทำให้จะพัฒนาทักษะ

ให้เฉียบคมอยู่เสมอ
การบริหารเวลา

5.ตัดสินใจในทางธุรกิจอันเป็นเหตุเป็นผล และสามารถลำดับความ
สำคัญของงานได้และความสามารถในการทำงานภายใต้แรงกดดัน
รวมถึงความตรงเวลาได้ จะทำให้นายจ้างมีความสนใจเราเป็นอย่าง

ใส่ใจในรายละเอียดมาก
6.Software Developer ที่ใส่ใจในรายละเอียด มีแนวโน้มที่จะ
สามารถเขียน Coding ที่มีคุณภาพสูงออกมาได้ มักมีประโยชน์กว่า

คนที่ทำอะไรเร่งรีบหรือทำอะไรชุ่ยๆ

แล้วทักษะด้านการ Coding ละ? เราลองมาดูพร้อมๆกัน
เลยดีกว่า




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

ในปัจจุบันถือเป็นหนึ่งในทักษะที่สำคัญ
Cloud Platform (AWS, GCP, หรือ Azure)
เป็นการเขียนโปรแกรมที่ทำงานร่วมกับ Cloud อย่างแน่นอน โดย Cloud ก็มีให้
คุณได้เลือกใช้อยู่หลายๆ แพลตฟอร์ม ไม่ว่าจะเป็น Amazon Web Services
(AWS), Google Cloud Platform (GCP) หรือ Microsoft Azure

Data Structure และ Algorithm
มันคือพื้นฐานของพื้นฐานด้านกระบวนการคิด ที่ต่อให้คุณได้ย้ายไปทำงานที่ไหนก็จะ

ต้องได้ใช้ หรือจะต้องถูกสัมภาษณ์อย่างแน่นอน
Version Control Tool

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

กว่า 70%
IDEs

IDE จริงๆแล้วย่อมาจาก Integrated Development Environment หรือเป็น
เครื่องมือที่ช่วยให้คุณเขียนโปรแกรม ซึ่งเป็นมาตรฐานตามการใช้งานของคนทั่วไป
ในการเขียน Website ได้อย่างง่ายดายมากขึ้น ซึ่งแต่ละคนก็มีความถนัดที่แตกต่าง

กันออกไป
Database & SQLเป็นสิ่งที่ถือเป็นพื้นฐานแถมอายุอานามมันก็ประมาณ 30 ปี
กว่าๆ ได้แล้ว ถือเป็นพื้นฐานด้านการจัดการฐานข้อมูลที่โปรแกรมเมอร์ทุกคนต้องมี

อยู่แล้ว
OOP Programming language (C++, Java & Python) การเขียนโปรแกรม

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

ฉะนั้นเอาเท่านี้ก่อน เราจะรู้ว่า จริง ๆ แล้ว Software
developer ไม่ได้มีแค่ในส่วนของการ Coding หรือ
สร้าง Website เพียงอย่างเดียวเท่านั้นแต่ทักษะทาง
ด้านอารมณ์ก็สำคัญ เพราะแผนก HR หลายองค์กรเป็น
แค่ฝ่ายธุรการ ตามไอทีไม่ทัน เวลาพูดคุยกันเมื่อไม่มี
ทักษะด้านการสื่อสารที่ดีก็อาจจะทำให้โดนเขี่ยตกไปได้
อย่างน่าเสียดาย ดังนั้นใครคิดว่าตัวเองเก่ง หรือเราเป็น
ขั้นเทพด้าน Coding แต่ไม่สามารถสื่อสารกับทีมได้หรือ
ไม่สามารถทำงานเป็นทีมได้ ก็เป็นปัญหาในการทำงาน
ได้แต่กลับกัน ถ้าหากเราอาจจะเขียนโปรแกรมได้ค่อยไม่
เก่งนัก แต่เรามีทักษะและศักยภาพที่สามารถพูดคุยกับ

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

นวัตกรรมให้เกิดขึ้นได้

จัดทำโดย

Chitpon
m.3/2


Click to View FlipBook Version