Công nghệ thông tin có thực sự là Kỹ thuật? [đóng cửa]


13

Trong khi đi du lịch, tôi đã gặp một nhà toán học đang ngồi gần tôi. Trong một cuộc thảo luận, ông nói: "... không có gì giống như kỹ thuật trong CNTT hay đúng hơn là lập trình ". Một kỹ thuật thực sự là Kiến trúc là gì, Điện và Cơ khí là gì.

Nó làm tôi suy nghĩ và tôi hoang mang. Một phần trăm bộ não của tôi cũng đồng ý vì trong Quân đội Ấn Độ, không có môn học nào như Kỹ thuật Máy tính trong Quân đoàn Kỹ thuật. Họ không coi lập trình là kỹ thuật. Đây là những gì tôi nghe được vài năm trước, tôi không biết Quân đội Ấn Độ nghĩ gì bây giờ.

Quan điểm của bạn là gì?


5
Quan điểm của tôi: Anh ấy chỉ ghen tị vì bạn được trả nhiều tiền hơn: P
Simon

4
Theo tôi Kiến trúc không phải là kỹ thuật
hiena

@hiena - thực sự, về mặt pháp lý, chúng là những ngành nghề khác nhau và luật pháp (tùy thuộc vào thẩm quyền của bạn) quy định kiến ​​trúc là gì và Kỹ thuật là gì.
Scott Whitlock

Câu trả lời:


17

Nếu chúng tôi làm theo mô tả này , chúng tôi là 75% kỹ sư, hoặc 75% chúng tôi là kỹ sư :)

Không giống như các ngành kỹ thuật khác:

  • nhà phát triển phần mềm không cần giáo dục chính thức và / hoặc giấy phép
  • là một ngành học tương đối trẻ và không được chứng minh các thực tiễn tốt nhất (ví dụ như xây dựng)

Tôi nghĩ rằng điều này sẽ thay đổi trong tương lai. Một ngày nào đó chúng tôi sẽ là kỹ sư 100%.


Kỹ sư

nguồn: http://en.wikipedia.org/wiki/Engineer

Một kỹ sư là một chuyên gia kỹ thuật chuyên nghiệp, quan tâm đến việc áp dụng kiến ​​thức khoa học, toán học và sự khéo léo để phát triển các giải pháp cho các vấn đề kỹ thuật.

Kỹ sư từ có nguồn gốc từ tiếng Latin gốc ingenium, có nghĩa là "sự thông minh".

Nghề nghiệp

  • Tên kỹ sư
  • Loại nghề nghiệp
  • Hoạt động ngành khoa học ứng dụng

Sự miêu tả

  • Năng lực Toán, kiến ​​thức khoa học, kỹ năng quản lý
  • Giáo dục yêu cầu Giáo dục kỹ thuật
  • Lĩnh vực việc làm Nghiên cứu và phát triển, công nghiệp, kinh doanh
  • Công việc liên quan Nhà khoa học, kiến ​​trúc sư, quản lý dự án

15

Kỹ thuật phần mềm là kỹ thuật, nhưng CNTT hoặc lập trình thì không. Điều đó giống như kỹ thuật cơ khí là kỹ thuật và vật lý hoặc hàn không.

Kỹ thuật phần mềm là một lĩnh vực cực kỳ trẻ (so với các ngành kỹ thuật khác), điều này thực sự khó dạy cho mọi người, vì không có nhiều kinh nghiệm để dạy. Chỉ trong 20-25 năm qua, phần mềm đã trở nên quá lớn và phức tạp đến nỗi việc lập trình đơn thuần sẽ không thực hiện được công việc.

Do sự thiếu hụt kiến ​​thức đã được thiết lập này, kỹ thuật phần mềm thực tế hiếm khi được dạy. Cách duy nhất bạn có thể trở thành một kỹ sư phần mềm tử tế là theo cách của một người thợ: được cố vấn trong lĩnh vực này. Vì vậy, trong khi công nghệ phần mềm là một ngành học tồn tại, thì rất ít thực sự trong lĩnh vực này. Hầu hết mọi người đang làm phần mềm mày mò hoặc phần mềm quá kỹ thuật.


Ý bạn là công nghệ phần mềm không bao gồm lập trình?
RPK

1
@RPK: thật khó để nói, vì tôi là người thích tìm hiểu phần mềm hơn :) Nhưng về cơ bản tôi nghĩ lập trình là để xây dựng phần mềm, xây dựng là gì đối với kỹ thuật dân dụng. Cái trước kết thúc trong hỗn loạn mà không có cái sau và cái sau không có ý nghĩa nếu không có cái trước, nhưng hai cái tương đối khác biệt.
back2dos

@ back2dos: Tôi có xu hướng đồng ý. Tuy nhiên, tôi nghĩ rằng các kỹ sư phần mềm hầu như phải biết cách viết mã, trong khi các kỹ sư dân sự không nhất thiết phải biết cách hàn.
Michael K

1
Nói với một kỹ sư vật liệu hoặc luyện kim rằng hàn không phải là kỹ thuật và anh ta sẽ hàn miệng lại :)
Vitor Py

@Vitor Braga: Quan điểm của bạn là gì? Tôi thực sự mong đợi từ một kỹ sư giỏi để hiểu sự khác biệt giữa kỹ thuật và thủ công. Và tôi cũng tự hỏi có bao nhiêu kỹ sư luyện kim thực sự hàn trong công việc của họ.
back2dos

14

Kỹ sư phần mềm trong một công ty kỹ thuật kỹ sư. Tôi đang nói về những nơi như nhà thầu quốc phòng, nhà sản xuất thiết bị, v.v. và thực hiện các bài kiểm tra tích hợp và trình độ. Tài liệu được xem xét bởi hội đồng của các đồng nghiệp và các bên liên quan, các thử nghiệm được chứng kiến ​​bởi tổ chức QA và kết quả được trình bày cho khách hàng để chấp nhận chính thức. Kỹ thuật phần mềm như được thực hành ở những nơi này là một quy trình khoa học nghiêm ngặt.


1
Đồng ý 100%. Tôi làm việc tại một công ty cơ sở hạ tầng quan trọng. Chúng tôi kỹ sư ở đây.
Paul Nathan

8

Là một P.Eng thực tế, tôi sẽ nói, nói chung, không. Tuy nhiên, tôi nghĩ rằng các lập trình viên và Kỹ sư đều có thiết kế quan trọng . Nếu câu hỏi là "Các nhà lập trình có phải là nhà thiết kế không?" Tôi chắc chắn sẽ nói có.

Kỹ thuật chuyên nghiệp, tuy nhiên, phải chịu trách nhiệm pháp lý cho những sai lầm của bạn, hoặc ít nhất là mạo hiểm quyền pháp lý để thực hành nghề nghiệp của bạn nếu bạn phạm sai lầm. Không quan trọng bạn là một lập trình viên tồi tệ như thế nào, bạn có thể ra ngoài vào ngày mai và đưa "lập trình viên" vào hồ sơ của bạn một cách hợp pháp. Với một P.Eng. nếu bạn mất giấy phép, bạn không thể gọi cho mình một P.Eng.

Kỹ thuật chuyên nghiệp được tạo ra để trở thành một nghề tự điều chỉnh, trong đó nghề nghiệp và chính phủ đồng ý về một số nhiệm vụ chỉ có thể được thực hiện bởi các cá nhân được cấp phép. Họ làm điều này vì một sự hiểu biết lẫn nhau rằng công việc gây ra rủi ro đáng kể cho sự an toàn của công chúng.

một số thiết bị điều khiển bằng phần mềm nhất định phải được đóng dấu bởi Kỹ sư trước khi chúng được bán (Tôi đang nói về các thiết bị an toàn công nghiệp ở đây). Người đánh giá và phê duyệt các thiết kế này là một Kỹ sư.


Bạn có nghĩ rằng lý do phát triển phần mềm không được quy định giống như các lĩnh vực kỹ thuật là vì rủi ro là khác nhau hoặc tuổi trẻ tương đối của lập trình như một nghề? Trong các ứng dụng như hệ thống điều khiển cho các thiết bị y tế, hệ thống quân sự và hệ thống mô phỏng, có vẻ như có thể có thiệt hại trong thế giới thực do lỗi lập trình. Hay là không có sự phân biệt dễ dàng giữa nhà phát triển hệ thống hướng dẫn tên lửa và nhà phát triển hệ thống tài khoản theo quan điểm rộng của chính phủ / ngành?
aubreyrhodes

@aubreyrhodes - Tôi tưởng tượng trong trường hợp đó có một cơ quan quản lý khác nhau cho các thiết bị y tế, vì vậy chúng có thể nằm ngoài lĩnh vực Kỹ thuật. Chẳng hạn, có một ranh giới rất nghiêm ngặt được rút ra giữa Kỹ thuật và Kiến trúc là gì. Mặc dù có lập trình liên quan đến rất nhiều nhiệm vụ, điều đó không có nghĩa là bạn cũng không cần Kỹ thuật. Kỹ thuật không thiết kế; Kỹ thuật đang nói "Tôi chứng nhận thiết kế này đáp ứng các hướng dẫn quy định, sử dụng kiến ​​thức cập nhật nhất về ngành, không gây rủi ro quá mức cho công chúng và tôi sẽ đặt sự nghiệp của mình vào đó."
Scott Whitlock

2

Tôi muốn nói rằng hầu hết các lập trình viên thực sự software mechanics. Ý tôi là, hầu hết các lập trình viên trong ngành công nghiệp phần mềm không làm gì nhiều hơn việc bảo trì và sửa lỗi phần mềm.


Tôi nghĩ rằng bạn đang nhầm lẫn cơ học với bảo trì.
Rook

@Rook: Nhưng một thợ cơ khí tự động chủ yếu làm gì?
Michael K

@Michael - Tôi đã tham gia nhiều hơn vào mech. anh ai làm phát triển, so với bảo trì.
Rook

3
@mhitza Hàm ý của bạn là cơ học phần mềm không xây dựng các thành phần phần mềm gốc mà chỉ duy trì các hệ thống cũ. Tôi nghi ngờ rằng các lập trình viên MOST chỉ làm công việc này. Tôi muốn nói rằng các lập trình viên MOST DO xây dựng các thành phần và hệ thống mới một cách thường xuyên.
Morgan Herlocker

@Prof Plum: Mhitza là chính xác. Phần lớn công việc phần mềm nằm trong bảo trì vì hầu hết các hệ thống thành công đều có tuổi thọ khá dài. Tôi biết những người đã ở trong lĩnh vực này trong ba mươi năm chưa bao giờ phát triển bất cứ điều gì có ý nghĩa từ đầu. Họ chỉ đơn thuần sửa chữa và sửa đổi các cơ sở mã hiện có.
bit-twiddler

2

Có một số điểm tương đồng về việc áp dụng các kỹ năng, nhưng tôi chắc chắn trong trại "không". Sự khác biệt không khó để thực hiện - Các ngành nghề kỹ thuật có các ban quản trị, những người có thể tự gọi mình là Kỹ sư dựa trên trình độ và kinh nghiệm. "Công nghệ phần mềm" không có điều đó (những nỗ lực non trẻ tồn tại, nhưng tôi chưa nghe thấy bất kỳ hậu quả nào vì không thuộc về một người). Bất cứ ai cũng có thể tự gọi mình là Kỹ sư phần mềm và do đó, tiêu đề không cho nhà tuyển dụng biết gì về khả năng của bạn. Điều tương tự cũng xảy ra với một người tự mô tả là "Kỹ sư âm thanh" - không muốn nhận xét về Kỹ sư "Chuyến bay" hoặc "Đầu máy" vì tôi không chắc chắn về các bảng cho những người đó.

Cá nhân tôi là một Nhà khoa học máy tính làm việc trong môi trường học thuật - Tôi làm nghiên cứu, tôi không chỉ xây dựng. Tôi cũng đã dành một vài năm trong ngành và tôi gọi công việc của mình là "Phát triển phần mềm". Tôi không cần phải giả vờ là một cái gì đó tôi không.

Bối cảnh: Tôi đang ở Nam Phi, nơi thuật ngữ Kỹ sư phần mềm may mắn không bị cuốn theo một cách lớn. Nếu các hội đồng kỹ thuật ở các nơi khác trên thế giới đã biến mất, có lẽ sự khác biệt không liên quan ở đó. Nếu vậy, đó là một sự xấu hổ - Tôi thà sống trong một thế giới với một ban kỹ thuật phần mềm chuyên nghiệp hơn là không có cơ quan cho bất kỳ ngành nghề nào.


Đồng tình! Tôi cũng làm việc như một nhà khoa học máy tính trong môi trường học thuật, nhưng tôi đã dành hơn hai mươi năm làm việc trong nghiên cứu và phát triển phần mềm công nghiệp trước khi gia nhập tổ chức hiện tại của mình. Tôi hoàn toàn ghét bị gọi là lập trình viên. Một lập trình viên là một thợ thủ công giống như một thợ máy là một thợ thủ công. Sự khác biệt duy nhất là các thợ máy đủ thông minh để được trả tiền làm thêm giờ.
bit-twiddler

Một kỹ sư không có giấy phép vẫn đang làm kỹ sư, giống như một bác sĩ không có giấy phép vẫn đang hành nghề y.
DougM

1

Nó phụ thuộc vào quốc gia, vào định nghĩa của họ, vào hệ thống học thuật của họ và vân vân. Một số ví dụ không coi kiến ​​trúc là kỹ thuật - không giống như kỹ thuật dân dụng, nó được xem như là sự pha trộn giữa kỹ thuật và nghệ thuật.

Tất cả đều tùy vào cách bạn nhìn nhận nó như thế nào.

Nhưng tại sao nó lại quan trọng. Rốt cuộc, cái gì trong một cái tên?


3
Thật không may, rất nhiều. Một cái tên như một định danh không có ý nghĩa gì nhiều, nhưng nếu tôi nói 'geek' với bố tôi, anh ấy nghĩ 'thô', trong khi nếu tôi nói nếu với bạn bè, họ nghĩ là 'thiên tài máy tính'. Một cái tên gợi lên hình ảnh trong tâm trí người nghe và bạn muốn hình ảnh đó chính xác.
Michael K

@Michael - Uhmm, đó không chính xác là quan điểm của tôi.
Rook

1

Lần tới khi ai đó cố gắng mồi chài bạn về chủ đề này, hãy hỏi họ về các công việc sau:

  • Kỹ sư đầu máy
  • Kỹ sư máy bay
  • Kỹ sư âm thanh

Không ai trong số những vị trí đó có liên quan nhiều đến kỹ thuật điện / cơ khí / dân dụng.


1
Nhưng thực ra những người đó không phải là Kỹ sư chuyên nghiệp (PE) và do đó không thực sự là Kỹ sư.
Vitor Py

@Vitor Chính xác là như vậy, vì chỉ một số lập trình viên là Kỹ sư thực sự (được chứng nhận).
Brian Knoblauch

1

Cá nhân tôi nghĩ rằng chúng tôi là kỹ sư, ý tôi là ... Tôi có thể chỉ là một lập trình viên nhưng tôi vẫn tạo và thiết kế phần mềm khi tôi sửa đổi mã cho phù hợp, v.v.

Dù sao với tôi, đó chỉ là một cái tên, tôi đã được gọi là một kỹ sư trong công việc của mình và tôi đã được gọi chỉ là một lập trình viên, nhưng về cơ bản thì nó cũng giống như vậy.


1

Kỹ thuật phần mềm kỹ thuật.

Tuy nhiên, hầu hết những người tự gọi mình là kỹ sư phần mềm không phải là kỹ sư. Nhiều người trong số họ không phải là lập trình viên và lập trình viên không nhất thiết phải tuân theo quy trình kỹ thuật. Không có gì sai với điều đó vì a) mã hóa là nền tảng cho công nghệ phần mềm và 2) là một khoa học theo đúng nghĩa của nó. Nhưng có một quy trình kỹ thuật là cơ bản để được và làm việc như một kỹ thuật. Đó là một nhóm.

Nhóm khác, không may là một nhóm khá lớn, không phải là lập trình viên / lập trình viên. Chúng chỉ là những kẻ đột nhập, những con khỉ mã chạy trốn vào màn hình của chúng và bán bất cứ cây gậy nào (được trích dẫn từ đâu đó, không thể nhớ được ở đâu.) Một tập thể tâm trí ngu ngốc.

Ảnh hưởng của nhóm sau này là bất chính, độc hại và vui nhộn (theo kiểu hài hước đen), đó là lý do tại sao các kỹ sư trong các ngành khác (nói sai) về khái niệm công nghệ phần mềm, hoặc nghĩ rằng công nghệ phần mềm và khoa học máy tính là bất cứ điều gì ngoài mã hóa (và bằng mã hóa, mã hóa spaghetti.)

Tóm lại: Có một nhận thức tiêu cực về công nghệ phần mềm trong số nhiều ngành khác, các ngành được thành lập cũ hơn. Đó là một giả định sai.

Nhưng giả định sai lầm đó xuất phát từ quan sát thực tế rằng nhiều người tự gọi mình là kỹ sư phần mềm chẳng khác gì những bức tranh biếm họa đáng buồn về những con khỉ bị thùy đập vào bàn phím với hy vọng rằng, trong một cơ hội ngẫu nhiên, cuối cùng họ đã gõ TAOCP của Knuth.

ps ... Tôi đoán là nhà toán học trong câu chuyện của bạn chỉ đau mông. Anh ta đã nhét cái thứ đó vào sâu trong ngực vì Chúa biết bao lâu, và bạn chỉ đơn giản là lối thoát đầu tiên để cho nó ra ngoài trời.


-1

Vì phát triển phần mềm còn khá trẻ và phát triển rất nhanh, nên biên giới giữa kỹ thuật viên , kỹ sưnhà khoa học không được xác định rõ / rất mờ.


1
Phát triển phần mềm không phải là CNTT. CNTT là một môn học tập trung vào việc cấu hình và duy trì sở hữu trí tuệ (IP) hiện có. Phát triển phần mềm là một môn học tập trung vào việc tạo IP mới để đáp ứng nhu cầu. Từ viết tắt IT đã không nhập từ vựng của chúng tôi cho đến khi sự hội tụ của máy tính và hệ thống truyền thông tạo ra nhu cầu về một chiếc ô để nhóm nhiều loại nhân viên vận hành được đào tạo kỹ thuật. Nếu một người làm việc trong cơ sở hạ tầng, một người làm việc trong CNTT. Nếu một người làm việc trong phát triển phần mềm thực hiện công việc định hướng dự án, thì một người không làm trong CNTT.
bit-twiddler

Đã sửa, lỗi của tôi.
Vua Gipsy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.