it-swarm-vi.com

Có gì khác biệt giữa Kiến trúc sư phần mềm, Kỹ sư phần mềm và Nhà phát triển phần mềm (Lập trình viên)?

Tôi đang đọc qua bài báo của CNN về các công việc được trả lương cao nhất ở Mỹ. A kiến trúc sư phần mềm được liệt kê là # 1 . A kỹ sư phần mềm được liệt kê là # 9 . Và một nhà phát triển phần mềm (lập trình viên) được liệt kê ở # 35 . Tôi nghĩ rằng nó hợp lệ để thay thế nhà khoa học máy tính bằng lập trình viên, phải không?

Trước đó, tôi luôn thấy "Kỹ sư phần mềm" là danh hiệu dành cho các lập trình viên và trưởng nhóm có kinh nghiệm. Nhưng khi đó "Kiến trúc sư phần mềm" phù hợp với điều gì và chính xác họ làm gì? Tôi đã đọc các mô tả CNN nhưng chúng không thực sự làm tôi hài lòng vì vậy tôi cho rằng tôi có thể nhận được các mô tả kỹ lưỡng và có kinh nghiệm hơn từ cơ sở người dùng tuyệt vời ở đây.

Cảm ơn trước cho bất kỳ và tất cả các phản hồi nhận được.

24
Rob S.

Cảnh báo: Bằng chứng giai thoại sau ....

Theo kinh nghiệm của tôi, ít nhất là ở thị trường Úc - các thuật ngữ Lập trình viên, Nhà phát triển phần mềm và Kỹ sư phần mềm ít nhiều có thể thay thế cho nhau (Tôi đã giữ cả ba để thực hiện cùng một công việc thực tế).

"Giám đốc kỹ thuật phần mềm" được mô tả trong liên kết CNN của bạn không giống như "Kỹ sư phần mềm". Nó thực sự giống như một vai trò quản lý dự án kỹ thuật cấp cao. Loại người này thực sự sẽ không lập trình nhiều, nếu có. Vai trò này ít liên quan đến "Kỹ sư phần mềm" điển hình của bạn - thường chỉ là một tiêu đề được tôn vinh cho một lập trình viên trung cấp đến cao cấp.

"Kiến trúc sư phần mềm" được mô tả trong liên kết về cơ bản nghe giống như một trưởng nhóm cấp cao, kiểu người thiết kế cấu trúc tổng thể của một hệ thống phần mềm và sau đó có thể loại bỏ một số công việc nặng nề cho nhiều lập trình viên cơ sở hơn. Đây là loại người đứng đầu một dự án và có thể báo cáo cho "Giám đốc kỹ thuật phần mềm" - trong một công ty lớn nơi có rất nhiều nhóm viết các sản phẩm khác nhau, đặc biệt là cần phải tích hợp giữa chúng.

TL; phiên bản DR:

  1. Kỹ sư phần mềm thường chỉ là một danh hiệu vinh quang cho "lập trình viên", có thể cho thấy có phần cao cấp.
  2. Kiến trúc sư phần mềm có lẽ gần như phù hợp với một nhóm trưởng cấp cao, người có trách nhiệm thiết kế kiến ​​trúc tổng thể của dự án.
  3. Giám đốc kỹ thuật phần mềm là một người quản lý dự án cấp cao, loại người có thể báo cáo lên các cấp cao nhất và có thể hoàn toàn không chạm vào mã.

0,02 đô la

24
Bobby Tables

Tôi đã học nó theo cách này:

  • Kỹ sư phần mềm là người biết tất cả các khía cạnh của quy trình phát triển phần mềm (yêu cầu, đặc điểm kỹ thuật, thiết kế, kiến ​​trúc, thiết kế, triển khai, v.v.) để họ có thể đạt được các công việc quản lý hoặc làm việc ở bất cứ đâu trong quy trình, cải thiện nó, v.v.
  • Kiến trúc sư phần mềm là người chỉ làm việc trong giai đoạn Kiến trúc, sau bước thiết kế, là công việc kỹ thuật cao nhất mà người ta có thể hướng tới. Bạn vẫn cần lập trình, trái ngược với Kỹ sư phần mềm có thể trở thành quản lý. Đó cũng là một loại công việc bậc thầy.
  • Cũng không so sánh với Khoa học Máy tính, Nhà khoa học Máy tính có thể lập trình nhưng cũng có thể làm rất nhiều thứ khác, vì vậy chúng không giới hạn trong lĩnh vực lập trình.
7
Osukaa

Ở bang Great Texas, nhiều công ty có xu hướng né tránh thuật ngữ 'Kỹ sư phần mềm', bởi vì ở Texas, chúng tôi cấp phép cho các kỹ sư, và trên thực tế có một thứ như 'Kỹ sư chuyên nghiệp, Phần mềm ( http) : //www.tbpe.state.tx.us/eng_Vq.htm ).

Tôi chưa bao giờ gặp một người, tôi cũng không có ai biết. Tất nhiên, Hội kỹ sư rất muốn hạn chế cạnh tranh bằng cách yêu cầu giấy phép viết 'xin chào thế giới' nhưng điều đó chưa xảy ra.

'Nhà phát triển phần mềm' được sử dụng phổ biến hơn cho người có công việc chính là viết phần mềm.

Các công ty cũng có một chút thời gian dễ dàng hơn để xử lý các vấn đề về Visa cho 'Nhà phát triển phần mềm' thay vì 'Kỹ sư phần mềm'.

Tôi chỉ làm việc trong các công ty mới khởi nghiệp trong 15 năm qua, vì vậy tôi không quen với một loạt các chức danh công việc khác biệt, nhưng nói chung, một phần mềm 'Kiến trúc sư' là một nhà phát triển cao cấp, người rất giỏi trong việc đưa ra 'bức tranh lớn 'thiết kế một dự án phần mềm. Mỗi kiến ​​trúc sư mà tôi từng biết đều dành rất nhiều thời gian để viết mã, giống như mọi người khác, đặc biệt là sau khi thiết kế chính được thống nhất.

6
Jim In Texas