Building a Team
(팀 구축)
시스템에 대한 기술적 비전을 책임지는 주요 핵심 인물이 되는 것, 그리고 그 비전을 실행하는 것을 확인하는 것은 기술적인 결정을 내리는 것에 관한 것만은 아닙니다.
그것은 여러분이 일을 하게 될 사람과 함께 일을 하는 사람입니다.
기술적 리더의 역할 중 많은 부분은 그들을 성장시키는데 도움이 되는 것입니다. - 비전을 스스로 이해하고, 비전을 구체화하고 구현하는데 능동적인 참여자가 될 수 있디록 보장하는 것입니다.
커리어 성장을 위해 여러분 주변 사람을 돕는 것은 여러 형태가 있을 수 있습니다. 대부분 이 책의 범위에서 벗어납니다. 그러나 마이크로서비스 아키텍처가 특히 관련이 있는 한가지 측면이 있습니다.
대규모의 모놀리틱 시스템(monolithic system)에서 사람들이 한발 더 나아가 뭔가를 소유할 기회가 줄어듭니다.
반면에 마이크로서비스에서는 독립적인 수명주기(lifecycle)을 가질 수 있는 여러 개의 자율적인 코드베이스를 가지고 있습니다.
더 많은 책임을 받아 들이기 전에 개별 서비스에 대한 소유권을 가지게 함으로써 한발 더 나아가게 돕는 것은 커리어 상의 목표를 달성할 수 있도록 돕고 동시에 누가 책임자가 되든지 부담을 덜어주는 굉장한 방법이 될 수 있습니다.
나는 위대한 소프트웨어는 위대한 사람들로부터 나온다는 것을 강하게 믿습니다.
평형 상태의 기술적인 측면에서만 걱정하고 있다면, 그림의 절반 이상을 놓치고 있는 것입니다.
Summary
(요약)
이 장을 요약하면, Evolutionary Architect의 핵심 책임에 대해서는 다음과 같이 요약할 수 있습니다.
Vision (비전)여러분의 시스템이 고객과 조직의 요구사항을 만족시키는데 도움이 되는 시스템에 대한 명확하게 커뮤니케이션된 기술적 비전이 있는 확인하십시오.Empathy (공감)여러분의 결정이 고객과 동료에게 미치는 영향에 대해서 이해하십시오.Collaboration (협업)비전을 정의하고, 재정의하고, 실행하는데 도움이 되는 가능한 한 많은 상사와 동료를 끌어들이십시오.Adaptability (적응성)기술적 비전이 고객과 조직에서 요구하는 대로 변경되는지 확인하십시오.Autonomy (자율)팀의 표준화와 자율성 사이에서 올바른 균형을 찾으십시오.Governance (거버넌스)구현되고 있는 중인 시스템이 기술적 비전에 맞는지를 확인하십시오.
진화하는 아키텍트(evolutionary architect)는 이러한 위업의 달성이 끊임없는 균형잡힌 행동이라는 것을 이해하는 사람 중 한명입니다.
힘은 항상 여러분을 어떤 방향으로 Push하고 있습니다.
그리고 어디에서 뒤로 물러나야 하는지, 혹은 어디로 흐름을 가져가야 하는지를 이해하는 것은 흔히 단지 경험에서만 오는 것입니다.
그러나 우리를 변화로 밀어넣는 이런 모든 힘에 대한 가장 최악의 반응은 우리의 생각안에서 더 견고해 지거나 고정되는 것입니다.
이 장에서의 많은 조언은 모든 시스템 아키텍트에게 적용될 수 있지만, 마이크로서비스는 우리가 더 많은 결정을 내리게 합니다.
그러므로, 이러한 모든 trade-offs에 대해 균형을 더 잘 잡는 것이 필수적입니다.
다음 장에서는 마이크로서비스의 경계를 어떻게 찾는지에 대해 생각해보면서 아키텍트의 역할에 대한 새로운 인식에 대해서 알아볼 것입니다.
댓글을 달아 주세요
댓글 RSS 주소 : http://www.yongbi.net/rss/comment/819