소프트웨어 엔지니어와 프로그래머의 주요 차이점은 무엇입니까? [닫은] 주요 차이점은 무엇입니까?

소프트웨어 엔지니어와 프로그래머의 주요 차이점은 무엇입니까?



답변

채용시 시스템 설계, 프로세스 정의, 기술 사양 작성, 고급 리팩토링 구현 등을 도와 줄 사람과 점검 목록에서 프로그래밍 작업을 완료하도록 도와 줄 사람을 구분합니다. . 전 당신을 소프트웨어 엔지니어 로, 후자를 프로그래머 라고 부를 수 있다고 생각합니다 .


답변

교파 나 다른 교파를 시행 할 법적 틀이 없다고 생각하거나 적어도 내가 아는 바가 아니라고 생각하기 때문에 회사에 달려 있습니다 (예 : 용어 사용) “엔지니어”는 실제로 프랑스에서 상당히 규제되지만 “거의”사례에 허용되는 변형이 있습니다.

일반적인 추세는 다음과 같습니다.

  • 프로그래머의 위치는 보통의 하나 인 컴퓨터 프로그램의 코드를 생성하기 위해 고용 전문 . 그것은 당신이 있다는 것을 의미합니다 코드를 작성하는 방법을 알 수 있으며, 알고리즘을 이해 하고 사양에 따라 . 그러나 일반적으로 책임 측면에서 중지됩니다.

  • 개발자의 위치는 일반적으로 간주됩니다 프로그래머 위치의 슈퍼 타입 . 여기에는 동일한 책임 뿐만 아니라 소프트웨어 구성 요소를 설계 및 설계 하는 기능 과 이에 대한 기술 문서 (사양 포함) 를 작성하는 기능이 포함됩니다. 적어도 기술적으로는 다른 사람들 (그래서 프로그래머)을 이끌 수는 있지만 반드시 팀이 될 필요는 없습니다 (퍼지가옵니다 …)

  • 엔지니어의 위치는 일반적으로 당신이 개발자 것을 의미 할 정도의 특정 유형이있다 , 일부 공학의 지식을 ,이고 시스템을 설계 할 수있는 (: 소프트웨어 구성 요소의 조합 / 함께 전체 소프트웨어 엔티티를 형성 모듈에서와 같이) . 기본적으로, 당신은 더 넓은 그림을보고 , 당신은 설계하고 설명 할 수있는 그것을하고 작은 모듈로 분리 .

그러나이 모든 것은 논쟁의 여지 가 있으며, 내가 말했듯 이 미국 / 영국 국가에서 내가 알고있는 법적 요구 사항은 없습니다 . 그러나 프랑스에서는 엔지니어링 스쿨 (Tirets d’ Ingenieurs위원회 또는 이와 유사한 것으로 인정 된)에서 온 경우에만 “엔지니어”라고 부를 수 있습니다. 당신은 “엔지니어 학위”를 가지고 있다고 말할 수는 없지만, 공학과 기술의 영역에 속하는 학문을 공부했다면 “공학 학위”를 가지고 있다고 말할 수 있습니다.

일부 국가의 경우 비슷한 차이가있을 수 있습니다.

소프트웨어 엔지니어 타이틀로 돌아가서 … 일단, 선생님 중 한 분이 우리 반에게 말씀 하셨는데 , 현재로서는 소위 “소프트웨어 엔지니어링”과 같은 것은 없습니다 . 엔지니어링 (건물, 차량, 하드웨어 등)은 설계와 생산의 모든 단계를 계획하고 필요한 리소스를 정확하게 예측할 수 있다는 의미이므로 생산 비용.

이것은 대부분의 “진정한”엔지니어링 분야에 해당됩니다. 물론 변동 사항이 있습니다 (예를 들어 재료의 가격은 시간이 지남에 따라 다를 수 있음). 그러나 매우 유한 한 이론적 모델 (디자인 및 계획)과 경험적 모델 (전자를 접근 가능한 제약 조건 내에서 거의 유지하기 위해) 프로젝트 종료 날짜 및 리소스 사용량을 예측할 수 있습니다.

소프트웨어의 주요 문제점은 아직 소프트웨어가 없다는 것입니다. 우리는 소프트웨어 엔지니어링을 목표로 삼고 싶지만 아직 실제로는 없습니다. 우리는 매우 유동적이고 역동적 인 환경, 프로젝트에 대한 매우 가변적 인 제약, 그리고 프로세스의 성숙도 부족으로 인해서. 물론 우리가 더 잘할 수 있다고 말할 수는 있지만 (하드 데이터에 대해 논쟁의 여지가 있지만) 60 년대 이후의 프로젝트에 불과했습니다 (이전 프로젝트는 실제로 하드웨어 전용 컴퓨터에 더 가깝기 때문에 실제 엔지니어링에 더 가깝습니다. ). 우리는 100 년이 넘는 기간 동안 자동차, 일반적으로 몇 천년 동안의 자동차, 그리고 더 많은 밀레니엄을위한 건물을 건설 해 왔지만 (세계 일부 지역에서 실제로는 아주 훌륭했습니다.) ‘

우리는 마감일을 정확하게 체계적으로 예측 하지 못하고 , 체계적으로 비용을 정확하게 예측 하지 못하며 , 내재적 및 외부 위험을 효율적이고 결정적으로 체계적으로 식별하고 완화하지 못합니다 . 우리가 관리 할 수있는 최선의 방법은 충분한 추측을 생성 하고 일부 버퍼를 수용하는 한편 사이클과 오버 헤드를 줄이기 위해 프로세스를 최적화하기 위해 최선을 다하는 것입니다.

그러나 아마도 엔지니어링이 그런 것 같습니다. 그리고 누군가가 “소프트웨어 엔지니어”에 대해 이야기 할 때 생각하고 목표로 삼아야합니다.

따라서 간단한 프로그래밍 루틴이나 응용 프로그램 개발의 고급 동작과 거의 호환되지 않는 것 같습니다.

여전히 모든 것은 추세의 문제입니다. 최근에 팀의 모든 사람들이 시니어 소프트웨어 개발자 (예, 자본은 우리가 특별하다고 느끼지 않기 때문에 자본은 특별하지 않습니까?) 인 수평 개발 팀을 갖는 것이 일반적입니다. 의견)과 기술 (uh-oh …)과 책임 (지금은 PR 버즈와는 별개로 좋을 수 없습니다)을 그렇게 많이 구분하지 않습니다.

또한 때로는 습관의 힘이며 산업 문화와 전문 용어에 따라 다릅니다.. 임베디드 소프트웨어 생산을위한 더 많은 직책은 소프트웨어 엔지니어를위한 타이틀을 사용합니다. 대부분이 분야에서 하드웨어를 항상 어느 정도 다루어야 함을 의미하기 때문에 생산의 다른 측면과 생산하는 “시스템”의 다른 측면을 분명히 다루어야합니다. 비트가 안에 들어가는 것만이 아닙니다. 반면에, 금융 소프트웨어 생산 위치에서 엔지니어라는 용어가 실제로 사용되는 것은 아닙니다. 그것은 전임자 중 한 명이이 산업을 모방 한 진화 (예를 들어, 임베디드 엔지니어링이 자동차 엔지니어링의 근간을 찾음) 때문이거나 어느 정도의 신용 / 무게를 주려고하기 때문입니다.

그리고 안개 속에서 모든 사람을 풀어 주려면 “Software Development Engineer”또는 “Software Engineer in Test”와 같이 다른 타이틀을 혼합 한 다음 다른 도메인과의 더 미친 다리를 강조하는 다른 타이틀을 찾을 수 있습니다. “소프트웨어 아키텍트”와 “소프트웨어 아키텍쳐”가 어리석은 어휘 도둑질 방법에 대해 생각해보십시오. 그리고 출시 엔지니어, 변경 개발 관리자, 빌드 엔지니어 (필요한 사람도 있음)를 계속 유지하십시오. 때로는 단순히 “엔지니어”입니다.

그것이 실제로 대답은 아니지만 도움이되기를 바랍니다.

아, 그리고 그것은 당신의 새로운 회사가 새로운 타이틀로 당신을 유혹하려고하거나 그들이 실제로 타이틀에 관심이 없거나, 당신이 정말로 더 높은 직책을 가질 것이라는 것을 의미합니다. 알 수있는 유일한 방법은 작업 사양을 읽고 그들에게 말을 걸어 결국 기회를주고 스스로 판단하는 것입니다. 나는 이것이 후자의 선택이고 당신이 그것에 만족하기를 희망합니다 (그리고 잠재적으로 더 많은 돈을 벌 수 있음). 😉


답변

소프트웨어 엔지니어 는 회사에서 일하는 사람들을 위해 소프트웨어를 작성하는 사람들을 “소프트웨어 엔지니어”라고 부릅니다.

프로그래머 는 소프트웨어를 작성하는 사람들을 “프로그래머”라고 부르는 회사에서 일하는 사람들입니다.

도 있습니다 개발자 , 또는 소프트웨어 개발자 . 이들은 각각 “개발자”또는 “소프트웨어 개발자”를 위해 소프트웨어를 작성하는 사람들을 부르는 회사에서 일하는 사람들입니다.


답변

따라서 “소프트웨어 엔지니어”, “프로그래머”및 “개발자”, “코더”가 있으며 “SOA 전문가”를 잊을 수 없습니다.

이 용어는 이전 직책에서의 직무뿐만 아니라 실제 역할과 같이 자신의 이력서에서 의미있는 말을 할 수없는 사람들을위한 마케팅 용어입니다.

구인 광고에서 그 차이는 HR 담당자와 다릅니다.

결론 : 모든 사람은 “코드를 사용하여 훌륭한 직원을 만드는 방법”에 대해 스스로 취해야하며 그러한 기술을 그러한 직책과 연관시키는 것을 좋아합니다.

무엇을해야합니까? 구인 광고는 필요한 기술에 대해 설명해야하며 CV는 응시자의 경험 세부 정보를 설명해야합니다.


답변

차이점이 없습니다. 그들은 같은 것입니다. 그러나 회사는 해당 용어를 사용하여 공식적인 직무 설명을 가질 수 있으며 해당 용어에 대해 회사 고유의 의미가있을 수 있습니다.


답변

프로그래밍은 코드에 관한 것입니다. 소프트웨어 엔지니어링은 최종 제품에 관한 것입니다.


답변

그것은 회사가 어떻게 직책을 정의하는지에 달려 있습니다. 소프트웨어 엔지니어에게는 더 많은 디자인 결정 기회가있을 수 있지만 개발자는 UML 다이어그램을 제공하고 프로그램을 작성할 수 있습니다.

그러나 제목을 기반으로 사람들이 자신이하는 일이나 경험이있는 사람을 알 수 있도록 실제 세트 정의가 없습니다.

내가 건축가 / 개발자 였을 때, 제목은 컴퓨터 과학자 였지만, 처음 두 사람이 쉽게 정의되지 않았기 때문에 대부분의 사람들은 프로그래머가하는 일을 알고 있기 때문에 사람들에게 내가 프로그래머라고 말할뿐입니다.

제목이 중요한 경우 엔지니어보다 개발자의 소리가 높으므로 새 제목을 수락하십시오.