ความแตกต่างระหว่างคนเขียนโค้ด, โปรแกรมเมอร์, นักพัฒนา, และวิศวกรซอฟต์แวร์

 

ตำแหน่งงานที่ชื่อดูใกล้เคียงกันไม่ว่าจะเป็น Coder, Programmer, Developer, หรือ Software Engineer มักสร้างความสับสนแก่คนทั่วไป โดยบางกลุ่มมองว่าขึ้นกับสาขาที่เรียนจบมา หรือขึ้นกับบริษัทที่ทำงานด้วยว่าเขากำหนดตำแหน่งเป็นชื่ออะไร อย่างไรก็ตาม ความแตกต่างของแต่ละชื่อตำแหน่งเหล่านี้ในสายตาของคนที่คร่ำหวอดในวงการจริงๆ นั้นได้แก่

Coder

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

Programmer

จะเป็นตำแหน่งที่เจาะจงมากขึ้น โดยมีหน้าที่สร้างซอฟต์แวร์คอมพิวเตอร์ด้วยภาษาโปรแกรมมิ่งอย่าง Java, Python, Lisp เป็นต้น ซึ่งมักมีความรับผิดชอบมากกว่า Coder และมีการแบ่งแยกความเชี่ยวชาญเฉพาะด้านในด้านเดียวหรือมากกว่า รวมทั้งอาจเขียนคำสั่งบนระบบหลากหลายแบบได้ด้วย โดยจำเป็นต้องเข้าใจหลักอัลกอริทึมพอสมควร แม้จะดูคล้ายกับนักพัฒนาหรือ Developer แต่ก็ไม่ได้ทำหน้าที่อย่างการติดตั้งวางระบบ หรือออกแบบกำหนดโครงสร้างของซอฟต์แวร์ได้ละเอียดเท่า

Developer

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

Software Engineer

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

เราสามารถมองความแตกต่างของกลุ่มคนเหล่านี้ได้ในเชิงลำดับชั้น โดย Coder อยู่ลำดับล่างสุด ขณะที่ Software Engineer อยู่ชั้นบนสุด

 

ที่มา : https://www.enterpriseitpro.net/programmer-developer-coder/