Detail
97가지이야기시리즈/소프트웨어아키텍트

가장 큰 문제는 기술적인 문제가 아니다

by 추쿠아비 2021. 6. 27.

소프트웨어 아키텍트가 알아야 할 97가지 - 세 번째 이야기

by - Mark Ramm
Turbo Gears 2의 BDFL(자비로운 독재자)로서 Python의 열렬한 지지자이다. 한마디로 말하자면 상당히 특이한 사람이다. 소프트웨어 아키텍트, 네트워크 관리자, 바닷가재 어부, 바이커 바 청소 등 다양한 일을 업으로 삼고 있다. 프로, 아마추어를 불문하고, 프로그래머의 생산성을 높일 수 있는 툴을 만드는 일에 열정을 쏟고 있다.

지금 이 순간에도 누군가는 시스템 개발 프로젝트 속에서 분투하며 눈물을 삼키고 있을 겁니다. 아마 한두 명이 아닐 겁니다.

왜 그런 걸까요? Java가 아닌 Ruby여서? Smalltalk 대신 Python으로 개발을 시작해서? 혹은 Oracle 대신에 PostgreSQL을 도입해서? 아니면 Linux 기반으로 해야 했었는데 Windows 기반으로 프로젝트를 시작해서? 프로젝트를 실패로 몰아넣은 범인으로 기술 스펙을 도마에 올리는 일을 종종 보게 됩니다. 그들은 과연 특정 언어나 기술 때문에 문제를 제대로 해결할 수 없었던 걸까요?

프로젝트는 결국 인간이 하는 겁니다. 그래서 결국 프로젝트 성패도 인간이 열쇠를 쥐고 있습니다. 프로젝트를 성공으로 이끌기 위해 무엇이 필요한지 한번 깊이 생각해 볼 필요가 있습니다.

일을 제대로 하지 않는, 즉, 프로젝트의 성공을 조금씩 갉아먹고 있는 개발자가 있을지도 모릅니다. 이때 필요한 기술이 있습니다. 그 기술은 아주 오래된 기술로 인류 역사에서 가장 혁신적인 테크놀로지입니다. 뭐라고 생각하세요? 그건 바로 대화입니다.

대화에는 특별히 어려운 기술이 필요치 않습니다. 상대를 사람으로서 존중하고 억측, 비난하지 않도록 유의하면 됩니다. 이 대화법을 익히면, 영리한 아키텍트에서 효율적인 아키텍트로 레벨업 할 수 있습니다.

대화에서는 다음과 같은 점에 주의하는 것이 좋습니다.

대결이 아니라 대화를 하자
상대가 하는 말을 좋은 쪽으로 받아들이고, 상대의 생각을 들을 기회로 삼는다면 분명 상대방에게서 더 많은 것을 배울 수 있고, 상대방이 방어적으로 행동할 위험성도 줄일 수 있습니다.

태도를 바로 하고 대화를 하자
만약 당신이 화나 있거나, 짜증 나 있거나, 초조해 있거나, 고민하고 있거나, 당황해 있는 상태라면 상대방은 이러한 태도를 공격적인 상황으로 해석할 가능성이 매우 큽니다.

공통의 목표를 가질 기회로 삼자
회의에서 홀로 계속 발언하는 개발자를 조용히 시키기보다 그에게 다른 멤버가 참여할 수 있도록 유도하도록 부탁해 봅시다. 어떤 멤버는 내향적이라 대화에 참여하기까지 시간이 걸릴 수도 있다는 사실을 설명하고, 대화에 참여할 수 있도록 잠깐의 여유를 두자고 부탁하는 겁니다.

대화는 공통의 목표를 인식할 뿐만 아니라 타인의 행동을 통해 자신을 되돌아볼 수 있는 기회이며, 자신의 감정을 컨트롤하기 위한 연습입니다. 이를 통해 매 순간 뭔가를 배울 수 있다는 기쁨을 알게 될 것입니다.


by Pixabay.


[출처] ソフトウェアアーキテクトが知るべき97のこと

[라이선스] 이 글은 [CC-by-3.0-US] 에 의해 라이선스 되었습니다.


728x90

댓글