C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[11856] Re:만약에 이직을 고민한다면요.....
박지훈.임프 [cbuilder] 2687 읽음    2006-06-13 08:08
집사람이 자바 컨설턴트라서 그쪽 사정은 좀 알죠. (자바쪽에서 컨설턴트라는 타이틀은 그리 대단한 건 아닙니다)
분명히 SI쪽에서는 자바가 압도적인 대세인 것은 분명합니다. 보수도 좀 더 센 편이구요.

하지만 일반 개발자로서는 거기까지가 한계입니다. 같은 웹 계열이라도 php나 asp와는 달리 자바 프로젝트는 중/대규모 프로젝트인데, 여기서는 개발자는 코더일 뿐 대부분은 관리자가 될 수 없습니다. C++이나 델파이 프로젝트에서는 전체 설계와 함께 코딩 테크닉과 개인적인 경험이 많이 필요하지만, 자바 프로젝트에서는 오직 설계만이 핵심입니다. 구체화된 방법론 아래 체계적으로 짜여진 설계에 맞춰서 코딩하다보면 개발자 개인의 색깔이 전혀 나올 수가 없고, 그래서 개발자를 수시로 갈아치워도 표준 규격 나사처럼 며칠만 돌리면 프로젝트가 굴러갑니다. 자바가 일정과 설계가 중요한 SI에 유리한 것도 이런 이유입니다.

물론 자바에도 테크니컬한 부분이 꽤 많이 있습니다만, 절대적으로 SI에 의존하는 만큼 고급 테크닉들이 프로젝트에서 별로 인정을 받지는 못하는 것으로 알고 있습니다. SI에서 성능 최적화라든지 특이한 기능 구현 등의 테크닉은 전혀 중요하지 않을 뿐더러 어떤 경우에는 오히려 마이너스가 되기도 하거든요.

자바 개발자가 보수가 센 것도 약간의 거품이 있습니다. 자바 개발자 구인을 잘 보시면 아시겠지만, 대부분 계약직이거나, 정규직이라도 자주 교체되기 때문에 사실상 계약직에 가깝습니다. 개발자는 대부분 프로젝트 핵심이 아니라 코더로 쓰기 때문에 계약직으로만 100% 채워서 프로젝트를 할 수도 있습니다. 고용보장이 없는 계약직 개발자에게는 보통 정규직보다 몇십 퍼센트를 더 주는 걸 감안하면, 자바 개발자가 보수를 더 받는 데에는 거품이 많죠.

집사람도 자바 개발자는 필요하면 수시로 면접봐서 뽑고, 또 금방 나가면 또 면접봐서 뽑습니다. 집사람을 통해서 안면이 있는 여러 자바 엔지니어들중에는 개발자도 몇몇은 있지만 보통 대우를 제대로 받지도 못하고 크지도 못하더군요.

자바 SI쪽은 일거리는 충분히 많으니 당장 밥벌이에는 다른 어떤 분야보다도 압도적으로 유리한 것은 확실하지만, 성장하고자 하는 개발자에게는 별로 권하고 싶지 않네요. PM이나 모델러, 아키텍트 등 관리자로 성장하는 경우도 적고 또 고급 개발자라는 개념 자체가 별로 정립이 안되는 자바의 특성상 40대가 넘어서도 계속 코더에 준하는 개발자로 남아있기도 어렵지 않을까 싶습니다.

자바 얘기는 그만하고...

개발자.. 아니 엔지니어 모두에게 직장의 선택에서 가장 중요한 것은 커리어 패스입니다. 물론 다른 많은 분야보다 IT 업계의 역사가 훨씬 짧다보니 아직 커리어 패스가 제대로 정립이 안되어 있습니다만, 그래도 최소한의 경력 관리의 개념은 있습니다.

젊을 때는 돈 몇백쯤 더 받을 수도 있고 못받을 수도 있습니다. 하지만 30대로 넘어가면 사람을 키워주고 먹여살리는 것은 경력입니다. 이것저것 조금씩 해본, '발이 넓은' 경력은 초급 개발자로나 유리한 경력이지, 30대 중반을 넘어가면 자랑할 일도 못되고 유리하지도 않습니다. (물론 저 정도의 보통 개발자를 넘어서는 소수의 탁월한 개발자에게는 다를 수도 있겠습니다)

아주 특별하지 않은 거의 모든 개발자의 경우, 경력은 한 우물을 쭈욱 파나가야 합니다. 30대 중반쯤에 누가 경력 기술서를 보더라도 전문인으로서의 경력이 느껴지면 다른 약점이 조금씩 있더라도 선발하고 싶고 또 약간 과한 연봉을 요구하더라도 일단 협상을 해보고 싶은 인재가 되는 것입니다. 이 분야 저 분야 힐끗거리면서 조금씩 해보는 생활은 초급 개발자 시절에는 반드시 필요한 귀중한 경험이지만, 스스로 중급으로 올라왔다고 생각하거나 중급으로 가고 싶다면 경력 관리를 시작해야 합니다.

30대 딱 중간에 이른 지금도 많이 느낍니다만, 40대, 50대에도 계속 개발자로 남아있고 싶은 저로서는 지금조차도 연봉은 별로 중요하지 않습니다. 그게 연봉으로는 별로 많이 받지도 못하는 지금 회사에 남아있는 이유입니다. 지금 다니는 회사의 경력은 다음에 할 일의 발판이니까요. 발판으로서 많은 경험을 할 수 있는 회사라고 생각하기 때문에 다니고 있는 거죠.

사실 말은 이렇게 해도 저도 그렇게 열심히 한 우물만 파지는 않았고 앞으로도 그럴 겁니다. 스스로 개발자로서 희망하는 비전이 있어서 개발자가 되기로 했던 만큼 기술적인 욕심은 많거든요. 하지만 어디까지나, 전공과 부전공 정도의 개념이지, 욕심많은 저로서도 이것저것 잡다하게 다 접해볼 생각은 없습니다. 그런 중구난방식 욕심부리기가 제 미래에 독이 될 거라는 건 알 만큼의 경험은 쌓았으니까요.


C++빌더와 델파이는 당장은 자바나 비주얼 C++같은 경쟁 언어, 기술에 비해 시장이 적은 것은 사실입니다. 하지만 현재는 잠깐의 정체기일 뿐이라고 봅니다. 여러가지 면에서 C++빌더/델파이는 성장 가능성이 아주 큽니다.

먼저 Win32 플랫폼. 아시다시피 C++빌더/델파이는 현재 Win32 개발을 계속 지원하고 있고 향후 수년간의 Win32/Win64 지원 로드맵까지 세워놓고 있을 정도로 윈도우 네이티브 개발에 있어서 현재로서는 가장 강력하게 지원하는 개발툴들입니다.

다음으로 리눅스. 리눅스는 닷넷보다 성장 속도가 빠르고 우리나라의 경우에는 정책적으로 리눅스 도입을 장려하고 있으며 최근들어 더욱 가속화되고 있습니다. 아시다시피 C++빌더/델파이는 같은 소스로 리눅스의 카일릭스에서 그대로 컴파일이 가능합니다(Win32 코드 직접 호출만은 제외). 볼랜드에서 개발툴로 분사하는 DevCo는 최근 몇년간 업그레이드가 중단되어 있던 카일릭스를 부활시키려고 계획하고 있고요. 게다가 카일릭스의 MacOS 지원 버전까지 거론되고 있는 상황입니다.

그리고 닷넷. 리눅스와 마찬가지로, 현재 델파이 소스는 닷넷에서 그대로 컴파일 가능합니다. C++빌더도 곧 닷넷을 지원할 예정이고요. MS쪽 개발툴에서는, VB의 경우에는 아예 호환이 전혀 안되고, VC의 경우 MFC가 닷넷에서도 사용가능하다고 듣기는 했으나 Win32 의존성이 강한 MFC의 특성상 허울뿐일 것은 뻔하죠. 반면 VCL의 경우 성능을 거의 희생시키지 않으면서도 Win32에 대한 추상화의 수준이 높아서 Win32/닷넷 상호간에 마이그레이션이 대단히 쉽습니다.

따라서 C++빌더와 델파이는 기본적으로 전혀 다른 세개의 메이저 플랫폼에서 소스 레벨 호환성이 생기는 겁니다. 이것은 엄청난 장점입니다. 리눅스 시장이 성장하면 할 수록, 또 닷넷 시장이 성장하면 할 수록 오히려 C++빌더/델파이의 장점이 더 빛나게 됩니다. 물론 완전히 다른 세가지 플랫폼을 다 익숙하게 활용할 개발자는 별로 많지 않겠지만, 자신의 경력이나 전문 분야에서 많이 쓰이는 둘 정도의 플랫폼에서 왔다갔다 하면서 개발을 하는 모델은 충분히 가능합니다. 또 개발업체의 입장에서도 동일 소스로 세 플랫폼용의 제품을 출시할 수 있게 되므로 역시 대단한 매력이 됩니다.

인생은 길지요. 3, 4년 정도야 쏜살같이 지나갑니다. 제 생각에는 3, 4년쯤 지나더라도 SI 개발에서의 자바의 압도적인 우위는 별로 변함이 없겠지만, 리눅스가 상당히 많이 성장해있을 것이고, 닷넷도 나름대로는 꽤 시장을 개쳑하겠지요. (지금까지 리눅스가 닷넷보다 성장속도가 빨랐고, 제 생각에는 앞으로도 그런 추세가 계속될 것으로 보입니다) 그래도 여전히 Win32 윈도우가 가장 많이 쓰이고 있을 겁니다. 지금처럼 압도적이진 않겠고요.

여러 플랫폼이 누구도 압도적인 우위를 점하지 못하고 혼재되는 상황에서는, C++빌더/델파이의 멀티 플랫폼 지원이라는 장점이 더욱 더 주목받게 될 것임은 뻔하겠지요? 장담할 정도는 아니지만, C++빌더/델파이가 차세대 주류 개발툴이 될 가능성도 무시할 수 없을 정도로 충분히 있다고 생각됩니다.


진로 선택에 있어서, MFC는 최악의 선택이라고 생각됩니다. 그야말로 사장될 기술이니까요. MS가 기를 쓰고 죽이려는 Win32의 '화신'인데다가, Win32에서 대표주자였던 VC의 위치는 닷넷에서는 엑스트라로 전락해버렸습니다. 여러 기사들을 보면 MS에서조차도 그런 질문을 받고는 부인하지 않더군요(심지어 지난달 마소에 실린 기사에서는 수년전까지 우리나라에서 가장 유명한 VC 개발자들 중 한사람이었던 사람이 그런 얘기를 하더군요. 그것도 VC의 닷넷 매니지드 확장을 소개하는 기사에서 말입니다). Win32에서의 VC나 VB 개발자는 모두 닷넷 C#으로 끌어가기 위한 '집중 영업 대상'일 뿐, 지금의 MS에게는 아무런 의미가 없습니다.

VC 개발자들이 C#으로 많이 넘어가고 반발이 좀 사그라들면 VC 툴 자체를 단종시키고 C#으로 '후보 단일화'를 단행할 것은 뻔하게 보이는 스토리입니다. (이런 걸 '안봐도 비디오'라고 하죠) C# 개발자들야말로 닷넷의 숙적인 자바와 박치기를 시킬 MS의 도구로서 대단한 가치가 있거든요. 또 MS의 그런 모습은 과거에 폭스프로에서도 봤고, VB에서도 봤고, 다른 사례도 수없이 많죠.

MS가 VC를 버리는 시점은 '언젠가' 닷넷이 완전히 대세가 된 후가 아닐 겁니다. 적당한 시점에 전격적으로 추진할 겁니다. MS는 VC 개발자들을 우선 고려하는 것이 아니라 닷넷 확산이 최우선이기 때문에, VC 개발자가 완전히 소수가 되거나 반발이 거의 없어질 시점이 아니라, 닷넷을 위해 필요한 시점에 결행할 것입니다. 닷넷이 대세가 되는 것은 아주 먼 미래일 수 있지만, VC 개발자들이 깡통차고 첨부터 새로 공부해야 하는 시점은 머지 않을 수가 있는 겁니다.

딴 얘기지만... 아직도 VB닷넷을 VB라고 우기는 사람도 가끔씩 있긴 하더군요. 아무리봐도 VB닷넷은 C#의 배리에이션, 변주곡 정도밖에 안되는데 말입니다. 하지만 아직도 완전히 다른 언어인 VB 닷넷이 아닌, 원래의 VB를 계속 출시해달라는 탄원 서명 운동이 계속되고 있지요. 과거에 MS의 매몰차게 제품을 단종시킨 많은 사례들을 알고 있으면서도 수년째 MS에게 졸라댈 수밖에 없는 그 심정, 참 불쌍하기 그지없습니다. 업계 전체에 엄청난 이슈가 되었는데도 MS는 오로지 모르쇠입니다. 다수 고객들이 간청을 하든 말든 전략에 맞지 않으면 여지없이 단종시켜버리는 기업, 그게 MS입니다.
http://classicvb.org/petition/

MS가 닷넷 2.0에 제네릭을 왜 추가했을까요? VB 개발자들이 원했나요? 경쟁 진영인 자바쪽 개발자들이 제네릭에 목을 걸었나요? 아니죠. 많은 VC 개발자들이 C#을 무시하는 많은 이유들 중 하나가 STL이기 때문입니다. 그것만 봐도 MS가 VC 개발자들을 C#으로 유도하려고 많은 노력을 하고 있다는 걸 알 수 있죠. MS가 현재 VC에 들이고 있는 노력들은 두가지의 목적이 있습니다. 첫번째, Win32의 주역이 닷넷에서 엑스트라가 되어버린 마당에 VC 개발자들의 이탈을 최대한 막는 것. 두번째, 일단 바짓가랑이를 붙잡아놓은 개발자들을 최대한 C#으로 이동시키는 것.


주저리주저리..
둥이네님의 진로선택에 조언 한마디한다는 게 오랜만에 잡썰을 한참 늘어놔버렸네요.
그래도 좀 참고는 되겠지요. ^^;;;;
둥이네 [grin79]   2006-06-13 09:46 X
^^  명쾌한 답이네요...
계속 일하면서 좋은 자리 날때까지 참아야 할듯 하겠네요.....
음..... 철새 인생은...^^; 저랑은 안어울릴듯....
조언 감사 드립니다.
어제 저녁까지도 SI 에 솔깃 했습니다.
遠野 [tohnokanna]   2006-06-13 14:05 X
VB.net 을 VB라고 우기는사람은 VB를 거의 써보지 않은사람이라고 감히 단정할수 있겠습니다 =_=; VB를 쓰다가 Delphi 로 넘어온 제가 .net이 나온시점에서 C#,VB.net,Delphi.net 을 공부해봤지만.. VB.net 은 VB가 아니었습니다 ㅡ.ㅡ
박지훈.임프 [cbuilder]   2006-06-14 14:04 X
노파심에 덧붙이자면...
무조건 SI가 안좋다고 말한 것이 아닙니다. 제가 지금 하고 있는 것도 SI 개발이죠.

다만, 자바에 기반한 SI 프로젝트의 경우 개발자를 키워주는 경험으로서의 가치가 많이 부족한 경우가 많다는 것입니다.

개발 업체의 입장에서 봤을 때 SI 프로젝트의 '이상'은 최대한 정형화하고 최대한 설계에 따르고 최대한 기간을 엄수하는 것입니다. SI는 보통 4~5개월에서 길어도 2년 정도의 프로젝트인데, 그런 이유로 개발 업체는 한 프로젝트를 진행하면서 다음 프로젝트들을 미리 수주해놓으려고 합니다. 그래야 밥줄이 끊어지지가 않으니까요. 그러려면 고객사의 요구 외에도 다음 프로젝트를 일정에 맞춰서 착수하려면 진행중인 프로젝트를 일정에 맞춰 끝내야겠죠?

자바는 이런 SI의 특성을 가장 잘 충족시키는 환경입니다. 자바 언어 자체도 그렇지만, 이미 자바 기반 SI 프로젝트에서는 정형화된 방법론이 거의 완성되어 있어서 그에 따라 프로젝트를 진행하는데요. 그런 방법론들은 대부분 테크니컬한 부분이 아니라 코드와는 무관한 설계 중심이기 때문에 개발자가 핵심적 위치에서 밀려납니다.

저 역시 현재 델파이와 C++빌더로 SI 프로젝트를 진행하고 있습니다만, 외주 개발이 아니라 직원으로서 자체 개발하는 형식이기 때문에 개발자가 일반적인 SI 프로젝트에서 겪을 수 있는 여러 문제들은 많이 겪지 않고 있고요. 또 델파이와 C++빌더 기반이고 제가 직접 바닥의 프레임워크부터 모두 설계했기 때문에 테크니컬한 부분도 여전히 중심입니다. 코드를 배제시키는 일반적인 방법론들은 많이 배제했고요.(자세히는 알지도 못합니다만)

델파이와 C++빌더 기반이라고 해도 SI 프로젝트가 '잘' 되려면 핵심 아키텍트가 아닌 개발자들에게는 코딩의 재량권을 최대한 낮춰야 하는 것은 마찬가지입니다. 프로젝트에 참여하는 일반 개발자들에게는 코더의 위치를 못박을 수밖에 없지요. 하지만 자바와의 차이점은, 핵심 아키텍트가 코딩을 전혀 하지 않는 설계 전문가가 아니라 역시 개발자이기 때문에, 코더 개발자라도 아키텍트로 커갈 수 있다는 점입니다. (이 부분은 예전에도 몇번 더 자세히 쓰기도 했습니다)

또 장황해지는데...
정리하자면, SI 프로젝트의 특성상 개발자가 어쩔 수 없이 감수해야만 하는 부분도 있지만, 자바 기반 SI 프로젝트가 개발자에게 더 상황이 나쁜 것은 개발자는 대부분 영원히 코더일 뿐 아키텍트 등의 관리자급으로 성장하기가 힘들다는 점이라는 것입니다.
허광남 [kenu]   2006-06-19 20:17 X
박지훈.임프님 좋은 글 잘 보았습니다.
SI(SIbal의 이니셜?) 특성상 java가 잘 맞는지도 모르겠습니다.

프로그래밍은 중학교 때부터 시작했지만 밥벌이로 시작한 게 자바입니다.
그때는 행복하게 프로그래밍할 수 있었지만,
돈 벌이를 위해서 남이 원하는 스펙에 맞춰서 하는 일은 만족도가 심하게 낮습니다.
언어적인 특성을 간과할 수 없지만,
직업적인 프로그래머는 대부분 "힘들다"가 제 개인적인 생각입니다.

OOP의 부족함을 채워주는 AOP같은 새로운 개념의 프로그래밍 기술들이 나오고 있지만, 벌어먹는 프로그래밍에 언제부터 본격적으로 쓰일지는 모르겠습니다.

두서없이 몇자 적었는데,
프로그래머가 생각이 없다면 그보다 불행한 일은 없을 것 같습니다.
좋아서 하는 일이라고 계속 저 스스로 되뇌어 봅니다.
우연히 referer 따라왔다가 흔적 남기고 합니다.
영롱 [totop]   2006-07-18 16:17 X
저같은 경우엔 취미(죄송합니다^^) 로 코딩을 하다보니, 돈벌이를 위해 코딩을 하는 분들의 스트레스는 사실 잘알지 못합니다. 하지만 얼마전 코딩을 좀 알줄 안다고 자랑삼아 떠벌였다가, 가까이 아는 분으로 부터 프로그램 제작을 약간의 돈과 함께 의뢰 받게 되었습니다. (자바 웹어플리케이션 서버에 클라이언트는 Swing 기반 으로 접속후 사용) 뭐 처음에는 가욋돈 생기는 일인데 기꺼운 마음으로 받았죠! 그런데, 이 돈이 곧 족쇄가 되더군요.

  그 전에는 몰랐는데, 돈을 받고는 납품날짜를 잡고 코딩을 하다 보니, 걸리는게 한두가지가 아니었습니다. 약속날자를 맞추기 위해 밤샘을 한것이 몇날이나 되었는지,  나중에는 이도 저도 다포기하고 돈을 돌려주고는 없던일(?)로 하고 싶은 생각마저 들더군요.

하지만 그동안 투입한 시간과 노력이 너무 아까워 끝까지 완료하여, 납품후 무사히 잘돌아가는 것을 본후에는 약간의 긍지감 마져 들더군요.

  한 15여년 전쯤 프로그래머와 다른 직업 사이에서 방황을 잠시 한적이 있는데,  프로그래머로서의 험난한 인생을 간파(?) 한 당시 과감히 다른 직업을 택했었고, 간간히 내가 프로그래머였으면 어땠을까? 하는 생각을 해보곤 했는데, 이번 프로그램 제작건으로 밤샘을 하던 날들을 생각하면, 직업적으로 코딩을 하는 분들은 어떨까? 하는 생각에 이르면, 솔직히 전 하고 싶지 않더군요. 

  제가 비록 자바의 겉껍데기만을 살짝알고 덤벼서인지는 모르겠지만, 제느낌과 IT계통의 친구말을 들어보면, 적어도 우리나라에서는 프로그래머가 어떤 언어, 어떤 도구를 선택하든 성장성, 정신 노동의 강도, 스트레스 이런것들은 모두 거기서 거기가 아닌가 하는 생각입니다. 

배치기의 "젊은이의 양지" 인가요? 그곡이 생각나네요. "그레도 배운게 도둑질인데 내무덤 내가 판볼레...." 하는 구절이요...

정말 하루 빨리 "해볼만한 직업"으로서의 프로그래머 세상이 되었으면 합니다.



+ -

관련 글 리스트
11854 만약에 이직을 고민한다면요..... 둥이네 2141 2006/06/12
11856     Re:만약에 이직을 고민한다면요..... 박지훈.임프 2687 2006/06/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.