Posts Tagged ‘경력’

개발자의 길과 매니져의 길

Saturday, September 8th, 2007

개발자의 미래에 대해서, 나의 개발자로서의 미래에 대해서 이 블로그에 지금까지 몇 차례 정리를 했었다. 어떤 방향으로 나아가야할지 충분히 고민을 한 후에는 나에게 부족한 것이 무엇인지 알 수 있었다.

최근 구글 면접을 보는 과정에서 엔지니어로서 계속 성장할 수 있다는 믿음을 갖게 되었고, NHN에서도 매니져와 엔지니어로 역량을 구분해서 성장할 수 있도록 조직의 역량 체계를 개편했다. (아직 엔지니어 역량을 가진 사람은 거의 없다고 알고 있지만 아마도 ‘구루’라 불리는 그런 존재에 가까운 개념일 것이다.)

최근 나는 매니져의 역할보다는 개발자로서의 역할에 집중하기 위해 개인적으로는 중요한 결정을 내렸다. NHN에 입사한 후 파트장이라는 준매니져 역할을 맡고 있었으나 최근 ‘역할 순환 신청’을 통해 엔지니어로 성장할 수 있도록 개발만 하기를 희망한다고 의사를 밝혔고 결국 파트장의 역할을 그만두게 되었다.

한정되어 있지만 거의 유일한 성장 모델인 매니져를 포기하고 과연 어떻게 성장해 갈 수 있을까? 개발자 특히 웹 개발자가 발전해갈 수 있는 방향에는 어떤 것이 있을까?

지금까지 내가 생각해 본 역할을 정리하면 다음과 같다.

  • 아키텍트 : 큰 그림을 그릴 수 있으며 확장서 있고 견고한 모듈을 설계할 수 있는 전문가
  • 서비스 오리엔티드 개발자 : 복잡한 웹 개발 환경을 이해하고 다양한 경험을 바탕으로 서비스 이해도가 높은 개발자
  • 에반젤리스트 : 신기술과 새로운 변화를 빠르게 학습하고 조직에 전달할 수 있는 전문가
  • 고급 개발자 : 전문으로 하는 분야에 대한 깊은 지식과 세부적인 문제 해결 능력을 가진 전문가

이 외에도 다양한 가능성이 있을 것이고 아마 복잡적인 능력이 요구될 수도 있다.

과연 내가 원하는 모습은 어떤 것일까? 플랫폼과 같은 코어 개발을 담당하게 되면 서비스와는 동떨어지게 되고 큰 플랫폼의 일부만 알게 될 수 있다. 서비스 개발을 일정한 틀 안에 가두는 프레임워크 보다는 빠르고 유연하게 요구사항을 구현할 수 있는 환경과 기반을 만들어 줄 수는 없을까? 당분간 이런 고민은 계속 될 것 같다. 옳바른 방향을 정하고 꾸준히 노력해가야 한다. 무엇보다 행복한 개발, 유연한 사고를 기반으로 변화해 가고 싶다.

또 한 명의 개발자의 넉두리

Saturday, March 24th, 2007

최근에 다른 곳으로 회사를 옮기고 싶다는 생각을 많이 했다. 회사를 옮기고 싶은 가장 큰 이유는 5년, 10년 후에도 개발자의 길을 가고 싶기 때문이다. 그렇다면 지금 현재의 위치에서 5년을 보내면 어떤 모습이 될 것이라고 생각한 것일까?

현재 회사에서의 나의 모습은 Java 웹 개발자로서 개발자들을 위한 솔루션을 개발하고 있고 초급 매니저인 파트장 역할을 하고 있다. 그리고 약간의 초급 Java 테크니컬 리더 역할과 Agile 코치 역할을 하고 있다. 서비스를 개발하고 있지는 않지만 5년차의 일반적인 웹 개발자와 크게 다르지 않은 모습이다.

일반적으로 개발자라 하면 경력이 쌓이면서 다음과 같은 역할로 이동해 간다. manager, old aged developer (software engineer), architect, consultant …. 그리고 한국에서는 sales man, marketer, planner, 전직, 창업 등의 선택도 많은 것으로 알고 있다. 이중에서 내가 선택하고 싶은 것은 아마도 old aged developer 또는 architect 일 것이다. 그런데 지금 회사에 old aged Java Developer가 있는지 모르겠고 경력 10년차의 architect도 보지 못했다. 대부분의 웹 프로젝트는 서비스 개발 담당자가 설계를 담당하고 있고, 차장급(10년차)이라면 대부분 팀장이 되서 manager 역할을 수행하고 있다.

여기서부터 내 고민이 시작된다. 그렇다면 나는 어떻게 해야 내가 원하는 역할을 할 수 있을까. Java Skill을 쌓으면 되는 것일까? 아니면 또 다른 방법이 있는 것일까? 이 방법을 모르기 때문에 다른 대안을 모색해 보게 되었다.

첫째는 내가 원하는 모습을 적극 지원해주는 회사로 이직하는 것이다. 그런데 아직 국내에서 개발자로 계속 성장해 갈 수 있는 회사에 대해 들은 적이 없고 결국 외국 회사를 선택해야 한다.

또 다른 방법은 회사가 원한다면 manager의 역할로 성장해 가는 것이다. Java Skill 보다는 관리 역량을 키우고 커뮤니케이션 능력을 키워야 할 것 같다.

그런데 이 두 가지 선택 모두 걸리는 문제는 전공자가 아니라는 것이다. 그래서 또 다른 선택은 대학원에 진학하는 것이다. 사실 대학원에 가고 싶다는 생각을 하게 된 것은 다른 이유 때문이다. 요즘 Java 공부를 하다 보니 점점 모르는 것들이 많아지고 Java 기술에도 너무 다양한 기술 분야가 존재하기 때문에 결국 하나의 분야를 선택해서 깊이 있게 공부할 필요성을 느끼게 됐기 때문이다. 하지만 외국 회사는 개발자에게 당연하게 CS 학위를 원하고 있고 manager 역할을 하게 되도 학위가 중요할 것 같다는 생각 또한 강하게 들고 있다.

물론 국내에도 차니토비 같이 개발자로서 꾸준히 멋진 활동을 하고 있는 분들이 많은 것을 알고 있다. 결국 중요한 것은 본인의 실력인지도 모른다. (사실 실력 또한 증명하기 위해서 다양한 활동을 요구한다. 책 집필, 유명 프로젝트 활동, 경력 등등) 여전히 나의 고민은 계속 되고 있다. 정봉스님 말씀처럼 시간과 공간이 의미가 없는 무량 세계에서 진리를 찾기 위해서는 바로 지금이 이 순간이 가장 중요한 것이 아닐까.

골든 에이지

Thursday, November 30th, 2006

이번 OOPSLA에서는 많은 경험을 할 수 있었다.
(물론 이전의 경험으로 얻은 식견은 더 많은 경험을 약속하는데 그런점에서 내 경험은 매우 미약하다고 할 수 있다.)

Agile, OOP, Ultra Large Scale System, System Design, AOP 등등 많은 주제에 관한 토론과 발표를 접했고 다양한 개발자들을 만나볼 수 있었다. (이런 만남 또한 언어적 한계로 큰 제한이 있었다. 언어와 경험…. 아마 다음 기회에는 많이 달라질 수 있다고 생각한다.)

하지만 이런 지식을 떠나 처음 해외 컨퍼런스를 참가하는 사람들은 꼭 한번 느끼게 되는 ‘백발이 성성한 개발자‘에 관한 느낌을 얘기하고자 한다.

OOPSLA는 1986년에 처음 시작된 후 20년간 매년 OOP의 발전과 함께 성장해온 컨퍼런스이다. 그래서 OOPSLA 컨퍼런스 참가자는 몇번째 OOPSLA 참가인지, 얼마나 오래된 OOPSLA old member인지에 따라 다른 느낌을 전달받는다.

특히 GoF를 비롯한 이미 30년 이상 프로그래머로서 명성을 쌓아온 많은 개발자들을 만날 수 있는데, 이들은 Golden Age로 불리며 새롭게 프로그래밍을 공부 시작하는 학생들에게 많은 존경을 받고 있다.

그렇다면 이들은 30년이 넘는 경력 동안 과연 어떤 일을 했고, 지금은 어떤 모습으로 남아있는 것일까?

ULS System 발표를 진행하면서 Linda가 청중들에게 직업을 물어보았다.
programmer?, architect?, manager?, consultant?, educator? 많은 사람들이 이 질문에 하나 이상 손을 들었다.

programmer + architect + manager인 사람도 있고, programmer + consult인 사람, 그리고 manager + educator 등등 모두들 다양한 일을 하고 있었다.

위의 경력중에서 몇 가지 한국과 다른 특이한 점이 발견됐다.

  • 관리직을 하면서도 프로그래머와 설계를 같이 하는 사람이 많았다.
  • 컨설턴트를 직업으로 하는 사람이 상당히 많았다. 특히 Agile Consultant가 매우 유망한 직종으로 보였다.
  • 프로그래머의 마지막 모습으로 교육자가 많았다

첫째로 한국과 달리 관리직이 된다는 것이 개발자로서 경력이 끝나는걸 의미하지 않고, 상급 개발자로서 경력을 계속해가는 모습이였다. 한국 IT는 아직도 발전단계라고 생각하는데 훌륭한 개발자들이 계속 발전할 수 있는 환경이 필요하다고 생각했다.

둘째로 컨설턴트가 많았는데, 컨설턴트는 나이 많은 개발자부터 젊은 개발자까지 다양한 연령대로 구성되 있었고, 4년차에 접어든 Agile Consultingd을 비롯해서 다양한 방면에서 활동하고 있었다. 개인적인 경험이 없어서 한국에서의 정확한 상황은 모르나, 하나의 직종으로 컨설턴트가 더 큰 규모로 발전하고 회사에서도 적극적으로 컨설팅을 받아 변화를 수용할 필요가 있다고 느꼈다.

마지막으로 가장 멋있게 다가온 건 교육자의 모습이였다. 물론 교육자가 대학 교수(박사 학위가 2개는 기본인 듯)인 경우가 많았지만 주변 아이들에게 레고 로봇 프로그래밍을 가르키는 MS 개발자를 비롯해 많은 senior 개발자들이 자신의 지식을 주변에 전파하려는 노력을 많이 하고 있었다.

결국 한국의 골든 에이지는 누가 만들어 주는게 아니라, 프로그래머 한명 한명이 만드는게 아닐까 싶다.

학문으로써 언어를 연구하고, 열정을 가지고 자신의 일에 최선을 다 한다면, 그리고 마지막으로 자신의 지식을 모두와 함께 나눈다면 10년 후에는 프로그래머에게 더 밝은 미래가 있을거라 믿는다.