สถาปนิกซอฟต์แวร์วิศวกรซอฟต์แวร์และนักพัฒนาซอฟต์แวร์ (โปรแกรมเมอร์) ต่างกันอย่างไร [ปิด]


24

ฉันกำลังอ่านบทความของ CNN เกี่ยวกับงานที่มีรายได้สูงที่สุดในอเมริกา สถาปนิกซอฟต์แวร์ถูกระบุว่าเป็นอันดับ 1 วิศวกรซอฟต์แวร์ระบุว่าเป็น # 9 และนักพัฒนาซอฟแวร์ (โปรแกรมเมอร์) เป็น บริษัท จดทะเบียนที่ # ฉันคิดว่ามันถูกต้องที่จะแทนที่นักวิทยาศาสตร์คอมพิวเตอร์ด้วยโปรแกรมเมอร์ใช่ไหม

ก่อนหน้านี้ฉันมักจะเห็น "วิศวกรซอฟต์แวร์" เป็นชื่อสำหรับโปรแกรมเมอร์ที่มีประสบการณ์และผู้นำทีม แต่แล้ว "ผู้ออกแบบซอฟต์แวร์" นั้นเหมาะสมตรงไหนและพวกเขาทำอะไรกันแน่? ฉันอ่านคำอธิบายของ CNN แต่พวกเขาไม่ได้ตอบสนองฉันอย่างแท้จริงดังนั้นฉันจึงสมมติว่าฉันจะได้คำอธิบายที่ละเอียดและมีประสบการณ์มากขึ้นจากฐานผู้ใช้ที่ยอดเยี่ยมที่นี่

ขอขอบคุณล่วงหน้าสำหรับทุกคำตอบที่ได้รับ


1
มีคำถามที่เกี่ยวข้องมากมายเกี่ยวกับตำแหน่งงานซึ่งอาจเป็นภาษาท้องถิ่นหรือซ้ำซ้อน
Josh K

1
เหล่านี้ดูเหมือนเกี่ยวข้องเป็นรายการที่ซ้ำกันที่มีศักยภาพ: programmers.stackexchange.com/questions/13439/... , programmers.stackexchange.com/questions/22124/... แม้ว่าฉันจะไม่เห็นใครที่นำมารวมกัน
อดัมเลียร์

9
สถาปนิกซอฟต์แวร์ต้องการที่จะได้รับเงินมากขึ้น :-)
Stephen C

4
อืมช่างตัดผมเหรอ?
Pawka

7
@Rob S นักวิทยาศาสตร์คอมพิวเตอร์ไม่ใช่นักพัฒนาซอฟต์แวร์ (โปรแกรมเมอร์)
systemovich

คำตอบ:


24

คำเตือน : มีหลักฐานพอสังเขปดังนี้ ....

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

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

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

TL; DR เวอร์ชัน :

  1. วิศวกรซอฟต์แวร์มักจะเป็นเพียงชื่อที่น่ายกย่องสำหรับ "โปรแกรมเมอร์" ซึ่งอาจบ่งบอกถึงความเป็นผู้อาวุโส
  2. สถาปนิกซอฟต์แวร์อาจจะเหมาะสมกับทีมระดับสูงที่มีหน้าที่รับผิดชอบในการออกแบบสถาปัตยกรรมโดยรวมของโครงการ
  3. ผู้อำนวยการฝ่ายวิศวกรรมซอฟต์แวร์เป็นผู้จัดการโครงการระดับสูงประเภทที่อาจรายงานไปถึงระดับสูงสุดและอาจไม่ได้สัมผัสรหัสเลย

$ 0.02


22
ชื่อผู้ใช้ที่ยอดเยี่ยมคืออะไร "Bobby Tables"
Josh K

2
$ 0.02 คืออะไร ???
ราวุฒิ Positwinyu

10
@Sarawut: "สองเซ็นต์ของฉัน" มันแปลว่า "นี่คือความคิดเห็นของฉัน" :)
Bobby Tables

7

ฉันเรียนรู้แบบนี้:

  • วิศวกรซอฟต์แวร์เป็นผู้ที่รู้ทุกแง่มุมเกี่ยวกับกระบวนการพัฒนาซอฟต์แวร์ (ข้อกำหนดคุณสมบัติการออกแบบสถาปัตยกรรมการออกแบบการนำไปปฏิบัติ ฯลฯ ) เพื่อให้พวกเขาสามารถบรรลุงานด้านการจัดการหรือทำงานที่ใดก็ได้ในกระบวนการปรับปรุง ฯลฯ
  • Software Architect เป็นคนเดียวที่ทำงานในระยะ Architecture ซึ่งเป็นหลังจากขั้นตอนการออกแบบเป็นงานด้านเทคนิคสูงสุดที่สามารถมุ่งหวัง คุณยังคงต้องตั้งโปรแกรมตรงข้ามกับวิศวกรซอฟต์แวร์ที่สามารถเป็นผู้บริหารได้ นอกจากนี้ยังเป็นงานประเภทฝึกหัดหลัก
  • อย่าเปรียบเทียบกับวิทยาการคอมพิวเตอร์นักวิทยาศาสตร์คอมพิวเตอร์สามารถเขียนโปรแกรม แต่สามารถทำสิ่งอื่น ๆ ได้มากมายดังนั้นพวกเขาจึงไม่ได้ จำกัด อยู่ที่สาขาการเขียนโปรแกรม

สิ่งที่เกี่ยวกับ "นักพัฒนาซอฟต์แวร์"?
อดัมเลียร์

ฉันไม่รู้วิธีกำหนดบทบาทนั้นจริงๆ ฉันคิดว่ามันเป็นโปรแกรมเมอร์ แต่ฉันไม่แน่ใจ ฉันตั้งใจจะบอกว่าคุณไม่ควรเปรียบเทียบมันกับนักวิทยาศาสตร์คอมพิวเตอร์ ขออภัยเกี่ยวกับ: s
Osukaa

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

6

ที่นี่ในรัฐเท็กซัสที่ดีของหลาย บริษัท มีแนวโน้มที่จะอายห่างจากคำว่า 'Software Engineer' เพราะในเท็กซัสที่เราให้สิทธิวิศวกรและมีในความเป็นจริงเช่นสิ่งที่เป็น 'ผนึก' อาชีพวิศวกรซอฟท์แว ( http: // www .tbpe.state.tx.us / eng_req.htm )

ฉันไม่เคยเจอใครเลยและไม่มีใครรู้ แน่นอนว่าสมาคมนักออกแบบต้องการ จำกัด การแข่งขันโดยการขอใบอนุญาตสำหรับการเขียน 'hello world' แต่นั่นยังไม่เกิดขึ้น

'นักพัฒนาซอฟต์แวร์' ใช้กันอย่างแพร่หลายสำหรับบุคคลที่มีงานหลักคือการเขียนซอฟต์แวร์

บริษัท ต่างๆมีเวลาจัดการกับปัญหาวีซ่าได้ง่ายขึ้นสำหรับ 'ผู้พัฒนาซอฟต์แวร์' มากกว่า 'วิศวกรซอฟต์แวร์'

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.