우리 회사는 프로젝트 비용 절감을 위해서 인도 개발자들을 고용하여 SW개발을 진행하고 있다. 외주의 형태는 아니고, 인도 지사에 있는 인도 개발자들과 함께 SW 개발을 진행하고 있다.
왜냐하면 인도의 인건비가 한국 대비 무척이나 싸기 때문이다. 우리나라 인건비의 1/3 수준이므로, 프로젝트 비용이 절감되기 때문에 현재 인도 개발자들을 대폭 늘리고 있는 상황이다. 그래서 올해 초에는 인도 개발자들이 대거 한국 지사로 와서 트레이닝을 받고 돌아갔다. 참고로 내가 속해있는 SW 기능팀은 6명인데, 2명의 한국인 (나포함), 4명의 인도인으로 구성 되어 있다.
문제는 인도 개발자들이 인도로 돌아가면서 시작되었다.
본격적으로 프로젝트가 시작되어 인도 개발자들과의 협업을 위해 프로젝트 일을 나누어 주었는데, 질문이 너무 많은 것이다.
인도 개발자가 한국에 있었을 때에는 자리에서 바로 알려줄 수 있어서 시간 낭비가 좀 덜했는데, 원격으로 많은 질문을 해오니 메신저로 쓰고 전화로 통화하고 화면 공유하고 메일로 왔다갔다 하니 시간 낭비도 너무 심했다. 무엇보다도.... 나에게 하는 질문의 질이 너무 낮았다.
예로 하기와 비슷한 상황이 자꾸 일어난다.
1. 인도 개발자: A 프로젝트에서 B라는 기능 테스트 중인데 동작을 안하는데?
2. 루키 : A 프로젝트에는 B라는 기능이 아예 없어. 코드랑 사양 문서 확인 해봤어?
위와 같은 일이 자주 발생하자, 슬슬 짜증이 나기 시작했다.
같이 협업을 하려고 프로젝트 일을 인도 개발자에게 나누어 주었는데, 내가 하는 일이 전혀 줄지 않고, 하루에도 몇번씩 들어오는 질문들로 인해 자꾸 인터럽트가 발생해서 어떤 날은 반나절 동안 질문에 답만 해주었다. 어느샌가 내가 그들에게 맡겼던 일들이 나에게 부메랑 처럼 돌아오고 있었다.
같이 협업을 하려고 프로젝트 일을 인도 개발자에게 나누어 주었는데, 내가 하는 일이 전혀 줄지 않고, 하루에도 몇번씩 들어오는 질문들로 인해 자꾸 인터럽트가 발생해서 어떤 날은 반나절 동안 질문에 답만 해주었다. 어느샌가 내가 그들에게 맡겼던 일들이 나에게 부메랑 처럼 돌아오고 있었다.
어디서 부터 잘못된 것일까 생각해보았다. 내가 너무 그들의 일을 해주고 있었던건가... 그들의 질문에 너무 잘 답해줘서 그런건가... 원격으로 일해서 그런건가...
별 생각이 다 들었다. 이 상황을 어떻게 해결할까 고민해 보았다.
1. 인도개발자랑 일 못해먹겠다고, 한국 개발자 뽑아달라고 말해본다.
=> 물론 프로젝트 비용이 늘어날테니, 이 해결 방법은 분명 reject 될 것이다.
=> 물론 프로젝트 비용이 늘어날테니, 이 해결 방법은 분명 reject 될 것이다.
2. 어차피 그들에게 일을 맡겨도 나중에는 내가 하니, 아예 그들에게 일을 안 맡기고 처음부터 내가 다 한다.
=> 장기적으로 봤을 때, 일이 점점 많아지면 나의 피로도가 급상승하여 안 좋은 결과가 나올 것이 뻔하다.
=> 장기적으로 봤을 때, 일이 점점 많아지면 나의 피로도가 급상승하여 안 좋은 결과가 나올 것이 뻔하다.
3. 인도 개발자를 효율적으로 사용할 방법을 궁리해본다.
=> 어떻게? ㅠㅠ
=> 어떻게? ㅠㅠ
사실 회사에서 쪼랩 개발자인 나에게 이미 결론은 정해져 있다. 답정너...
![]() |
< 나는 대답만 하면 된다. 열심히 인도 개발자랑 협업 하겠다고.... > |
그러니까 결론은 이 인도 개발자들을 잘 활용해야 한다는 것이다. ㅠㅠ
맘 같아서는 그냥 인도 개발자한테 일 안주고 내가 다 처리하고 싶었다. 그게 더 빠르기도 했다. 하지만 내가 가지고 있는 리소스를 적절하게 활용해서 개발을 하는 것도 능력 중 하나이므로 (사실 답정너인 상황의 영향이 더 크지만...), 인도 개발자들과 어떻게 협업을 잘 할까 생각해 보았다.
그래서 다른 팀은 어떻게 이 상황을 다루고 있는지 궁금해서 물어봤는데, 다른 팀의 경우 인도에 맡겨진 일에 대해서는 코드 리뷰 및 의문 사항을 인도 개발자들끼리 내부적으로 해결하라고 했다고 한다. 좋은 해결법 같아보였다. 사실 인도 개발자들의 내부 트레이닝이 다 끝난 상태 (프로젝트 이슈들도 어느정도 처리하고 있음)이기 때문에 괜찮아 보였다.
그런데 문제는.... 인도 개발자들끼리 하는 코드 리뷰 등이 어느 정도의 퀄리티를 가지고 있는지 알 수가 없다. 나에게 하는 질문으로 그들의 능력을 온전히 평가해 보았을 때, 인도 내부적으로 코드 리뷰를 했을 때 서로의 코드에 대해서 적절한 comment를 해 줄 수 있을지 의문이다.
또한 우리 고객사가 한국 회사라서 긴급한 문제가 나오면 한국에서 선 대응을 해야 하는데, 온전히 인도에 어떤 부분을 맡기고 신경쓰지 않으면 선대응이 적절히 안되는 상황이 발생할 게 뻔했다.
그래서 어떻게 할까 고민하다가... 나 좀 그만 괴롭히라고, 생각 좀 하고 질문 하라고, 구구절절히 메일을 쓸까 하다가....
일단 내가 받는 질문의 양을 좀 줄이면 훨씬 나을 것 같아서 질문하기전 해야 할 행동들에 대해서 룰을 정하기로 했다. 물론 내가 온전히 만든 룰은 아니며, "코딩 호러의 이펙티브 프로그래밍" 책을 읽다가 해당하는 내용이 있어, 해당 내용에서 우리에 맞게 변경하여 만들었다.
(하기 사이트 참조)
아래는 내가 작성한 "나에게 질문하기 전 해야 일들"이다.
If you face some problems about functionalities, please do as below steps before asking me.
=> 만약에 너가 테스트 중 어떤 문제를 발견했을 때, 나에게 질문하기 전에 하기와 같은 절차를 수행 후에 질문해라
=> 만약에 너가 테스트 중 어떤 문제를 발견했을 때, 나에게 질문하기 전에 하기와 같은 절차를 수행 후에 질문해라
1. Read a functional specification document.
=> 문제가 발생한 기능에 대한 기능 사양서 혹은 매뉴얼을 읽어라
=> 문제가 발생한 기능에 대한 기능 사양서 혹은 매뉴얼을 읽어라
2. Read source code related with functionalities.
=> 해당 기능에 대한 소스 코드를 확인해라
=> 해당 기능에 대한 소스 코드를 확인해라
3. Find out what functions and what variables make it happen.
=> 어떤 함수와 어떤 변수가 해당 문제를 일으키는지 확인해라
=> 어떤 함수와 어떤 변수가 해당 문제를 일으키는지 확인해라
4. If you still don't get an answer after following above 3 steps, ask me with descriptions of "What you did for getting an answer" in detail (share your activities of step 1,2,3.).
=> 상기의 1~3번을 거쳐도 문제의 답을 발견하지 못했을 때에는, 나에게 질문해라. 다만 너가 답을 얻기 위해서 한 행동들에 대해서 자세히 설명해라. (1,2,3 번에서 수행한 과정을 공유해라.)
=> 상기의 1~3번을 거쳐도 문제의 답을 발견하지 못했을 때에는, 나에게 질문해라. 다만 너가 답을 얻기 위해서 한 행동들에 대해서 자세히 설명해라. (1,2,3 번에서 수행한 과정을 공유해라.)
5. Please, do code reivew with your indian collegues first. After that, request me to do it. But please, don't skip my code review.
=> 코드 리뷰는 인도 개발자들과 먼저 하고, 그 후에 나에게 코드 리뷰를 요청해라. 그렇다고 내 코드 리뷰 건너뛰지는 말아라.
=> 코드 리뷰는 인도 개발자들과 먼저 하고, 그 후에 나에게 코드 리뷰를 요청해라. 그렇다고 내 코드 리뷰 건너뛰지는 말아라.
사실 그냥 인도 개발자에게 "인도에서 먼저 뭐든지 해보고, 나에게 물어봐!" 라고 말해도 되기는 한다. 하지만 좀 째째 해도 상기처럼 정한 이유가 있는데,
1. 그냥 알아서 해봐 라고 하면 어떻게 알아서 하냐고 다시 질문할 게 뻔했다.... (다시금 부메랑이 되어 날아오는....)
2. 원격으로 협업 중이므로 실제 일하는 것을 볼 수 없어, 어떤 단계를 거처야 하는지 조금 세세하게 정하여 알려주는게 좋을 것 같았다.
블로그내 관련 글
1. 원거리 인도 개발자와의 협업 (2) - 좋은 질문하도록 유도하기의 후기글
2. 원거리 인도 개발자와의 협업 (3) - 재현 안되는 문제 분석하기
3. 원거리 인도 개발자와의 협업 (4) - 문제 유발자
2. 원격으로 협업 중이므로 실제 일하는 것을 볼 수 없어, 어떤 단계를 거처야 하는지 조금 세세하게 정하여 알려주는게 좋을 것 같았다.
블로그내 관련 글
1. 원거리 인도 개발자와의 협업 (2) - 좋은 질문하도록 유도하기의 후기글
2. 원거리 인도 개발자와의 협업 (3) - 재현 안되는 문제 분석하기
3. 원거리 인도 개발자와의 협업 (4) - 문제 유발자
0 개의 댓글:
댓글 쓰기