3개국의 개발자들이 모여서 개발을 함께하는 프로젝트를 참여하고 있는데 이에 대해서 느끼고 있는 점 몇 가지를 올려본다.
한국에서 한국 개발자들과 일하는 것과는 사뭇 많이 다르다.
1. 개발을 하는 전체 작업중에 코드 리딩이 50% 정도 되는 듯 하다.
svn update를 하면 전날 코드의 업데이트가 줄줄 되는 것을 볼 수 있다. 이들 코드를 살펴보고 어떤 점이 내 모듈에 영향을 미치고 이사람이 어떤 의도로 이런 설계를 했는지 확인하는 작업이 코딩작업을 하는 것보다 선행이 된다. 그래서 업데이트 사항들에 대해서 세밀히 살펴보고 의도를 파악해 보는작업을 게을리 할 수 없다.
개발자는 코드로 이야기 한다는 말이 맞는듯 하다.
2. 간단한 모듈 한가지라도 실행 모듈을 만들어 테스트 환경을 꼭 함께 업데이트 한다.
물론 관련 문서화는 거의 필수다. 모국어가 아닌 언어로 일하다 보니 문서화는 나같은 외국인에게 더 중요해 지는 듯 하다. 게다가 모든 모듈은 테스트 모듈이 함께 나온다.
3. 일정에 다소 유연하다.
모든 문제점은 프로젝트 론치 전에 발견이 되어야 되는게 미덕으로 보인다. 따라서 이런 문제들이 다소 시간이 필요한 문제라 판단이 되면 그에 적합하게 여유를 준다. 급박하게 하드 코딩 형태로 땜빵하는것은 절대 허용이 되지 않더라.
4. 프로젝트 아이디어에 제안에 대한 환경 제공
일단 프로젝트 시작이 되면 데드라인이 정해지기 때문에 어떻게든지 마쳐야 하는게 한국 프로젝트의 미덕이다. 중간에 좋은 아이디어가 있으면 생각을 공유해 좋다고 판단이 들면 따로 시간을 주지 않는다. 기존에 하고 있는 일도 많은데 따로 아이디어를 내서 하기가 쉬운일이 아니다. 그래서 아이디어를 내기가 쉽지 않다. 때로는 더더욱 수동적으로 변하기도 하고 말이다.
하지만 글로벌 프로젝트에서는 그렇지 않았다. 프로젝트에 좋은 아이디어가 있고 충분히 공유가 되면 이것에 대한 일정을 따로 늘려서 잡는게 당연시 여겨지더라.
물론 모든 아이디어가 그 시간만한 가치가 있는건 아닐것이다. 하지만 10개중에 1,2가지만 성공하더라고 이는 프로젝트와 회사의 프로덕트에 아주 큰 영향을 미칠것이다. 게다가 무엇보다 중요한건 아이디어 공유에 대해서 개방적이고 굉장히 편하게 생각하는 개발 환경일 것이다.
여튼 요즘 개발에 완전 푹 빠져 살고 있다. 이런 생활이 얼마만인지 모를 정도로 정말 재밋게 코딩과 연구에 몰두하고 있는 중이다.
게다가 언어가 C++이라는데 참으로 많은 매력이 있는거 같다. 코드를 보다 보면 어떤이는 STL같은 것을 써서 쉽게 코딩하는 반면에 어떤이는 C++을 C처럼 기본적인 자료구조 만으로 코딩을 하는 것을 보기도 한다.
뭐가 좋은 방법인지는 나도 잘 모른다. 하지만 STL류를 사용하는 코딩 방식이 살짝 읽는 이로 하여금 금새 로직을 이해하게 만드는거 같기는 하다.
현재로서는 본사 개발자들에게 많은 것을 코드와 문서 같은 것을 통해서 그리고 미팅을 통해서 배우고 있다.
개인적인 생각으로는 로컬 개발자와 본사 개발자와의 가장 큰 차이는 글로벌한 마인드의 유무라고 생각한다. language specific한 코드를 짜는데 코드 자체가 한 언어에 의존해서 동작하는 모듈을 만들기 보다는 클래스 템플릿 같은 것을 만들어 한국어 및 영어, 일본어 중국어 모두 적용이 가능하게끔 얼개를 짜는 것을 보고 그들의 글로벌한 마인드에 놀란적이 있었다.
나역시 저런 모습을 나의 팀장들이 바라고 있는 모습이기도 하다. 하지만 아직은 적응중이니 약간 시간이 더 필요할지도 모르겠다. ^^;
머 이런식으로 2년 정도 일하다 보면 어떤 글로벌 환경에서도 개발자로 잘 살아갈 수 있을 거란 믿음이 생길거라 생각한다.
좀 더 고생하고 고민하고, 열심히 해보도록 내 자신을 격려해보자.
글로벌 프로젝트를 하면서 느끼는 점 몇 가지 by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.