Expert?

어느날인가 홍콩 개발자하고 업무 관련 논의를 하다가 아이폰 개발을 하는 것에 서로 관심이 있어서 이것 저것 이야기 할 기회를 얻었다.

아이폰 개발을 하려면 여러가지 배워야 할 것들이 있는데 아직 시간을 내가 힘든 상황이다. 라고 이야기 하니

“이미 너는 C++ Expert니까 Object-C정도는 크게 어렵지 않게 할 수 있을거다”

뭐 이런 내용의 이야기를 하더라…

C++을 잘 한다…켘~~~ ㅜㅜ

최근 들어 뭔가를 잘 한다는게 무엇을 의미하는지 많이 생각해 봤다.

초반에 본사 개발자들이 C++을 정말 멋지게 사용하는것을 보고 놀랐고, 1달이 지난 지금 이 시점에서는 타국 개발자가 내 코드가 좋다고 이야기 하더라
잘 한다.. C++을 C++답게 코딩한다 등등이 의미하는것은 많은것을 함축하고 있다.
잘 한다는게 원래 처음부터 잘 한다는 것을 의미하지는 않는다. 그만큼 그 기술에 시간을 많이 쏟기 때문이다. 최근 1달의 시간동안 이렇게 한가지 기술에 많은 집중을 해본적인 최근 2년동안 거의 없었다. 물론 일적으로 말이다. 다만 그랬을 뿐인데, 타국 개발자는 그렇게 말하더라. 그렇다면 내가 대단하게 느낀 그 외국 개발자들은 어떤가? 그들도 마찬가지로 한가지 일 그리고 관련된 몇 가지 일에 집중을 하고 그것을 하다보니 전문가 소리를 듣는 것이였다.
사실 모든 배경을 차치하고 그 개발자의 기술적인 능력을 평가 하는것은 좀 무리가 있다. 미국과 한국의 개발자 환경은 판이하게 다르다. 게다가 한국 지사 개발자와 본사의 개발자 업무가 다르듯이 그 환경에 맞게끔 개발자들이 개발을 하게 되면 특정 능력들과 이력들이 대해서 차별화가 이루어 지는게 맞는 것이다.
이런 차별된 환경에서 개발해온 개발자들이 글로벌화 하는 이름 아래 서로 함께 일하게 되니 누가 누구에게 자신을 맞춰야 하는지가 자명해 진다.
한국 마켓 개발자는 서비스 위주로 개발을 하게 되는데 본사 개발자는 서비스 위주가 아니다. 다분히 시스템 프로그래밍에 가깝고 엔진개발 엔지니어에 가깝다. 그런 일들을 함께 하게 되는 시점에서 거대한 엔진 개발에 경험이 없는 개발자들이 본사 규약과 코딩 룰 그리고 개발환경에 빠르게 맞춰야 하는 부담감이 있다. 암울한 사실은 본사 개발자들은 주로 특정  마켓 서비스 일을 거의 하지 않는다. 모든 마켓에 글로벌하게 적용이 가능한  엔진쪽 일이 많고 핵심적인 일이 많다. 그러기 때문에 그들이 마켓의 특징에 맞출일은 안타깝지만 거의 없기 때문에 그들이 우리의 개발 방식으로 고칠 이유는 거의 없다.

그러니 소스 코드 co를 하면 수루루 쏟아지는 엄청난 양의 C++코드에 주눅이 들고 코드를 읽어보면 이들이 쓰고 있는 기술력과 그 체계적인 개발력에 충격을 받게 된다.
그래서 급하게 해야 하는 일이 빨리 그들의 수준에 맞춰야 하는 일이다. 그렇게 약 1달을 보냈다. 그 전까지 검색 서비스 개발을 하면서 코딩을 해봐야 천 라인도 안되는 간단한 플러그인 코드를 짜다가. 수백만 라인에 가까운 코드에 내 코드 수만라인을 넣는일을 하는데 한타 한타가 정말 정성스러울 따름이다.
이렇게 하다보니 C++ 잘 한다는 이야기를 듣게 되는거 같다. (하지만 그 홍콩 엔지니어도 절대 못하는 친구가 아니다. 내가 볼때는 그 친구가 너무 많은 일을 동시에 진행함으로 인해 나와 함께 하는 일에 시간 할애를 못할 뿐이였다. 다시 말해 내가 약간 그곳에 집중할 환경적인 요인이 많았다는 것 뿐이다.)

내가 이렇게 긴 라인으로 이야기 하는 이유는 몇 가지 핵심적인 이야기를 하고 싶어서이다.
 
첫번째는, 잘 한다는것은 그 사람이 잘 할수 밖에 없는 환경에 처했기 때문이라는것.
두번째, 잘 하는 사람이 되기 위해서는 자신의 일(프로젝트) 선택을 잘 해야 한다는것.
세번째, 그런 일 선택을 하지 못했다면, 잠을 줄여서라도 실력을 키우라는것..
네번째, 여러가지 일을 동시에 잘 한다는게 항상 좋은 것만은 아니라는것.

하여간, 같이 일을 하면서 서로의 환경을 이해하고 그가 왜 지금 그렇게 하지 못하는지 이해하는게 함께 일하는 사람들 사이에 중요하다고 깨닫게 되었다.
앞으로 내가 도와줄 일이 있으면 꼭 이야기 해달라는 나의 말에 그 홍콩 개발자가 너무 고마워 하는 것을 보고 함께 일하는게 이런 것이구나 하는 것을 다시 느낄 수 있었다.

참 그렇고 오늘 그 홍콩 친구를 도와줄 일이 있었다.
2명의 개발자가 같은 코드를 두고 한명은 리펙토링을 하고 다른 한명은 코드 수정을 하는 바람에 컴파일 에러가 나온 상황이였다. 소스코드 수정이력 살펴보면서 당장 내 작업을 하기 위해 일단 컴파일을 되게 만들어 두고 커밋은 하지 않고 작업중이였다.
이 문제였는데… 사실 이것보다 더 큰 문제는 그 친구 개발환경이 개발을 위해 완비되지 않았다는 큰 문제가 있었었다.

암튼 아주 순조롭게 해결을 한 관계로 출장 갔을때 그 친구에게 대만 안내를 받아서 내심 마음속에 미안함 및 고마운 마음이 있었는데 이를 조금이나마 달랠 수 있었다.

그 친구가 퇴근전에 한 이야기가…
“I owe you.”

하루종일 고민했었는데, 덕분에 퇴근하기 전에 해결할 수 있어서 고맙다는 이야기다.

물론 나도 도움이 되어서 정말 기분이 좋았던 하루였다.
열심히 서로 도와주고 해서 빨리 적응하고 함께 시너지를 만들어 가야겠다.

ps. 역시나 친해지는게 서로 프로젝트를 생산적으로 하는데 큰 도움이 되는거 같다. 홍콩하고는 친해졌으니… 이제 미국사람들하고 친해져야 할텐데… 뭐 내가 딱히 도와줄건 없는거 같고…. 사실 그들에게 배워도 모자랄 판국이긴 하지만…

CC BY-NC 4.0 Expert? by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.