정보 기술은 실제로 엔지니어링입니까? [닫은]


13

여행하는 동안 나는 내 근처에 앉아 있던 수학자를 만났다. 토론에서 그는 말했다 : "... IT에는 공학이나 프로그래밍보다는 엔지니어링이 없다 ". 진정한 엔지니어링은 건축, 전기 및 기계입니다.

그것은 나를 생각하게하고 당황했다. 인디언 아미에서는 엔지니어링 군단에 컴퓨터 공학과 같은 주제가 없기 때문에 제 뇌의 일부도 동의했습니다. 그들은 프로그래밍을 공학으로 간주하지 않습니다. 이것은 몇 년 전에 들었던 것입니다. 나는 현재 인도 군이 어떻게 생각하는지 모르겠습니다.

당신의 견해는 무엇입니까?


5
내 견해 : 그는 당신이 더 많은 돈을받는다고 질투한다. : P
Simon

4
제 생각에는 건축은 공학이 아닙니다
hiena

@hiena-사실, 합법적으로 말하면, 그들은 다른 직업이며, 법 (관할 지역에 따라 다름)은 건축이란 무엇이며 공학이란 무엇입니까?
Scott Whitlock

답변:


17

설명을 따르면 75 %의 엔지니어이거나 75 %의 엔지니어입니다.)

다른 공학 분야와 달리 :

  • 소프트웨어 개발자는 공식 교육 및 / 또는 라이센스가 필요하지 않습니다
  • 상대적으로 젊은 분야이며 입증 된 모범 사례가 없습니다 (예 : 시공 등).

나는 이것이 앞으로 바뀔 것이라고 생각합니다. 언젠가 우리는 100 % 엔지니어가 될 것입니다.


공학자

출처 : http://en.wikipedia.org/wiki/Engineer

엔지니어는 기술 문제에 대한 솔루션을 개발하기 위해 과학 지식, 수학 및 독창성을 적용하는 것과 관련된 엔지니어링 전문가입니다.

엔지니어라는 단어는 "영리함"을 의미하는 라틴어 루트 인제 니움에서 파생되었습니다.

직업

  • 이름 엔지니어
  • 유형 직업
  • 활동 분야 응용 과학

기술

  • 역량 수학, 과학 지식, 관리 기술
  • 필요한 교육 공학 교육
  • 고용 분야 연구 개발, 산업, 사업
  • 관련 직업 과학자, 건축가, 프로젝트 관리자

15

소프트웨어 엔지니어링은 엔지니어링이지만 IT 나 프로그래밍은 그렇지 않습니다. 그것은 기계 공학이 공학이고 물리학이나 용접이 아닌 것과 매우 흡사합니다.

소프트웨어 공학은 다른 공학 분야와 비교할 때 매우 젊은 분야이며, 실제로 가르 칠 경험이 많지 않기 때문에 사람들을 가르치기가 어렵습니다. 지난 20-25 년 동안 만 소프트웨어가 너무 크고 복잡 해져서 단순한 프로그래밍만으로는 작동하지 않습니다.

이러한 확립 된 지식의 부족으로 인해 실제 소프트웨어 엔지니어링은 거의 가르치지 않습니다. 훌륭한 소프트웨어 엔지니어가 될 수있는 유일한 방법은 현장에서 멘토링을받는 장인의 길을 따르는 것입니다. 따라서 소프트웨어 엔지니어링은 기존의 학문이지만 실제로이 분야에 속하는 사람은 거의 없습니다. 대부분의 사람들은 소프트웨어 땜질이나 소프트웨어 오버 엔지니어링을하고 있습니다.


소프트웨어 엔지니어링에 프로그래밍이 포함되어 있지 않습니까?
RPK

1
@RPK : 소프트웨어 땜장이에 더 많은 사람이 있기 때문에 말하기 어렵다 :) 기본적으로 프로그래밍은 토목 공학이 무엇인지 소프트웨어 공학이라고 생각합니다. 전자는 후자가없는 혼돈으로 끝나고 후자는 전자가 없으면 말이되지 않지만 둘은 상대적으로 구별된다.
back2dos

@ back2dos : 나는 동의하는 경향이있다. 그러나 소프트웨어 엔지니어 코딩 방법을 거의 알아야 한다고 생각하지만 토목 기술자는 용접 방법을 알아야 할 필요는 없습니다.
Michael K

1
재료 공학 또는 야금 엔지니어에게 용접이 엔지니어링되지 않고 입을 닫을 것입니다 :)
Vitor Py

@ Vitor Braga : 요점이 뭐예요? 나는 훌륭한 엔지니어가 엔지니어링과 공예의 차이점을 이해하기를 정말로 기대합니다. 그리고 나는 얼마나 많은 야금 기술자들이 실제로 그들의 일을 용접하는지 궁금합니다.
back2dos

14

엔지니어링 회사의 소프트웨어 엔지니어 엔지니어입니다. 국방 계약 업체, 장비 제조업체 등의 장소에 대해 이야기하고 있습니다. 요구 사항 및 설계 문서 작성, 코드를 작성하기 전에 설계가 요구 사항을 충족하는지에 대한 세부 분석 수행, 코드 검토 및 단위 테스트 수행, 계획에 대한 엄격한 프로세스를 따릅니다. 통합 및 자격 테스트를 수행합니다. 문서는 동료 및 이해 당사자들이 검토하고, QA 조직에서 테스트를 목격하며, 공식적인 승인을 위해 고객에게 결과를 제시합니다. 이러한 곳에서 실행되는 소프트웨어 엔지니어링은 엄격하고 과학적인 프로세스입니다.


1
100 % 동의했다. 저는 중요한 인프라 회사에서 일합니다. 우리는 여기서 엔지니어링 합니다.
Paul Nathan

8

실제 P.Eng.로서 나는 일반적으로 아니오라고 말할 것입니다. 그러나 프로그래머와 엔지니어 모두 중요한 디자인을 하고 있다고 생각합니다 . 질문이 "프로그래머 디자이너입니까?" 나는 확실히 그렇다고 말할 것입니다.

그러나 전문 엔지니어링은 실수에 대한 법적 책임 또는 실수를 저지르면 직업을 실천할 법적 권리를 침해하는 것과 관련이 있습니다. 프로그래머가 얼마나 나쁘 든 상관없이 내일 나가서 이력서에 "프로그래머"를 합법적으로 넣을 수 있습니다. P.Eng. 면허증을 잃어버린 경우 P.Eng에 전화 할 수 없습니다.

전문 공학은 자체 규제 직업으로 만들어졌으며, 직업과 정부는 면허가있는 개인 만 수행 할 수있는 특정 작업에 동의합니다. 이들은 작업이 대중의 안전에 중대한 위험을 초래한다는 상호 이해로 인해이를 수행합니다.

있습니다 엔지니어 날인해야 특정 소프트웨어 기반의 장치 들이 판매되기 전에이 (내가 여기에 산업 안전 장치에 대해 이야기하고있다). 이러한 설계를 검토하고 승인하는 사람은 엔지니어입니다.


소프트웨어 개발이 엔지니어링 분야와 같은 방식으로 규제되지 않는 이유는 위험이 다르거 나 직업으로서 프로그래밍의 상대적 청소년이 다르기 때문이라고 생각하십니까? 의료 기기, 군사 시스템 및 시뮬레이션 시스템 용 제어 시스템과 같은 응용 프로그램에서는 프로그래밍 실수로 인해 실제 손상이 발생할 수있는 것처럼 보입니다. 아니면 미사일 유도 시스템 개발자와 정부 / 산업의 넓은 관점에서 계정 시스템 개발자를 쉽게 구분할 수 없는가?
aubreyrhodes

@aubreyrhodes-이 경우 의료 기기에 대해 다른 규제 기관이 있기 때문에 엔지니어링 영역을 벗어날 수 있습니다. 예를 들어, 엔지니어링이란 것과 아키텍처는 매우 엄격한 선이 그려져 있습니다. 많은 작업에 관련된 프로그래밍이 있지만 엔지니어링이 필요하지 않다는 의미는 아닙니다. 엔지니어링은 설계하지 않습니다. 엔지니어링은 "이 디자인이 규제 지침을 충족하고 업계에 대한 최신 지식을 사용하며 대중에게 과도한 위험을 초래하지 않는다는 것을 증명하며 내 경력을 쌓을 것"이라고 말했다.
Scott Whitlock

2

나는 대부분의 프로그래머들이 실제로라고 말합니다 software mechanics. 소프트웨어 업계의 대부분의 프로그래머는 소프트웨어 유지 관리 및 버그 수정에 그치지 않습니다.


나는 당신이 정비공과 유지 보수를 혼동하고 있다고 생각합니다.
Rook

@ 루크 : 그러나 자동차 정비공은 주로 무엇을합니까?
Michael K

@Michael-나는 mech에 더 큰 관심을 보였습니다. engs. 유지 보수와 비교하여 개발을 수행하는 사람.
Rook

3
@mhitza 소프트웨어 엔지니어는 원래 소프트웨어 구성 요소를 만들지 않고 레거시 시스템 만 유지 관리한다는 의미입니다. 나는 대부분의 프로그래머가 이런 종류의 일만을한다는 것을 의심한다. 나는 대부분의 프로그래머가 정기적으로 새로운 구성 요소와 시스템을 구축한다고 말합니다.
Morgan Herlocker

@ Prof Plum : Mhitza가 맞습니다. 대부분의 성공적인 시스템은 수명이 길기 때문에 소프트웨어 작업에서 가장 중요한 부분은 유지 관리에 있습니다. 나는이 분야에서 30 년 동안 처음부터 의미있는 것을 개발 한 적이없는 사람들을 알고 있습니다. 그들은 단지 기존 코드베이스를 수정하고 수정합니다.
bit-twiddler

2

기술 적용 측면에서 몇 가지 유사점이 있지만 저는 "아니오"캠프에 굳게 서 있습니다. 엔지니어링 직업에는 자격과 경험을 바탕으로 엔지니어라고 할 수있는 사람을 관리하는 이사회가 있습니다. "소프트웨어 엔지니어링"에는 그런 것이 없습니다 (건축 노력이 있지만, 그 중 하나에 속하지 않은 영향에 대해서는 들어 본 적이 없습니다). 누구나 자신을 소프트웨어 엔지니어라고 부를 수 있으므로 제목은 고용주에게 귀하의 능력에 대해 아무 것도 알려주지 않습니다. "오디오 엔지니어"라고 말하는 사람도 마찬가지입니다. "비행기"나 "기관차"엔지니어에 대해 언급하고 싶지 않습니다.

개인적으로 저는 학계에서 일하는 컴퓨터 과학자입니다. 저는 연구를하고 있습니다. 나는 또한 몇 년 동안 산업에서 보냈고, 나는 그곳에서의 작업을 "소프트웨어 개발"이라고 언급했다. 내가 아닌 것으로 가장 할 필요는 없습니다.

배경 : 저는 남아프리카 공화국에서 소프트웨어 엔지니어라는 용어가 운 좋게도 큰 관심을 끌지 못했습니다. 세계 다른 지역의 엔지니어링 협의회가 사라 졌다면 아마도 그 차이는 관련이 없을 것입니다. 그렇다면 그것은 부끄러운 일입니다. 나는 직업이없는 사람보다 전문 소프트웨어 엔지니어링 보드가있는 세상에 살고 싶습니다.


동의하세요! 저 역시 학계에서 컴퓨터 과학자로 일하고 있지만 현재 조직에 합류하기 전에 20 년 이상 산업 소프트웨어 연구 및 개발 분야에서 일했습니다. 나는 프로그래머라고 불리는 것을 절대 싫어한다. 프로그래머는 마치 기계공이 장인 인 것처럼 장인입니다. 유일한 차이점은 기계공이 초과 근무 수당을받을만큼 똑똑하다는 것입니다.
비트 트위 들러

무면허 의사가 여전히 약을 연습하는 것처럼 무면허 엔지니어가 여전히 공학을하고 있습니다.
DougM

1

국가, 정의, 학업 시스템 등에 따라 다릅니다. 예를 들어 일부는 건축을 공학으로 간주하지 않습니다. 토목 공학과 달리 공학과 예술이 더 혼합 된 것으로 간주됩니다.

그것은 모두 당신이 그것을 보는 방법에 달려 있습니다.

그러나 왜 중요한가. 결국, 이름은 무엇입니까?


3
불행히도, 많이. 식별자라는 이름은 그다지 의미가 없지만 아빠에게 '괴짜'라고 말하면 '총'이라고 생각하고 친구에게 말하면 '컴퓨터 천재'라고 생각합니다. 이름은 듣는 사람의 마음 속에있는 이미지를 만들어 내고 그 이미지가 정확하기를 원합니다.
Michael K

@Michael-음, 정확히 내 요점이 아니 었습니다.
Rook

1

다음에 누군가가 주제에 대해 미끼를 시도 할 때 다음 작업에 대해 물어보십시오.

  • 기관차 엔지니어
  • 비행 엔지니어
  • 오디오 엔지니어

이러한 직책 중 어느 것도 전기 / 기계 / 토목 공학과 관련이 없습니다.


1
그러나 실제로 이러한 사람들은 전문 엔지니어 (PE)가 아니므로 실제로 엔지니어가 아닙니다.
Vitor Py

@Vitor 일부 프로그래머 만 실제 (공인) 엔지니어이므로 정확한 요점입니다.
Brian Knoblauch

1

저는 개인적으로 우리가 엔지니어라고 생각합니다. 저는 단지 프로그래머 일 수도 있지만, 코드를 수정하기 위해 소프트웨어를 만들고 엔지니어링하고 있습니다.

어쨌든 그것은 단지 이름 일뿐입니다. 저는 제 직장에서 엔지니어라고 불렸고 코더라고 불 렸습니다. 그러나 어느 쪽이든 그것은 기본적으로 같은 것입니다.


1

소프트웨어 엔지니어링 엔지니어링입니다.

그러나 소프트웨어 엔지니어라고 부르는 대부분의 사람들은 엔지니어가 아닙니다. 반드시 엔지니어링 프로세스를 따르지 않는 프로그래머 및 코더가 아닌 많은 사람들이 있습니다. a) 코딩은 소프트웨어 엔지니어링의 기본 요소이며 2) 그 자체로는 과학이기 때문에 잘못된 점은 없습니다. 그러나 엔지니어링 프로세스를 갖는 것은 엔지니어링으로 존재하고 작업하기위한 기본입니다. 그것은 하나의 그룹입니다.

불행히도 다른 그룹은 프로그래머 / 코더가 아닙니다. 그들은 단지 해킹 일뿐입니다. 모니터에서 똥을 날리고 코드를 판매하는 코드 원숭이입니다 .

후자 그룹의 영향은 악의적이며 유독하며 유쾌합니다 (검은 유머와 같은 방식으로). 다른 분야의 엔지니어가 소프트웨어 공학 개념에 대해 (잘못) 조롱하거나 소프트웨어 공학과 컴퓨터 과학이 코딩 이외의 것이라고 생각하는 이유 (및 코딩에 의해 스파게티 코딩)

요약 : 다른 오래된 기존의 많은 분야에서 소프트웨어 엔지니어링에 대한 부정적인 인식이 있습니다. 그것은 잘못된 가정입니다.

그러나 이러한 잘못된 가정은 소프트웨어 엔지니어라고 부르는 많은 사람들이 무작위로 우연히 Knuth의 TAOCP를 입력하게되기를 기대하면서 키보드를 두드리는 lobotomized 원숭이의 슬픈 풍자 만화에 지나지 않는다는 실제 관찰에서 비롯됩니다.

추신 .. 내 생각에 당신의 이야기에서 수학자가 방금 상처를 입었을 것입니다. 그는 그의 가슴에 그 쓰레기가 깊숙이 있었기 때문에 하나님은 얼마나 오래 알았으며, 당신은 단순히 열린 곳으로 나가는 최초의 콘센트였습니다.


-1

소프트웨어 개발은 ​​비교적 젊고 매우 빠르게 발전하기 때문에 소프트웨어 기술자 , 엔지니어과학자 사이의 경계는 잘 결정되지 않고 / 흐리게 흐릿하지 않습니다.


1
소프트웨어 개발은 ​​IT가 아닙니다. IT는 기존 지적 재산 (IP)을 구성하고 유지 관리하는 데 중점을 둔 학문입니다. 소프트웨어 개발은 ​​필요에 따라 새로운 IP를 만드는 데 중점을 둔 학문입니다. 컴퓨터와 통신 시스템의 통합으로 여러 유형의 기술 교육을받은 운영 인력을 그룹화 할 필요가 생길 때까지 IT 약어가 사전에 등장하지 않았습니다. 인프라에서 일한다면 IT에서 일합니다. 프로젝트 중심의 작업을 수행하는 소프트웨어 개발에서 일하는 사람은 IT가 아닙니다.
비트 트위 들러

내 실수를 고쳤다.
집시 왕
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.