프로그래머는 새로운 라이브러리, 코딩 언어, 테스트 범위, 개발 임무 완료 등에 관심이 있는 극객종에 속한다. 이들은 일반적으로 하나 이상의 구성 요소/서비스에서 작동하지만 이러한 구성 요소가 전반적인 상황에 맞게 어떻게 상호 작용하는지 결정하지 않습니다. (많은 개발자들이 이것을 알고 있지만 그럴 필요는 없습니다.)
소프트웨어 설계자는 또 다른 극객종에 속하며, 모든 구성 요소의 설계와 구성 요소에 지나치게 집중하지 않고 비즈니스 사용 사례나 회사의 미래 비전을 지원하기 위해 대세에 어떻게 적응할 수 있는지에 초점을 맞추고 있습니다. 다양한 유형의 건축가가 있습니다:
1. 엔터프라이즈 설계자: 각 구성 요소가 상호 작용하는 방법 및 기타 백그라운드 IT 시스템 (CRM, 주문 관리, BI 또는 웹 사이트 포함) 을 이해하는 소프트웨어 설계자.
2. 솔루션 설계자: 소프트웨어 설계자, 기술 및 설계 지식 외에 30 ~ 50% 의 시간 동안 업무 분야에서 일하며 풍부한 기능 지식을 갖추고 있습니다.
3. 기술 설계자: 코딩 기준 지정, 코드 검토, 확장성, 배포, 성능 등을 담당하는 팀 또는 여러 팀과 협력하는 소프트웨어 설계자입니다.
4. 성능 설계자: 소프트웨어 설계자, 각 팀과 협력하여 구성 요소의 성능 및 선형 확장성을 테스트하고 더 나은 성능을 위해 코딩 모범 사례를 결정합니다.