Technology

12 ทักษะ Technical skills & Soft skills ที่ Programmer ควรเรียนรู้

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

Technical skills

1. API (Application Programming Interface)

คือตัวกลางการรับส่งข้อมูลระหว่าง Frontend และ Backend เช่นการเรียกรับส่งข้อมูลระหว่าง website หรือ application กับ server โดยรูปแบบ API ที่นิยมในปัจจุบันได้แก่ RESTFul API และ GraphQL เป็นต้น

2. Clean code

แนวคิดการเขียนโค้ดที่นอกจากจะต้องสามารถทำงานได้ตามที่คาดหวังแล้ว โค้ดที่เขียนจะต้องเขียนออกมาเป็นรูปแบบโครงสร้างไม่ซ้ำซ้อน ผู้อื่นสามารถอ่านโค้ดที่เราเขียนได้เข้าใจง่าย สามารถทำการทดสอบ, แก้ไข หรือพัฒนาต่อยอดได้ง่าย

3. Automate Testing

การทดสอบในรูปแบบอัตโนมัติโดยการเขียนโค้ดที่มีหน้าที่ในการทำ Testing โค้ดชุดหลักที่ต้องการทดสอบผลลัพธ์ว่าเป็นไปตามจุดประสงค์หรือไม่ การเขียนโค้ดสำหรับทำ Automate Testing จะช่วยให้ประหยัดเวลาและมีประสิทธิภาพมากกว่า Manual Testing โดยเฉพาะระบบขนาดใหญ่ที่มีฟังก์ชันจำนวนมาก ตัวอย่างรูปแบบการทำ Automate Testing ได้แก่ Unit test, Integration test และ End to end test เป็นต้น

4. Version control

อีกหนึ่งสิ่งที่จะช่วยคุณพัฒนาซอฟต์แวร์ร่วมกับผู้อื่นได้ดียิ่งขึ้น เครื่องมือที่จะช่วยบริหารจัดการกระบวนการพัฒนาซอฟต์แวร์ของทีม Programmer ที่ทำงานร่วมกันหลาย ๆ คน โดยเครื่องมือ Version control ที่นิยมในปัจจุบันได้แก่ Git และ GitHub

5. Code reviews

เมื่อมีการเขียนโค้ด หรือ แก้ไข เพื่อที่จะใช้ในระบบ ก่อนที่จะมีการอัปโหลดโปรเจคจะต้องให้ Programmer ในทีมที่ไม่ใช่ผู้ที่เขียนโค้ดนั้น ๆ ได้ทำการตรวจสอบความถูกต้องของโค้ดชุดนั้นก่อนที่จะนำขึ้นระบบ เพื่อตรวจสอบมาตราฐานและลดความผิดพลาดที่เกิดขึ้นกับระบบได้ การทำ Code review นั้นเป็นส่วนรับผิดชอบร่วมกันของทีม Programmer ที่จะต้องช่วยกัน Discussion ตรวจสอบโค้ดของกันและกัน เนื่องจากบางครั้งแต่ละคนสามารถมองเห็นจุดผิดพลาดของโค้ดที่ผู้อื่นอาจจะมองข้ามได้

6. Software delivery

การทำ Software delivery หรือ การ Deploy โค้ดขึ้นระบบ ในปัจจุบันในองค์กรที่มีระบบขนาดใหญ่นิยมทำแบบ Automate Deploy โดยมีกระบวนการที่นิยมทำในองค์กรคือ CI/CD กระบวนการ CI/CD จะช่วยให้ Programmer สามารถลดระยะเวลาการ Deploy ให้รวดเร็วขึ้นมีความถูกต้องมากขึ้นเมื่อทำการรวมโค้ดที่เขียนเข้ากับโค้ดหลัก

Soft skills

1. Business mindset

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

2. Product mindset

ในการทำงานพัฒนาซอฟต์แวร์นอกจากจะต้องคำนึงถึง Technical ต่าง ๆ ในการพัฒนาแล้ว อีกสิ่งหนึ่งที่สำคัญเช่นเดียวกันคือการคำนึงถึงตัว Product ที่ต้องการพัฒนาออกมาให้ตอบโจทย์ผู้ใช้งานหรือลูกค้าด้วย

3. People skill

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

4. Communication skill

ในการทำงานในองค์กร ที่ต้องทำงานร่วมกันกับหลาย ๆ ทีม ปัญหาอันดับต้น ๆ ของการทำงานคือการสื่อสารที่เข้าใจไม่ตรงกัน โดยเฉพาะผู้ร่วมงานที่อาจจะไม่ได้เข้าใจในส่วนงานที่คุณทำอยู่ ดังนั้นถ้าคุณพัฒนา Communication skill สามารถสื่อสารอธิบายเรื่อง Technical ยาก ๆ ให้เข้าใจได้ง่ายขึ้น ช่วยให้ผู้ร่วมงานเห็นภาพตรงกันมากขึ้น

5. Making Tough Decision

บ่อยครั้งที่ Programmer จะต้องตัดสินใจแก้ปัญหาในรูปแบบต่าง ๆ ทักษะการตัดสินใจปัญหายาก ๆ จึงเป็นสิ่งสำคัญมากสำหรับการทำงานเมื่อจะก้าวขึ้นไปเป็น Senior หรือ Tech Lead ที่จะต้องวิเคราะห์ปัญหาตรงหน้า และคิดตัดสินใจว่าจะแก้ปัญหาอย่างไรในสถาณการณ์ต่าง ๆ

6. Career path

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

และนี่คือ 12 ทักษะ Technical skills & Soft skills สำคัญที่คุณสามารถเรียนรู้ได้ในคอร์สออนไลน์ใหม่ How to Become a Better Programmer

มาเรียนรู้ Technical skills & Soft skills ที่สำคัญสำหรับการเติบโตในสายงาน Programmer และองค์ประกอบของการพัฒนาซอฟต์แวร์ระบบขนาดใหญ่ในระดับองค์กร รู้จักกับเครื่องมือ และ Keyword ต่าง ๆ ที่ใช้ทำงานร่วมกัน

สอนโดย คุณบอย วรายุทธ เลิศกัลยาณวัตร – อดีต Software Development Engineer ที่ Amazon สมัครเลย 👉 to.skooldio.com/m6nUqU4RWob

You may also like

More in:Technology

Technology

4 ตัวอย่าง Tech ระดับโลก ที่ใช้ภาษา Go สร้าง High Performance Software

ถึงแม้ว่า ภาษา Go นั้นจะเป็นภาษา Programming ที่เพิ่งมาใหม่ได้ไม่นาน (เมื่อเทียบกับภาษาอื่นๆ อย่าง Java หรือ C++ ที่มีประวัติมายาวนานกว่า) แต่ว่ามีบริษัทต่างๆ จำนวนมากที่ใช้งานภาษา Go ...
Technology

รู้จักกับภาษา Go – ภาษาที่ Google สร้างขึ้นมาเพื่อแก้ปัญหาความช้าและซับซ้อนของการพัฒนา Software

รู้จักกับภาษา Go ว่าทำไม Google ถึงต้องสร้างภาษา Go ขึ้นมา? วันนี้ Skooldio จะพาเรามาหาคำตอบกัน Table of Contentsบริษัท Google ในปี ...

Comments are closed.