팀 플레이어 101

썸네일

오랜만의 비기술 발표네요. 준비하면서 저를 많이 되돌아보게 되었고, 덕분에 많이 성장했습니다. 역시 발표는 짱이에요. INFCON 2023에서 한 발표를 스크립트와 함께 공유합니다.

인프콘 현장

팀 플레이어 101

INFCON2023_팀플레이어101-v3 002 저는 레진코믹스, 핑크퐁, 제플, 토스 등 다양한 규모의 스타트업에서 개발을 했는데요, 다양한 성향의 사람들을 만나며 함께 일하고 싶은 사람은 어떤 성향이지? 어떤 사람이 팀에 임팩트를 끼치지? 란 고민을 많이 했어요.

아무래도 코딩만 잘한다고 짱개발자가 되는 건 아닌 것 같더라구요.

INFCON2023_팀플레이어101-v3 003 코딩은 개발자들이 해야 하는 많은 일 중 하나 입니다. 개발자의 필요조건일 뿐이죠. 이런거 머리 싸매고 하다가… 이제 코딩 하면

“휴 좋다~ 쾌적하다~ 나와 컴퓨터밖에 없어~”

하는거죠.

연차가 올라갈수록 이제 코딩 자체보다 이런 코딩 외 개발업무의 비율이 조금씩 커지기 시작합니다. 매니징 트랙에만 해당되는게 아니고, 개발 업무 자체에 이 작업들이 큰 비율로 포함되어 있다는 점이 재미있습니다. 학교나 부트캠프에서 따로 알려주지 않는데 말이죠.

그러면 이런 코딩 외 개발작업은 어떻게 익혀야 할까요?

INFCON2023_팀플레이어101-v3 004

주위를 보면 존경받는 / 함께 일하고 싶은 / 팀에 큰 전력이 되는 개발자들은 코딩 뿐 아니라 위 역량이 뛰어나더군요. 저 빼고 다 멋진 것 같았습니다.

왜 나는 같은 상황에서 저렇게 못하고 어버버 하고 있었을까요? 이게 부정적으로 발현되면, ‘나는 못났어’로 끝날 수 있지만. 긍정적으로 발현시킬수도 있어요. 걍 따라하는거죠.

INFCON2023_팀플레이어101-v3 005

할거면 제대로 따라해야죠. 그렇게 일년 반동안 Best practice를 모았습니다.

일단 타인의 팀플레이어다운 행동을 수집했어요. 멋지다 싶으면 적었고요, 따라하기 쉽도록 ‘액션아이템 형태’로 적었습니다.

‘어, 이 사람은 협업이 좀 안된다?’싶어도 적었어요. 반면교사도 적는거죠. 주위에 따라할 사람이 없더라도, 오히려 그게 반대로 따라할 아이디어기도 합니다.

그리고 저의 팀플레이어다운 시도도 적었습니다. 남의 행동을 내 방식대로 따라해본거예요. 성공 여부를 떠나서 시도한것 자체가 의미 있습니다. 양적 변화는 질적 변화를 가져오니까요.

INFCON2023_팀플레이어101-v3 006 실제 수집한 예시를 볼게요,

“맥북 구매요청을 할 때 본인 뿐 아니라 팀을 챙기고 수치적 근거를 제시한다.”

어떻게 했을까요? 배포 속도가 2분에서 1분으로 줄기 때문에 하루에 배포를 15번 한다 하면 한 달에 300분을 아낄 수 있다. 와 같은 근거를 드는거죠.

이 자리를 빌어 멋진 행동을 보여주신 정연님께 감사의 인사를 전합니다. 제가 이렇게 적고 있는거 모르셨겠죠ㅎ

부끄럽지만 저의 시도도 볼게요,

“타 직군의 팀을 한 편으로 만들어 길드로서 미션을 달성하도록 한다”

QA팀에게 서포트 요청이 아닌 공동 목표로서 과제를 만들고, 우리의 성과가 그들의 성과가 될 수 있도록 노력했습니다. 이로 인해 결과물도 좋아지고, 연봉협상에서도 두 팀 모두 언급할 거리가 되는거죠. 함께 해낸 회사의 성과니까요.

INFCON2023_팀플레이어101-v3 007 비하인드 스토리가 있는데요, 이렇게 남의 멋진 행동을 수집한다-가 3년전에 세운 액션아이템이라는 거예요.

‘중니어의 고뇌: 1인분 개발자, 다음을 찾아서’란 제목으로 발표를 했는데요, 과연 저는 답을 찾았을까요? 일단 저기 적어둔 액션아이템은 모두 했네요.

INFCON2023_팀플레이어101-v3 008 이번 기회에 수집한 행동들을 모두 살펴보았더니, 공통적으로 세 가지 키워드가 나오더라구요. 본질, 관계, 그리고 속마음 입니다. 뭔가.. 개발자 컨퍼런스 발표 아닌 것 같지만.. 맞습니다 ㅎㅎ

INFCON2023_팀플레이어101-v3 009 본 발표는 실화를 기반으로 하고 있습니다. (ㅎㅎ)

Part1. 본질을 알아낸다

INFCON2023_팀플레이어101-v3 010 INFCON2023_팀플레이어101-v3 011 여러분이 개발자라면 어떤 응답을 하셨겠어요? 저는 타당한 아이디어라고 생각하고, 기술적으로 가능한지 검토하고, 이렇게 답변했어요.

INFCON2023_팀플레이어101-v3 012 어때요, 긍정적이고 밝은 프론트엔드 개발자 같나요? 하지만 아쉬운 답변입니다. 요구사항을 1차원적으로 검토한거죠.

INFCON2023_팀플레이어101-v3 013 다른 개발자의 답글도 달렸습니다.

이 개발자는 현재 상황의 근본 문제를 먼저 파악하고, 본인의 전문성을 더한 방항을 제시했습니다. 개발자가 기획안보다 창의적으로 풀 수 있는 문제의 예시죠.

INFCON2023_팀플레이어101-v3 014 정리해볼게요. 업무 요청이 왔을 때 우리가 프로로서 해야하는 일은 먼저 맥락을 파악하고, 본질을 꿰뚫고, 거기에 나의 전문성을 더해 해결책을 보강하는 것입니다.

코딩이 전부가 아니고 위 작업이 업무의 일부분인거죠.

INFCON2023_팀플레이어101-v3 015 다른 상황도 볼게요. 내가 낸 개발 버그로 금액 장애가 빈번하게 일어나서 손실이 큽니다. 지난번엔 몇천 단위었는데, 이번엔 자칫해선 억단위로 갈 수 있을 것 같아요. 큰일입니다.

INFCON2023_팀플레이어101-v3 016 ‘개발 버그’라는 현상만을 본다면 이렇게 대응할 수 있습니다. “실수했네요, 앞으로 더 신경쓰겠습니다”라 하고, 개인적 액션아이템으로 테스트 코드 작성을 하는거죠.

이 대응 역시 문제상황을 1차원적으로 검토했다는 점에서 아쉬운데요, 팀이 QA를 못했다던지 등의 복합적인 원인을 탐구할 기회를 없애버렸네요. 원인 파악을 제대로 못 했으니, 테스트 코드 작성이 문제를 실제로 해결해주지 않을 수 있고 문제 재발시 개발자 역량 부족으로 비춰질 수 있겠네요.

INFCON2023_팀플레이어101-v3 017 더 본질을 탐구해볼게요.

개발자의 맥락을 전달하며 문제를 투명하게 드러내 팀의 맥락을 모을 수 있도록 했네요.

INFCON2023_팀플레이어101-v3 018 다른 동료들이 각자의 맥락을 더합니다.

기능 개발과 코드 개선이 병행되게 하자-는 일정 관점으로 접근하는 동료도 있고, 금액 테스트를 넣자-는 최소테스트 관점에서 접근하는 동료, 그리고 손테스트조차 하기 어려운 환경 자체가 문제다. 개발자 의존 없이 기능테스트가 가능하도록 하자는 더 근본적인 환경개선을 말하는 동료도 있네요. INFCON2023_팀플레이어101-v3 019 문제를 더 근본적으로 해결하기 위해선 코어 원인을 찾아내야 합니다.

혼자 끙끙대지 말고 팀 차원에서 공감대를 형성하고 목표 달성을 위한 최선의 방법을 찾아내면

문제도 해결하고, 팀워크도 다지고, 팀의 성장도 이뤄내는 일석삼조를 얻을 수 있죠.

Part2. 관계를 알아낸다

INFCON2023_팀플레이어101-v3 020

INFCON2023_팀플레이어101-v3 021 많이 겪어본 일이실거예요.

INFCON2023_팀플레이어101-v3 022 가장 쉬운 답변은 다음과 같습니다. 다만 아쉬운 점이 있죠.

위 두 문제를 해결하는 응답을 해볼까요?

INFCON2023_팀플레이어101-v3 023 외부사-우리일정-스펙 사이의 관계를 드러냈습니다. 그리고 ‘일정을 맞추려면 어떻게 해야하는지’에 대한 해결책도 함께 전달했네요.

INFCON2023_팀플레이어101-v3 024 많이 겪어보셨을 것 같은 상황 하나 더 들어볼게요.

INFCON2023_팀플레이어101-v3 025 열정이 앞선 개발자의 가장 일반적인 답변입니다. 노력에는 박수를 주고 싶지만, 아쉬운 점들이 있어요.

INFCON2023_팀플레이어101-v3 026 두 가지 포인트를 들어 답변을 발전시켰습니다.

INFCON2023_팀플레이어101-v3 027

Part3. 말하지 않은 것을 알아낸다

INFCON2023_팀플레이어101-v3 028 마지막 파트입니다. 말하지 않은 것을 알아낸다.

우리 팀원이 어떤 마음으로 회사에 다니는지 궁금한 팀장에게도, 팀장의 목표를 알고 싶은 팀원에게도 필요한 능력이죠. INFCON2023_팀플레이어101-v3 029 INFCON2023_팀플레이어101-v3 030 우리는 물어봅니다.

“요즘 잘 지내세요?”

많이 해보신 질문일거예요. 많이 해보신 답변도 있을거예요.

I’m fine thank you…

이 질문은 ‘음 나 요즘 어땠더라… 힘들었다고 하면 나를 이상하게 보면 어떡하지?’처럼 생각을 검열하고 답하게 만듭니다. 그리고 요약해서 답변하게 되어 구체적인 이야기로 들어가기 어려워지죠.

INFCON2023_팀플레이어101-v3 031 저는 이렇게 풀어보았는데요, 위클리에 역량 체크인이라는 섹션을 도입해서,

  1. 최근에 해본 노력
  2. 못 하고 있어 아쉬운 것
  3. 블로커

를 동료가 선제적으로 말할 수 있는 장치를 마련했습니다.

회고를 통해 내 시도(긍정)와 욕구(아쉬움)를 마주하도록 하는거죠. 욕구는 솔직하게 마주하는것만으로도 미묘했던 답답함이 해소가 됩니다. 게다가 그걸 다른 동료가 공감해준다면? 더 풀리겠죠. 그리고 이게 조직적 문제라면? 협력해서 부셔낼 수 있습니다.

INFCON2023_팀플레이어101-v3 032 이번엔 좀 더 팀원 관점의 사례를 들어볼게요,

INFCON2023_팀플레이어101-v3 033 일단 직설적으로 물어볼 수 있습니다.

PM은 고맙겠죠… 다만 평소에 생각해본 질문이 아니라면 의미 있는 답을 주기 어렵고, 답변이 특정 문제에 집중된다는 아쉬움이 있습니다.

INFCON2023_팀플레이어101-v3 034 좀 더 진실에 다가가기 쉬운 질문은 이러합니다. 앞에 질문보다 답변하기 쉽겠죠? 내 생각을 말하면 되니.

문제 공감대를 맞추고 최선의 해결책을 찾는거예요.

INFCON2023_팀플레이어101-v3 035 러닝을 정리해볼게요. 포괄적인 질문은 포괄적인 답변밖에 얻어낼 수 없습니다.

상황을 쉽게 떠올릴 수 있도록 질문해주세요. 면접을 볼때도 비슷한데요, 포괄적인 질문보다는 구체적 행동을 묻는게 더 면접자를 끌어내기 쉬운 점과 동일합니다.

그리고 상황 파악 전까지는 판단을 유보하는게 더 진실을 찾아낼 수 있는 접근방식이라는것도 알아두면 좋습니다.

마무리

INFCON2023_팀플레이어101-v3 036 여러 사례 듣느라 고생하셨어요. 이제 정리해볼게요.

INFCON2023_팀플레이어101-v3 037 여섯 가지 사례를 들었지만, 한 문단으로 정리해볼 수 있습니다.

업무 전후에 다음 질문을 되물어보면 됩니다. 사실 셋 모두, 본질을 찾는 여정으로 볼 수 있겠어요.

INFCON2023_팀플레이어101-v3 038 저도 알아요… 본질 찾기. 말만 들어도 어렵네요. INFCON2023_팀플레이어101-v3 039 하지만 해야죠! 우리에겐 주어진 시간이 많아요. 십년 이상 더 남았습니다. INFCON2023_팀플레이어101-v3 040 여러분이 해보실만한 액션아이템이 있어요.

INFCON2023_팀플레이어101-v3 041 저의 액션아이템도 있습니다.

INFCON2023_팀플레이어101-v3 042 저의 최근 가치관 형성에 크게 도움을 준 책 세 권을 소개하면서 마칠게요.

  1. 성과 향상을 위한 코칭 리더십
  2. 판단하지 않는 힘
  3. 소프트웨어 장인

INFCON2023_팀플레이어101-v3 043 감사합니다~ ㅎㅎ


Profile picture

진유림 a.k.a 테니스치다 손목 삔, 풋살하다 인대 나간 개발자 twitter

With love, Yurim Jin