병특한지도 벌써 2개월 1주가 지났습니다.
그간 작업한걸 돌이켜 보면..
- 모 대기업 사이트 유지보수(asp + ms-sql + iis)
- 모 중기청 관련 사이트 신규오픈 추가 투입(resin + velocity + oracle + ibatis + spring framework + jQuery)
- 모 대기업 사이트 유지보수(asp.net + ms-sql + iis)
- 모 협회 사이트 리뉴얼(php+mysql)
기타 잡다한 일들도 있었지만, 대충 이런 작업을 해왔었습니다. 웹의 3대 언어인 asp,php,jsp(velocity) 와 3대 DB인 ms-sql, mysql, oracle 을 작업했었네요.
솔직히 제 실력이 아직은 그렇게 높은 편이 아닌지라.. 그냥 기존에 가지고 있던 지식을 활용해서 작업했었는데, 무엇보다 웹 사이트 제작에 있어서 회원 관련 부분은 많은 이해가 갔습니다.
모 중기청 사이트 유지보수 때에는 정말 새로운 것을 접하게 되어서 정말 재밌게 했었는데, php작업을 하면서 뭐라그럴까.. 솔직히 php는 조금 얕보고 있었는데 실제로는 php가 생각보다는 간단하지는 않더군요. 역시 인터프리터 언어라서 일까요, 컴파일러완 다른 디버깅 환경에 익숙해지기가 참으로 애매했었습니다.
그래도 저는 이번 자바 관련 작업이 가장 즐거웠습니다. spring framework 를 사용한 작업.. 아, 이건 뭐 환경설정 부분만 잘 해결한다면 코딩에서는 크게 신경쓸 부분도 없더군요. 예전처럼 DB풀 매니져나 객체 관련해서는 신경쓸 필요도 없고.. 디자인 패턴이라는 것을 그냥 그대로 제대로 활용해서리 개발자가 정말 개발자가 맞나? 싶을 정도의 의아함이 들었었습니다.
여튼 이러저러한 작업을 통해 제가 배운 것.
1. 개발자는 두꺼운 레퍼런스 북을 통달할 필요는 없다. 개발자는 오로지 자료구조, 알고리즘(정렬,탐색,재귀호출 정도) 그리고 기본 문법만 알고 있으면 된다.
2. 플랫폼과 언어의 기본(특히 C같은 컴파일 언어나 C++같은 객체지향 언어, vb같은 인터프리터 언어, php같은 웹 인터프리터 언어) 만 안다면 각 언어들에 대해 깊이 공부할 필요는(최소한 나한테는) 없다.
3. 실무에선 "잘 할수 있을까?" 라는 두려움보단 그냥 무조건 몸소 부딪쳐보는게 초스피드의 실력 향상의 지름길이다. 안되면 되게 하자.
4. 새로움을 추구하자. 옛 기술은 과감히 버려도 된다. asp 1.0 이나 닷넷 1.0 이런거 누가 사용하겠는가. (물론, 유지보수가 하고 싶다면야 상관없다.
5. 실무에선 초반에 유지보수를 통해 실력을 조금씩 검증해 보자. 유지보수는 추후에 간편한 아르바이트 건으로도 좋다.
6. 미래지향적인 프로그래머가 되자. 그리고, 진정 평생동안 개발만 할 것이 아니라면 꼭 완전히 올인할 필요는 없다.
물론 몇년이 지나고 제가 경력직이 된다면 이런 마인드가 바뀔 수 있지만, 최소한 당장 근 10년 내 컨설턴트를 꿈꾸는 입장에서 제게는 이러한 정도의 프로그래밍에 대한 마인드가 있다면 충분하다고 느꼈습니다.
여튼 뭐 3~4월달쯤에 제 미래에 대한 많은 고찰 도중, 여자친구가 알려준 "타인의 커리어 패스를 관찰해 보아라" 라는 말을 듣고 한번 직무에 대해 열심히 서칭하던 적이 있었습니다. 그때 발견한 것이 한국 소프트웨어 진흥원에서 추진했던 [ SW 직무수행 능력 표준, http://www.software.or.kr/biz/sw_mam/d_3/4/index.html 참조] 라는 것이 있었습니다.(참 우리나라 대단해요..;)
무슨 지원 사업이라든지.. 이런게 많은 것 같긴 한데, 다른것보다 이 사이트에서 제공한 표를 보면
[SW직무수행능력표준 구조]![]() | |||
[IT서비스분야 직무분류체계]![]() | |||
[패키지SW분야 직무분류체계]![]() | |||
[임베디드SW분야 직무분류체계]![]() | |||
이런식으로 각 직무를 레벨별로 나누고(레벨에 대한 자세한 문서는 사이트 내 pdf파일에 있습니다.) 이를 위해 자신이 공부해야 할 것들이라든지, 어떤 직무를 타고 올라가야 자신이 원하는 직무에 도달할 수 있는지 등을 나름 구체적으로 보여주고 있더군요.
허나, IT산업이라는게 뜻대로 되면 얼마나 좋겠습니까. 그러기가 쉽지는 않지요.. ㅎㅎ 여튼 저는 이 문서를 통해 SW개발자 -> pm+아키텍쳐 -> 컨설턴트 라는 4단계의 개인적인 직무 프로세스를 확립했고, 조금 더 구체적으로는 아래와 같이 생각을 해보았습니다.
SW개발자(병특기간)
- 병특 기간이 2012년 3월까지이므로, 이 기간동안 최소 2개의 큰 프로젝트와 작은 유지보수,프로젝트 등을 진행한다.
- 왠만하면 차세대 웹2.0 기반의 기술을 지향하도록 하고, 자바에 중점을 두되 닷넷 기반의 작업도 소홀이 하지 않는다.
- 회사 프로젝트 이외에 개인 프로젝트를 통해 웹 기획에 대해 공부해 두도록 한다.
- 매월 다른 팀과의 작업을 통해 pm, 디자이너, 기획자, PL등의 직무에 대한 성격을 파악하고, 특히 PM에 대해 잘 파악을 한 다음에 회의진행, 스케줄 관리, 자원 관리 등을 파악하여 기록하도록 한다.
- 특히, 모바일 프로젝트가 있으면 반드시 참여하도록 한다.
- 개인 프로젝트를 통해 최소 1~2개 이상의 모바일 관련 작품을 만들도록 한다.(특히 PIMS나 웹서비스 연동과 관련된)
SW개발자(학업기간, 1인창조기업 기간)
- SW개발자 <-> PM 이전에 학교를 다녀야 하기 때문에 1인기업을 통해 외주 및 재택작업을 하면서 개발쪽의 실력이 녹슬지 않도록 한다.
- 1인창조기업을 하면서 직접 회사를 설립해 보고, 예전 경험을 살려 회사를 창업부터 폐업까지 회계/영업/마케팅 등을 직접 배우도록 노력한다.
- PM과 아키텍쳐를 동시에 할 수 있을지는 모르겠지만, 기획PL과 프로그래밍PL이 할 수 있는 설계(ERD나 Visio를 통한 기획.. 등)은 모두 가능하도록 한다.
- 1인창조기업 경험을 살려 자금관리, 스케줄관리, 사업계획서, 프로젝트계획서 등을 능숙하게 할 수 있는 실력이 되도록 한다.
PM + 아키텍쳐
- PM은 20대 후반에 진입하도록 한다. 우선 10명 이하의 작은 팀을 관리하며 웹 서비스 개발에 중점을 두도록 한다.
- 추후 아키텍쳐로 나아가기 위해 오로지 PM만 하지 않고 프로그래밍 개발 쪽에도 참여하도록 한다.
- 특히 PM을 하면서 디자인, 기획 쪽의 업무에도 항상 신경을 쓰도록 하며, 하나의 웹 서비스 정도는 혼자 기획할 수 있을 능력이 되어야 한다.
- PM과 아키텍쳐를 동시에 할 수 있을지는 모르겠지만, 기획PL과 프로그래밍PL이 할 수 있는 설계(ERD나 Visio를 통한 기획.. 등)은 모두 가능하고 실제로 할 수 있도록 한다.
- 1인창조기업 경험을 살려 자금관리, 스케줄관리, 사업계획서, 프로젝트계획서 등을 능숙하게 할 수 있는 실력이 되고 실제로 할 수 있도록 한다.
개인적으로는 모바일과 웹에 전문화(최적화)된 컨설턴트를 바라고 있습니다. 특히, 저는 대규모보다는 개인에게 맞출 수 있는 컨설팅을 또한 바라고 있구요.
참으로 경영인으로써 나아가야 할 길은 한도끝도 없는 것 같습니다. 하지만, 제가 최고가 될 것이라는 자부심 하나로 저는 나아가고 있기 때문에.. 이러한 과정들을 잘 견뎌나갈 것이라 믿고 있습니다.
가장 중요한 것은, 거창한 목표와 수반되는 로드맵은 좋지요. 허나, 이 미래의 성공한 모습을 바라보고 얼마나 끈기있게 그 미세한 작은 단계를 거쳐가느냐.. 그것이 사람의 성공을 좌우하는 요소가 아닐까 저는 느낍니다.
최선을 다하는 자가 아름답다. 프로그래밍에 대한 고찰에서 여기까지 생각이 오게 되었네요. 열심히 하도록 노력하는 아이지가 되도록 할 것입니다.















