#1 tech recruiter in thailand

7 ข้อควรปฏิบัติ ของการพัฒนาซอฟต์แวร์ที่ดี

See the original English version of this article here

การพัฒนาซอฟต์แวร์ (Software Development) นั้นเป็นมากกว่าแค่การรู้จัก API หรือแค่พื้นฐานของ Syntax ต่างๆ แล้วอะไรล่ะ ที่จะทำให้เราสามารถเป็น Software Developer ที่ดีได้? บทความนี้จะบอกถึงสิ่งที่ Software Developer (รวมทั้งคนที่อยากจะเป็น Software Developer) ทุกคนควรจะทำและจดจำไว้เสมอ เรามาดูกันว่ามีอะไรบ้าง

1. เชื่อในข้อมูล

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

2. Software Development เป็นมากกว่าการ Coding

เช่นเดียวกับการเขียน email มันมากกว่าแค่การพิมพ์ข้อความจากคีบอร์ด หรือรู้คำศัพท์และหลักภาษา “การพัฒนาซอฟต์แวร์ ไม่ใช่แค่การ coding อย่างเดียว” ยังต้องอาศัยกระบวนการต่างๆ ทั้ง coordination, communication, analysis, design, testing, project management และอื่น ๆ การ Coding ก็มีความสำคัญ เหมือนอย่างเครื่องยนต์ที่มีความสำคัญต่อรถยนต์ การเป็น Software Developer ที่ดี ควรรู้จักการเอาใจเขามาใส่ใจเรา ใส่ใจในเพื่อนร่วมงานที่เกี่ยวข้องด้วย

3. Coding คือการสื่อสารกับผู้คน (หรือกับสังคม)

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

4. Process ที่ดีถือเป็นสิ่งสำคัญ

จากแนวคิด Conway’s law ที่ได้คาดการณ์ว่า Software ของคุณจะเป็นสิ่งที่สะท้อนถึงทีมงานและโครงสร้างการสื่อสารด้วย Process คือโครงสร้างของการสื่อสารนั้น ลองนึกถึงการสื่อสารบนเครื่องบินสิ พวกเขาจะมีโครงสร้างการสนทนาที่ชัดเจนระหว่าง นักบิน ผู้ช่วยนักบิน ลูกเรือบนเครื่องบิน และหน่วยควบคุมการจราจรทางอากาศ เพื่อสร้างมาตรฐานให้ทุกคนเข้าใจในแบบเดียวกัน

5. คุณสามารถพิสูจน์ตัวเองด้วยผลลัพธ์ ไม่ใช่ “สถานะ”

สิ่งที่แย่ที่สุดของการพัฒนาองค์กรหรือทีม คือการที่ Developer มีหัวหน้าหรือ Supervisor ที่มากเกินไป ซึ่งมันก็สะท้อนให้เห็นถึงการอยากแสดง “สถานะ” ของคนในองค์กรหรือทีมนั้นๆ ถ้านึกถึงเรื่อง “บทบาท” ไม่ใช่ “สถานะ” ผมเคยร่วมงานกับองค์กรที่ดีมากแห่งหนึ่ง ได้รู้จักคนในองค์กรที่เขาเน้นทำให้สิ่งต่างๆ เกิดขึ้นจริงและสำเร็จ ที่สำคัญคือพวกเขาร่วมมือกันทำโดยไม่ได้แบ่งว่าใครอยู่ในสถานะไหน ตำแหน่งสูง-ต่ำแค่ไหนเลย

6. ทุกคนสามารถเรียนรู้จากคนอื่น ๆ ได้

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

7. ทดสอบสมมติฐานทั้งหมดของคุณ และพร้อมที่จะเปลี่ยนแปลงอยู่เสมอ

เมื่อให้คำปรึกษาแก่นักพัฒนาซอฟต์แวร์รุ่นใหม่ๆ ผมมักจะเน้นย้ำเสมอว่า คุณไม่ควรพิสูจน์ว่าตัวเองถูกต้อง แต่ควรพิสูจน์ว่าตัวเองผิด ผมยังสนับสนุนให้พวกเขาคิดแบบนี้เมื่อพวกเขาพยายามที่จะพิสูจน์ว่าตัวเองถูกต้อง ทฤษฎีเกี่ยวกับตรรกะ (การใช้เหตุผล) มีแนวโน้มที่จะเป็ฯวิธีที่คุณอาจใช้ในการพิสูจน์ว่าคุณผิด แต่ถ้ามันใช้ไม่ได้ ก็อาจจะเป็นทฤษฎีที่ไม่ค่อยดีสักเท่าไร กรณีที่คุณไม่สามารถพิสูจน์ได้ว่าคุณกำลังผิดอยู่ คุณก็ลองพยายามพิสูจน์ว่ามันถูกต้อง ซึ่งเป็นแนวคิดเดียวกับข้อแรกคือ “เชื่อในข้อมูล” แต่ไม่ใช่แค่ข้อมูลเพียงเท่านั้น แต่ยังหมายรวมถึงวิธีการที่คุณใช้งานด้วย

เชื่อว่าบทความนี้ น่าจะมีประโยชน์ต่อคนไอที ที่เป็น Software Developer รวมทั้งคนที่อยากจะเป็น Software Developer ในอนาคตด้วย ลองเอาไปปรับใช้กันดู ให้เหมาะกับตัวเองกันนะครับ

ISM Technology Recruitment Ltd. (#1 Tech Recruiter in Thailand) บริษัทเราเชี่ยวชาญในธุรกิจ IT Recruitment & IT Outsourcing โดยเฉพาะ เปิดทำการกว่า 25 ปี มีพนักงานทุกสายและทุกระดับทางด้าน IT ที่ได้ร่วมงานกับลูกค้าองค์กรใหญ่ที่มีชื่อเสียงและบริษัทข้ามชาติมากมาย หากคุณเป็นคน IT ที่อยากทำงานที่ท้าทายและร่วมงานกับองค์กรชั้นนำ ฝากประวัติการทำงาน (Resume) ของคุณไว้กับ ISM ได้ที่ https://www.ismtech.net/submit-your-resume แล้วคุณจะพบว่าอนาคตและโอกาสก้าวหน้ามากมายกำลังรอคุณอยู่

ที่มา: https://www.infoworld.com/

en