개발자의 언어

말이 통한다고 의미가 통하는 것은 아니다.

John Cho
4 min readSep 18, 2019

지난 주에 커뮤니티 이벤트를 갔었는데 네트워킹 시간에 어떤 개발자 분이 이런 질문을 했다. “나는 신기술을 도입해보고 싶은데 사업, 동료가 나서주지 않아요. 너무 지치고 힘든데 이럴 때 어떻게 해야할까요?”

나는 비유하는 걸 좋아하니 이렇게 이야기해보자. “역 앞에 새 식당이 생겼는데 동료가 같이 가주지 않아요. 저는 꼭 가서 먹어보고 싶은데 어떻게 해야할까요?”

새로운 것이 항상 좋다고 할 수는 없다.

새로운 제품은 대부분 기존 제품이 가지고 있던 문제를 해결하기 위해서 나온다. ‘기존 제품의 이런 점이 어려웠으니 이번 제품에서 해결하자’ 또는 ‘전세계의 트렌드가 이런 방향이니 우리도 이렇게 하자’ 등 다양한 문제를 해결하기 위해서 새로운 제품이 나온다.

얼마 전에 iPhone 11이 나왔다. 나는 iPhone 11이 구매하고 싶고, 나의 현재 휴대폰 사용 경험은 아래와 같다.

  1. 지난 일주일간 나는 하루 평균 3시간 10분 휴대폰을 사용했으며,
    페이스북과 사파리에 가장 오랜 시간을 사용했다.
  2. 음식 사진을 찍을 때 휴대폰을 주로 사용한다.
    찍은 사진은 트위터나 인스타그램에 올리는 편이다.
  3. 기존에는 iPhone XS Max를 사용했고, 특별히 불편한 점은 없다.

자 그러면 나는 iPhone 11을 사야할까? 아니면 기존 휴대폰을 사용해도 될까? iPhone 11이 새로운 카메라와 새로운 디스플레이를 가지고 있고, 대부분의 기기 성능에서 iPhone XS Max보다는 좋을 거라 확신한다.

하지만, 내 휴대폰 사용 경험을 봐서는 굳이 iPhone 11을 살 필요는 없어보인다. 오히려 휴대폰 한 대에 170만원을 들이는 것보다는, 그 돈으로 다른 나라에 여행을 다녀오는 게 나에게는 더 가치 있을 가능성이 높다.

하지만 나는 iPhone 11을 살 것이다.

길게 바라보면,

단순히 스펙을 길게 나열하는 것 말고도, 인간의 만족도를 높이는 것도 중요하다. 첫 문장에서 이야기 한 ‘새 식당’ 에 대해서 이야기해보자. 왜 기존에 있던 이른바 검증된 식당을 두고 새로운 식당을 찾아갈까? 아래는 철저히 내 기준이다.

  1. 미지에 대한 기대감. 이 식당이 맛있을 수도 있다.
  2. 선택의 다양성. 다음에 점심 메뉴를 고를 때 후보지가 추가된다.
  3. 선구자라는 자부심. 내가 이 집 뚫었다.
  4. 주변 사람들의 만족. 내가 추천했는데 다른 사람들도 맛있대.
  5. 기존 집에 너무 익숙해져서. 맛있는데 너무 뻔해

제일 중요한 건 5번이라고 생각한다. 아무리 맛있는 집이라도 여러번 가다보면 질리기 마련이다. 만약 일 년 내내 같은 식당에 가서 비슷한 메뉴로 밥을 먹어야한다고 생각하면 벌써 지루해지는 느낌이다.

하지만 개발 세상에서는 이런 일이 꽤 흔한 일이다. 검증된 기존 기술을 계속 사용해나가면 개발자의 만족도는 낮아질 수 있지만 결국 제품은 맛있어질 가능성이 높다. 우리가 백종원의 레시피를 따르는 것은 그 맛이 아주 뛰어나서가 아니라 우리가 따라할 수 있는 범위에서 최대의 맛을 내는 것과 유사하다.

하지만 개발자의 만족도가 낮아지는 건 길게 보면 손실이다. 개발자의 만족도가 높아질 수록 해당 제품에 개발자의 에너지를 더 많이 사용할 가능성이 높아지고, 더 많은 에너지를 사용하는 건 제품의 완성도, 제품의 완성 속도와 이어지기도 한다.

다른 사람을 설득시켜보자

새로운 식당에 다른 사람을 데려가보고 싶다. 여러분들이라면 어떻게 하겠는가?

  1. 블로그를 열심히 찾아서 그 집에 대한 리뷰를 살펴보고,
    맛있다는 리뷰가 많으면 데려간다.
  2. 일단 혼자 가서 먹어보고, 먹어본 메뉴가 괜찮으면 다른 사람을 데려간다.
  3. 무작정 가자고 한다. (보통 실패한다)

나는 보통 2번을 가장 선호하는 편이다. 내가 새로운 기술을 도입하고 싶을 때에는 보통 새로운 기술을 이용한 프로토타입을 만들어보고, 이 기술이 우리가 가지고 있는 문제를 해결할 수 있는 지 검증해보고, 검증이 끝나면 사람들에게 공유한다.

1번은 2번의 전 단계일 때도 있고, 후 단계일 때도 있다. 지나가다가 발견한 집인데 새로 생긴 지 얼마 안되었다면 블로그 글이 많지 않아서 일단 가보고 맛있는 지 체크해본다. 내 입맛에는 별로였는데 맛집이 되는 경우도 있더라.

하루에 세끼를 먹는다고 생각하고, 180번 밥을 먹어야한다고 가정했을 때, 그 중 한 번을 설득하는 데에도 이렇게 어려운 데 한번 바꾸고 나면 바꾸기도 어려운 기술에 대한 이야기를 할 때는 얼마나 더 어렵겠는가?

따라서 프로젝트 중 꾸준한 검증이 필요하고, 검증을 거쳐 이 기술이 기존 문제를 해결할 수 있다는 확신이 생겼을 때 이 기술을 도입할 수 있어야 한다. 여기서 중요한 건, 기존 것이 절대적으로 별로라고 생각하면 안된다는 것이다.

그러면 이제 아래 질문에 답변해보자.

  1. 이 기술은 왜 생겨났는가?
  2. 이 기술은 어떤 문제를 해결하기 위해 있는가?
  3. 이 문제는 지금 우리 조직이 가지고 있는 문제인가?
  4. 이 기술은 지속적으로 업데이트가 이루어지고 있는가?
  5. 이 기술을 우리가 쓰면 어떤 점이 좋아지는가?
  6. 이 기술을 우리가 쓰면 어떤 점이 나빠지는가? (교육비용은 제외하고)
  7. 이 기술이 우리의 만족도를 높여주는가?

자, 이제 에디터에서 현실로 나설 차례다. 현실의 사람들을 설득시킬 많은 자료들을 준비하고, 새로운 기술을 서비스에 도입해보자.

--

--

John Cho
John Cho

No responses yet