บุคลากรสายงานพัฒนาซอฟต์แวร์

บุคลากรสายงานพัฒนาซอฟต์แวร์น่าจะมีใครบ้าง? ผมคิดว่าพวกเราน่าจะนึกถึง “โปรแกรมเมอร์” กับ “วิศวกรซอฟต์แวร์” เป็นอันดับแรก ๆ ส่วน “วิศวกรคอมพิวเตอร์” กับ “นักวิเคราะห์ระบบงานคอมพิวเตอร์” พวกเราน่าจะนึกถึงเป็นอันดับรอง ๆ

บุคลากรสายงานพัฒนาซอฟต์แวร์
บุคลากรสายงานพัฒนาซอฟต์แวร์

ภาพข้างบน ผมพยายามนำเสนอว่า การพัฒนาซอฟต์แวร์มันตั้งต้นมาจากการที่มีคนคิดค้นทฤษฎีทางคอมพิวเตอร์ (คุณ A) ซึ่งถูกตีพิมพ์เผยแพร่ในงานประชุมวิชาการหรือวารสารวิชาการ (เช่น ACM หรือ IEEE) และมีคนคิดค้นมาตรฐานทางคอมพิวเตอร์ (คุณ B) ซึ่งถูกเผยแพร่โดยสหพันธ์วิชาชีพ สมาคมวิชาชีพ สภาวิชาชีพ หรือ บริษัทเอกชน (เช่น RFC โดย IETF หรือ IT Standard โดย ISO) เป็นต้น

จากนั้นโปรแกรมเมอร์หรือวิศวกรซอฟต์แวร์ (คุณ C) ก็นำเอาทฤษฎีทางคอมพิวเตอร์และมาตรฐานทางคอมพิวเตอร์ที่ถูกคิดค้นขึ้น มาสร้างเป็นโปรแกรมสำเร็จรูปโดยตรง หรือ ต่อยอดผ่อนแรงสร้างเป็น Library, API หรือ Framework ไปก่อน เพื่อให้โปรแกรมเมอร์หรือวิศวกรซอฟต์แวร์คนอื่น  (คุณ D) นำสิ่งเหล่านี้ไปใช้สร้างโปรแกรมสำเร็จรูปอีกต่อหนึ่ง

โปรแกรมสำเร็จรูปเจ๋ง ๆ ที่สร้างออกมาได้ ส่วนใหญ่ก็จะถูกนำไปใช้งานโดยผู้ใช้งาน (คุณ E) เพื่อเอาไปผลิตสินค้าหรือบริการ ส่วนน้อยก็จะถูกนำไปใช้งานโดยคนที่คิดค้นทฤษฎีทางคอมพิวเตอร์ (คุณ A) หรือคนที่คิดค้นมาตรฐานทางคอมพิวเตอร์ (คุณ B) อีกทีหนึ่ง วนเป็นวงจรเกื้อหนุนกันไป

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

โดยไม่พึ่งพา Framework หรือ API หรือ Library ใด ๆ

แต่ไม่ไหว สุดท้ายผมรอให้มีคุณ C หลาย ๆ คนที่เก่งกว่าผม ผมรอให้พวกเขาสร้าง API และ Library ปล่อยฟรีในอินเทอร์เน็ต เพื่อให้ผมซึ่งกลายร่างเป็นคุณ D ได้รวบรวมเอา API และ Library เหล่านั้น ไปสร้างโปรแกรมสำเร็จรูปได้อย่างที่ต้องการ

ณ ตอนนั้น ผมรู้สึกว่าการที่ผมเป็นคุณ D มันเร็วกว่า ง่ายกว่า แต่รู้สึกภูมิใจน้อยกว่า

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

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

เมืองไทยเรากำลังขาดแคลนโปรแกรมเมอร์ครับ (ข่าวเขาว่างั้น) ดังนั้น บุคลากรที่กำลังขาดแคลน จึงหมายถึงคุณ C และคุณ D นั่นเองครับ

Related Posts

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *