개발자에서 아키텍트로 - 38가지 팀 활동을 활용한 실전 소프트웨어 아키텍트 훈련법
마이클 킬링 지음, 김영재 옮김 / 한빛미디어 / 2021년 6월
평점 :
장바구니담기


소프트웨어 아키텍트?

보통 개발자를 소프트웨어 엔지니어라고 부르는 것으로 알고 있습니다.

개발자로 처음 일을 하게 되면 소프트웨어 설계보다는 기능 구현에 초점을 맞추어진 업무들을 받게 됩니다.

그렇게 기능 구현을 해 나가다 보면 만들고 있는 프로젝트의 구조를 하나하나 보게 되고 결국엔 전체적인 구조를 알게 될 것입니다.

전체적인 구조를 알게 되면 감탄을 할 수 도 있고 개선할 부분이 보일 수 도 있습니다.

이는 숲 그림에서 나무 하나를 확대해 본 상태에서 점점 축소하여 많은 나무들이 곧 숲으로 보이게 되는 것과 비슷하다고 생각합니다.

그렇게 소프트웨어 엔지니어에서 점진적으로 아키텍트가 되어 가는 것이지요.

그렇지만 개발 실력도 정량적일 수 없듯이 설계 실력도 정량적일 수 없다고 생각합니다.

그 이유는 소프트웨어에 정답은 없고 해결해야 될 문제와 그것을 처리하기 위해 주어진 시간, 자본이라는 제한이 있고 그 속에서 최선과 차선, 그리고 효율을 따져 상황에 맞게 설계할 수밖에 없기 때문입니다.

위에서 말씀드린 부분은 개발과 설계에 대한 부분뿐입니다. 이것이 제가 알고 있던 아키텍트였고 제가 가고자 하는 길이었습니다.


그런데 이 책을 보고 안 그래도 험난해 보였던 산이 눈앞을 막고 눈을 멀게 하는 듯한 벽처럼 느껴지게 되었습니다.

그 이유는 소프트웨어 아키텍트가 하는 일의 범위가 엄청났기 때문입니다.

저자가 말하는 소프트웨어 아키텍트가 하는 일을 나열해 보겠습니다.

  1. 엔지니어링 관점에서 문제 정의하기
  2. 시스템은 분리하고 책임은 위임하기
  3. 큰 그림 그리기
  4. 품질/속성의 트레이드오프 고려하기
  5. 기술 부채 관리하기
  6. 팀의 아키텍처 설계 역량 키우기

사실 이 목록을 보고 떠오른 것은 CTO였습니다.

정답이 없는 일들도 있고 자신만이 아닌 팀 전체를 고려해야 하는 일도 있습니다.

정말 쉽지 않은 일들만 있지만 이 책 "개발자에서 아키텍트로"를 보신다면 걱정하시지 않아도 될 것 같습니다.


그 이유는 저자가 타칭 소프트웨어 아키텍트이며 수많은 경험을 토대로 단계적으로 설명해주기 때문입니다.

또한 개발, 설계뿐만이 아니라 팀 단위, 프로젝트 단위 등 다양한 위치에서 어떤 식으로 생각하고 행동하면 아키텍트에 가까워질 수 있는지 까지 실 사례를 통해 배울 수 있습니다.

어떻게 보면 커리어 스킬과 소프트 스킬을 합쳐놓은 책이라고도 볼 수 있겠네요.


저자의 노하우가 아주 많이 담긴 책이지만 방법론(?)이 그렇듯 알고 있는 것과 내 상황에 적용하기는 하늘과 땅 차이입니다. 그나마 이 책이 추상적이지 않고 실천해 볼만한 것들을 설명해주기 때문에 해볼 만한 것 같습니다.

그러니 꼭 읽고 괜찮은 내용이 있으시다면 우리 팀에는 어떻게 적용할 수 있을지 고민해보고 혼자가 어렵다면 팀원, 팀장님께 한 번 함께 해주시기를 요청드려보는 것은 어떨까요?

100%를 목표로 하는 것도 좋겠지만 지쳐 쓰러질 확률 또한 100%에 가깝다고 생각합니다.

그러니 우리 팀에 당장 적용해볼 수 있는 것, 해볼 만한 것 들을 위주로 먼저 적용해보고 점진적으로 해야 할 것, 해내야 할 것 등으로 발전해 나아가는 방법도 좋을 것 같습니다.


저는 개인적으로 문서화를 먼저 조금씩이라도 적용해 나아가고자 합니다. 화이팅 :)




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo