소프트웨어 아키텍트와 소프트웨어 엔지니어의 차이점은 무엇입니까?


최상의 답변

소프트웨어 아키텍트 직함이 소프트웨어 디자이너와 혼동되는 경우가 많다고 생각합니다 ( 이것은 또 다른 혼란스러운 용어입니다. 예술적 노력으로서의 디자인과는 관련이 없기 때문입니다.)

내 정의는 다음과 같습니다.

소프트웨어 설계자 -이 사람은 높은 수준의 블록을 다룹니다. 시스템 간 연결, 시스템 자체에 가장 적합한 기술 선택, 비즈니스 요구 사항을 엔지니어링 요구 사항에 매핑. 예를 들어 푸시 / 풀을 pub / sub와 비교하여 사용해야하는 경우 또는 SQL 데이터베이스 대신 NoSQL db를 사용할 수있는 경우를 이해할 수있는 충분한 경험이 있습니다. 그는 결과 기술의 비용도 이해합니다 (성능 및 실제 운영 비용 측면에서). 마지막으로 설계자는 기술뿐만 아니라 비즈니스를 이해해야합니다.

소프트웨어 디자이너 -아키텍처가 구축되면 디자이너는 실제 소프트웨어 디자인을 생성해야합니다. 적절한 클래스 또는 데이터베이스 관계를 모델링하여 각 아키텍처 블록에 대한 디자인을 만들 수 있습니다. 그는 또한 유선 프로토콜, 파일 형식 등을 정의 할 수 있습니다.

소프트웨어 프로그래머 -설계가 설정되면 소프트웨어 개발자가 설계를 구현합니다. .

중요한 순서로 보면 아키텍처 수준에서 내린 결정은 매우 중요하며 실수를했을 때 변경하기가 매우 어렵고 비용이 많이 듭니다. 복잡한 시스템에서는 아키텍처 오류로 인해 수년이 걸릴 수 있습니다. 설계 오류는 몇 번의 스프린트 비용이들 수 있습니다. 프로그래밍 오류는 식별되는 즉시 수정 될 수 있습니다.

또한 한 사람이 두 가지 이상의 역할을 수행 할 수 없다는 요구 사항도 없습니다. 공식적인 조직에서는 소프트웨어 아키텍트를 상급자 ​​(또는 임원)로, 디자이너는 어떤 종류의 팀 리더이고 프로그래머는 해당 팀의 개별 기여자입니다. 그러나 실제로 소프트웨어 아키텍트는 일반적으로 “아키텍처 작업이 완료되면 프로젝트를 떠나지 않으며, 아키텍쳐 작업이 느려지면 대개 디자인과 프로그래밍에 관여합니다.

주의 사항은 다음과 같습니다. 그러나 아키텍트는 자신의 친숙 함이 아니라 장점에 따라 기술 블록을 선택할 책임이 있으며,이 경우 코드 수준에서 거의 기여할 수없는 선택으로 끝날 수 있습니다. 그런 경우에는 가장 잘 알고 떠나야합니다. 도메인 전문가에게 구현합니다.

그건 제 의견이지만 다른 해석도 많이있을 것입니다. 또한 응용 프로그램이 간단할수록 일부 역할이 더 불필요 해집니다. 단순한 애플리케이션의 경우 설계자가 필요하지 않습니다. 애플리케이션이 충분히 단순하다면 디자이너도 없을 수 있습니다.하지만이를 구현할 사람은 항상 필요합니다.

답변

무례하다는 것을 알고 미안하지만 에드워드 가이 카프리 올로 이외의 사람들이 두 타이틀의 차이점을 설명하는 긴 답변을 썼다는 사실을 믿을 수 없습니다. “소프트웨어 설계자”는 Matrix와 같은 공상 과학 영화에만 존재합니다.

이 제목은 MBA가없는 사람이 6 자리를 벌 수있는 새로운 비 경영 급여 등급을 설정하기 위해 기업 관료들이 발명했습니다. H1B / L1 개발자는 모든 “일반”엔지니어가 “할인 자원”이되어야했기 때문에 연봉을 유지하기 위해 “건축가”로 승진 할 수 있습니다.

유념해야 할 또 다른 사항 : 이와 같은 쓸모없는 고문 직책입니다. 친척과 친구로 가득 차 있기 때문에 공식적으로 배울 수있는 기술이 없습니다.“건축가”의 가치는 모호하고 주관적입니다. 최소한 말하십시오. TOGAF는 아마도 “건축가의”책임에 대한 궁극적 인 설명 일 것입니다. 나는“건축”인터뷰에서 그것을 보여주기 위해 그 쓰레기를 잘 연구했다. 그러나 평범한 삶에서 나의 전문 분야는 수백만 개의 프로젝트를 시작하는 것입니다. 그리고 수백만 번의 실패를 되살립니다. 그것은 나를 “건축가”로 만들까? 많은 코딩이 필요합니다. 그리고 “엔터프라이즈 아키텍처” “프레임 워크”는 없습니다.

이력서 만 편집하여 이전 직책을 모두 교체하여 “경험의 년”을 표시하십시오. 그런 다음 이력서 전체에 “엔터프라이즈 아키텍처”용어를 아낌없이 뿌립니다. 제 (그렇지 않으면 개발자) 이력서의 건축가 버전을 살펴 보겠습니다. 여기. 그대로 복사 :

“IT 내에서 고급 기술 비전과 강력한 엔터프라이즈 아키텍처 기능을 개발했습니다. 공통 로드맵 콘텐츠를 정의했습니다. 원칙, 참조 아키텍처, 용어집 및 분류로 구성된 엔터프라이즈 아키텍처를위한 전략을 개발하고 구현했습니다. 산업, 기술 및 시장 동향에 대한 지속적인 분석을 유지하여 기업에 미치는 잠재적 영향을 파악했습니다.”

축하합니다! 공식적으로 “엔터프라이즈 아키텍트”로 승진했습니다.남은 유일한 일은 Great IT Consulting Food Chain을 구성하는 고용주에게 새롭게 품위있는 이력서를 보내는 것입니다. Oracle, IBM, Microsoft 등 판매하는 모든 것을 “사후 판매”하기 위해 “아키텍처 다이어그램”(컬러 블록)을 통해 가상의 “통합”으로 연결된 공급 업체 패키지. “기술적 인 mumbo-jumbo”에 대해 걱정하지 마십시오. 귀하는 똑같이 품위 있고 고도로 비 기술적 인 “C 레벨 이해 관계자”에게 전략적 비전을 제시하는 고위 설계자입니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다