Generalist in my own way
나름대로는 제너럴리스트
다.
어떤 문제를 만나든 모두 헤쳐나갈 것이다.
스페셜리스트를 꿈꾸며
프로그래머로 오랜 기간을 지내오면서 개인적으로 가졌던 목표는 스페셜리스트
에 더 가까웠다. 이걸 처음부터 진지하게 고민하고 선택했다기 보다는, 신입일 때 일단 하나에만 집중해서 빨리 전문적인 수준으로 성장해야겠다는 막연한 다짐 같은 것. 욕심 부리지 말고 하나라도 잘 하자는 생각. 나름대로의 선택과 집중으로 시작한 방향성이다.
혹은 개인의 성격 영향일지도 모르겠다. 일상중에서도 여러가지를 동시에 하기보다는 하나에 집중하는 편이 더 마음이 편하니까. 고등학교때 자습시간에도 음악을 들으면서 노트를 정리하는 친구들을 보면 저게 어떻게 가능한지 부럽기도 하면서 신기해 했다.
(이미지 출처 : linkedin)
이런 성향은 프로그래밍 언어라던가, 새로운 기술 트렌드들을 대하는 면에서도 어느정도 연관이 있다. 시대에 뒤쳐지지 않기 위해 관심을 두려고는 하지만 그보다는 지금 꼭 필요한 주제의 기술이나 노하우에 깊이가 있는 프로그래머가 되는 것에 더 무게를 둔다. 업무에서 주력으로 쓰는 개발 언어나 기술스택을 전문가가 될 때까지 계속 깊이있게 공부하는 것이 좀 더 마음이 편하다. 이제 어느정도 알겠다는 생각이 들 때면 또다시 더 깊은 세계가 있다는 것도 같이 깨닫게 될 때가 많으니까. 그럴때면 아직 스스로의 정진이 부족하다는 생각으로 모자란 깊이를 채우고자 노력해왔다.
N사에서 만났던 전문가들
N사에서 일하는 동안 참 뛰어난 동료와 리더 분들을 많이 만났다. 운좋게도 좋은 환경에서 능력있는 동료들과 함께 많은 것을 경험하면서 한껏 배울 수 있었다.
이런 분들이야말로 신입 개발자일 때 막연히 동경하던 전문가
였다. 경험도 많고, 재능도 있는 천재들. 각자의 전문 도메인에 대해선 끝을 알 수 없는 깊이감의 기량을 마음껏 펼쳐보여주는 프로그래머였다.
보통 큰 조직일 수록 스페셜리스트
가 좀 더 인정을 받는 경향이 있다. 이런 곳은 개발할 사람이 상대적으로 넉넉하고, 업무 프로세스도 디테일하게 분업화되는 편이다. (젤다 왕눈의 엔딩 크레딧을 보아도 프로그래머의 팀 분류가 정말 디테일하다.) 회사는 조직원들이 자신의 일에만 집중할 수 있는 환경을 조성하고자 노력한다. 프로젝트의 리드가 아닌 이상 팀원 한 사람이 개발 프로세스 전반을 두루 다 살펴야할 필요도 없고 권한도 없다. 그보다는 개인이 맡은 분업화된 분야의 일을 전문적으로, 퀄리티 있게 마감하는 것이 요구된다.
이 때 만났던 실력자들은 과히 스페셜리스트
로 불리기에 부족함이 없다. 세상은 넓고 고수는 많다는 것을 몸소 느끼는 순간이 많았다. 이런 분들은 꽤나 오랜 시간, 경우에 따라는 작은 회사가 게임을 2~3개는 족히 개발해 출시까지 했을 긴 시간 동안에도 개인의 전문분야 한 스팟에 역량을 집중적으로 쌓아가면서 탁월한 전문성을 연마하는 경우도 있다.
그분들에 비하면 나는 게임 개발 프로젝트 초기부터 런칭과 서비스까지 포함하는 개발 전반을 다루어봤다는 넓이있는 경험이 장점이었다. 게임 핵심 컨텐츠 구현 외에도 필수적으로 개발이 뒤따르는 영역들 - 게임서버 개발로만 본다면 로그인 처리나 계정 관리, db 운영, 해외 서비스 리전별 버전 관리, 게임로그 수집이나 분석 등 - 이 생각해보면 참 많이 있는데, 얇게라도 게임 개발의 전반을 다루어 본것은 그나마 대기업 위주의 프로젝트를 거쳐온 전문가
분들에게는 생소한 경험일테니, 이렇게 보면 나는 제너럴리스트
가 더 맞겠구나 하는 생각이 들었다.
지금 전장에 들고 나가야 할 무기
만든 것 중 최고의 명검이오.
신이 그대의 앞길을 막는다면
그 신조차 베어버릴 것이오.
– 영화 ‘킬 빌’ 중에서.
부끄럽게도 지금은 CTO
라는 너무 무거운 직함을 달고 일하고 있다. N사에서 뵈었던 우원식 CTO님이나, 심마로 CTO님 정도는 되어야 감히 불리울 수 있는 이름이 아닐까. 아직도 공석에서는 스스로를 소개할 때 프로그램 팀장
이라고만 말한다. 하지만 팀장
그조차도 내게는 너무 부담스러운 단어다.
지금의 나는 회사에서 한가지 일에만 집중하기가 쉽지 않다. 회사는 내가 프로그래밍에만 집중하는 환경을 만들어주지 않는다. 나는 팀원들을 살피고, 다른 파트와 개발 현안을 논의하고, 타부서 매니저들과 함께 프로젝트 개발 계획을 수립해야 한다. 팀 세팅을 위해 이력서를 검토한 후 기술 면접도 진행하고. 때로는 우리 프로젝트가 아닌 다른 프로젝트의 이슈도 확인해야 하고. 외부업체와의 미팅도 진행해야 한다. (회사가 더 작았을 땐 랜선도 내가 깔고 공유기 세팅도 서버 설치도 내가 했지만.. SE님이 입사해 주셔서 해방되었습니다. 감사합니다 _ _)
심지어 지금은 겨우 프로그래밍할 시간을 확보하게 되더라도 서버보단 클라이언트 구현에 들이는 시간이 더 많다. 유니티 엔진을 학습하고 UI 프레임워크의 구조를 잡는다. 지금 내모습은 어릴 때 막연하게 생각했던 스페셜리스트
에서 확실하게 더 멀어진 느낌이다.
지난주에 김창준님의 함께 자라기 - 애자일로 가는 길이란 책을 읽었는데, 후반부에 제너럴리스트
란 표현을 쓰신 부분이 개인적으로는 참 인상적으로 느껴졌다. 학습 능력이 좋은 팀에 대해 설명하는 글의 마지막에 아래와 같은 요약 정리가 있다.
- 전문가들 모아서 팀 만든다고 잘하는 것 아니고
- 오히려 성과가 떨어질 수 있고
- 정보 공유하고 협력을 잘하기 위한 명시적인 도움이 필요하며
- 소셜 스킬 등이 뛰어난 제너럴리스트가 있으면 도움이 된다.
– 함께 자라기 - 애자일로 가는 길. 김창준. 166p
소셜 스킬 등이 뛰어난 제너럴리스트가 있으면 도움이 된다.
이 부분을 읽고 (책 속 챕터 주제와는 좀 거리감이 있을 수 있으나) 나는 적잖은 안도감을 느꼈다.
그래. 생각해보면 제너럴리스트
는 지금의 내게 꽤나 중요한 자질이 아닌가.
요즘은 옛날에 했던 사소한 경험들도 크게 도움이 되는 경우가 많다. 캐주얼 게임을 만들면서 해외 퍼블리셔와 일해봤던 경험이라던지. dx9 자체엔진 개발 시절 우리도 WOW같은 UI 가져보자면서 lua와 xml로 UI 시스템을 만들어봤던 것부터, 지극히 개인적인 관심으로 찝적거려본 웹 프론트엔드 개발도. 인디게임 한 번 해보겠다고 혼자 한 번 익혀보던 유니티 2D 경험도 지금은 매우 큰 자산이 된다. 그런 삽질들이 없었다면 지금처럼 이렇게 넓고 다양한 도메인의 이슈들을 챙기는 것이 훨씬 더 어렵고 힘들었을 것이다.
나는 관리자나 리드, 팀장 같은 것은 별로 관심이 없고, 그저 코어한 서버 엔진 프로그래밍에 온전하게 집중할 때가 가장 빛이 난다고 스스로 생각하면서, 개발에 전력을 다하지 못하는게 못내 아쉽다는 생각이었는데. 가만보니 지금 내가 하고 있는 이 복잡 다단한 일들이, 어쩌면 나를 가장 빛내주는 일이라는 생각이 든다. 소셜 스킬 등이 뛰어난 제너럴리스트
가 도움이 되는 인재라고 하니, 불평 불만은 접어두고 그럴 시간에 소셜 스킬의 성장에나 좀더 관심을 기울일 필요가 있겠다는 생각도 든다.
이미 내 손에 쥐어져있다.
게임 서버 프로그래밍에만 온전하게 매진해 왔다고 생각했지만 문득, 이제와 내 모습을 되돌아보니 내 나름대로는 제너럴리스트
가 되어있다. 우리의 프로젝트 규모와 구조를 생각할 때 지금 내게 꼭 필요한 자질이기도 하고, 하필 그게 운명처럼 지금 내 손에 쥐어져 있기도 하다.
앞으로 어떤 문제를 만나든 모두 헤쳐나갈 것이다.
지금껏 그래왔듯이.