최대한 많은 분들의 조언을 듣고, 최종적으로는 본인이 판단하셔야 하는 부분이라고 생각합니다. 이 전제 아래에서 개인적인 의견을 드려봅니다.
익히 경험하셨겠지만 우리나라는 전자정부프레임워크를 기반으로 하는 SI형 개발자들에 대한 수요가 제일 많습니다. 그래서 자바 기술 스택을 사용한다고 해서 딱히 더 유리한 것도 아닌 경우가 많습니다. (오히려 최신 자바 언어 스펙을 가지고 이야기하면 외계인 취급을 받기도 하고요)
그래서 지금 하고자 하시는 일의 분야가 무엇인지를 잘 생각해보셨으면 합니다. 그 때 그 때 맡은 일에 최선을 다하는 손재주 좋은 일꾼으로서의 개발자인지 (그렇다고 이것이 결단코 나쁘다는 뜻이 아닙니다), 아니면 본인의 커리어패스가 명확하게 설정된 특정 분야에 최적화된 개발자인지에 따라 회원님을 찾는 곳도, 우대하는 곳도 매번 다를 것입니다.
지금까지 "무슨 분야에서 어떤 일을 해오셨는지"가 항상 제일 중요하다고 생각합니다. 단순히 "어느 기술 몇 년"이라는 방식의 경력 인정 제도는 전형적인 SI식 경력 판별법이고, 사실 그 맥락에서 냉정하게 말하면 닷넷은 단가가 낮습니다. 닷넷 뿐 아니라, 전자정부프레임워크나 요즈음 유행하는 빅데이터에 관련된 기술 스택이 아니라면 모조리 그렇습니다.
하지만 과연 그렇게 SI 분야에서 저평가 받는 기술이 IT 업계 전체에서 놓고 봤을 때 정말 무의미하고 값어치없는 기술인가하면 그건 절대 아니라는 것을 금방 아실 수 있을 것입니다. 예를 들어, 게임 엔진을 만드는 데에는 자바 계열 기술 보다 C++을, 요즈음 유행하는 모바일 게임에서는 C# 스크립트를 이용하는 유니티를 많이 보듯이요. 즉, "무슨 분야에서 어떤 일을 해오셨는지"에 대한 맥락 설정이 제일 중요합니다.
그런 맥락 아래에서라면 여러 기술을 사용해오셨던 것은 충분한 메리트가 됩니다. 반대로, 특정 기술만을 찾는 특정 기술 중심의 지상 주의, 우대가 만연한 조직이라면, 요즈음 흐름을 잘 따라가지 못하는, 경쟁력이 낮은 조직이라는 의미도 된다고 생각합니다.
먼저, 무엇이 목표인가 정확히 설정하시는 것은 어떨까요? 뚜렷한 목표가 있어야 그 목표에 맞는 전략을 세울 수 가 있습니다. 가령,
어떤 언어와 관련 기술을 배워야 하는가? 에 대한 물음은 무엇을 원하는가? 에 따라 다른 의견을 드릴 수 있습니다. 안정적인 직장이 목표라면, 보편적으로 사용하는 언어나 기술을 섭렵 하시는 것이 맞습니다.
그러나 높은 급여가 목표라면 다양한 방향의 전략이 필요합니다. 안정적인 직장과 더불어 높은 급여를 모두 취하는 것은 어떤 언어와 관련 기술을 택해야 하는가 정도의 준비로는 안됩니다.
안정적이지는 않지만 높은 급여를 목표로 한다면 희소성을 통해 목표를 달성할 수 있습니다. 이런 관점에서는 되려 경험을 쌓으신 .NET이 유리할 수도 있습니다. 물론, 안정적인 직장과 비슷한 맥락에서 취업의 어렵지 않음을 택할 수는 없습니다. 취업 활동은 좀 어려울 수 도 있어요. 하지만 그 결과는 나쁘지 않을 것입니다.
안정적이지만 상대적으로 높지 않은 급여는 보편적인 언어와 관련 기술을 택하는 것이 맞습니다. 우리나라의 경우 자바와 스프링 프레임워크와 관련 프론트엔드 기술들이 되겠네요. 하지만, 이런 선택으로 안정적이지만 높은 급여를 받을 수 있는 회사를 찾기란 어렵습니다.
안정적이면서 높은 급여를 받는 회사를 목표로 한다면 다른 관점 이여야 합니다. 저의 의견으로는,
언어 라던가 프레임워크 또는 라이브러리의 경험 자체가 중요한 것이 아니라 회사에서 필요로 하는 솔루션을 만들 수 있는 기술력을 보유하고 있는가를 증명할 수 있어야만 합니다. 그리고 그것에 준하는 정말로 실력을 갖추어야만 합니다. 이 실력은 비단 프로그래밍만 잘하는 것이 아니라 일을 잘하는 능력까지 포함입니다. 그리고 그것을 어떻게 어필 할 것인가 고민이 필요하고요,
업무 분석 및 분해, 구조적 설계 및 개발에 대한 전반적인 어필이 필요할 것으로 보입니다. 단순히 코딩만이 아니라요.
저는 프로그래머가 업무 뿐만 아니라 프로그래밍 자체의 호기심과 관심, 그리고 꾸준한 공부 자체를 즐겨해야 한다고 생각합니다. 그런 관점의 의견은 본인이 흥미로운 기술을 공부하고 습득하는 것도 나쁘지 않습니다. 그런 경험은 비단 그 기술을 익히는 것 뿐만 아니라 전체 프로그래밍 실력에 영향을 주게 되니까요. 하지만, 질문자님의 글만 봤을 때는 이 관점은 아닌 것으로 이해됩니다.
다시 정리하자면,
모든 것을 다 얻을 수는 없다. 지금 시점에서 달성 가능한 목표 설정이 중요. (높은 연봉 또는 안정적인 직장)
높은 연봉과 안정적인 직장 모두 잡을 수 있는 역량을 키워야 한다. 그러려면 언어를 선택하거나 관련 기술을 배우는 것 이상의 "전략"이 필요
높은 연봉을 선택했다면, 희소성에 따르는 열매를 따먹는 전략도 굿
안정적인 직장을 선택했다면, 보편적인 언어와 기반 기술을 습득할 필요가 있음
이와 별개로 회사가 아닌 개인이 관심 있고 재미를 느낄 수 있는 분야의 기술을 조금씩 공부하시는 것도 좋음 (장기적 관점에서)
현실적인 이야기를 좀 해보자면… 개발자는 뭐든 잘 할 수 있으면 좋겠지만, 결국 본인이 창업을 할 게 아니라 구직을 목표로 할 경우
최종적으로 무기삼아 내세울 수 있는 것은 해당 분야에 대한 경력입니다. 경력은 당연히 회사에서 어떤 업무을 했느냐를 말하는 것이구요.(취미삼아, 공부삼아 해본 걸 경력이라고 할 수 없죠.)
상황을 굳이 만들어보자면,
취업포탈을 열었어요. 들어가서 어떤 회사를 검색하실 건가요? 내가 가고 싶은 회사를 콕 집는 거 보다는 내가 가진 경력과 스킬로 갈 수 있는 회사를 검색하시겠죠?
뭘로 검색하시겠어요? 막막하시죠? 이거 저거 다 해봤는데, 이걸 경력이라고 할 수 있을지… 자신있게 지원하기 버튼을 누르기 쉽지 않죠?
그럼 이제 검색된 회사들을 보세요. 어떤 스킬과 경력을 요구하는가. SI 쪽 아니더라도, 회사가 서비스를 운영하거나 솔루션을 보유한 회사라면 더더욱 해당 분야에서 전문적인 경험을 가진 실력있는 개발자를 원할 겁니다.
이제 다시 회사들을 살펴보아요. 어떤 게 보이시나요? 대충 답 나오죠?
연봉은 나중 문제이고, 내가 시니어가 되었을 때 이직할 수 있는 시장이 있는가. 그것도 중요한 문제예요.
다른 나라라면 몰라도, 대한민국에서는 그냥 웹 프론트엔드 혹은 백엔드 그거 관련된 기술과 경력만 있으면 웬만하면 다 통합니다. 그 쪽 기술만 보고 달리면 됩니다.
굳이 닷넷이 아니라도 괜찮아요. 어쩌면 수요면에서는 닷넷이 더 불리할 수 있어요.
닷넷을 주력으로 사용하고 공부하는 건, 기술 스택을 닷넷 생태계에서 확장할 때 장점이 있지만, 실제 한국에서 다른 개발 언어나 플랫폼에 비해 수요가 많은 편은 아니에요.
그냥 자바스크립트 하나 자유자재로 다룰 수 있고, 자바스크립트를 이용하는 웹 기술만 잘 익히고 경력 쌓으면 취업 걱정은 안 해도 됩니다.
이 분야에 실력과 경험이 있다면, 시니어가 되어도 회사를 골라서 갈 수 있어요.(그만큼 수요가 많다는 뜻이죠.)
그런데 닷넷으로 뭔가 진로를 잡고 싶다면… 그나마 웹 쪽이면 좀 나은데 그마저도 웹이 아니라면…(근데 솔직히 취업 걱정하는 상황인데 웹을 굳이 닷넷으루…?)
그렇다면 취업 상의 이점은 버린다고 생각하고 시작해야합니다. 현실이 그래요.
그것도 10년차 이하 경력이면 그나마 좀 팔리긴 하는데, 10년 넘어가면 회사에서 리드급을 구하지 않는한 웬만하면 자리 없어요.
그래도 그 길을 가고 싶다면, 가시면 됩니다. 대신 좀 험난 할 겁니다. 누가 가르쳐주는 사람도 없고 본인이 일일이 다 찾아다녀야 하고 그런 헤딩으로 실력을 키워야할 거예요.
이 길은 내가 고를 수 있을만큼 회사가 많지 않아요. 지원 가능한 곳이 있는 거 만으로도 감사하죠.
(특히 10년 차 이상일 때. =ㅅ=;;
근데 뭐 그것도 마냥 나쁘지는 않은게, 수요가 적은만큼 공급도 적거든요. 조건 맞는 회사 있다면 일단 몸값이 낮지 않다는 장점이 있어요.
하지면 역시 그 조건 맞는 회사를 찾는 게 운에 달려있다는 거.
선택에 도움이 되었을까 싶긴 한데… 그래도 좀 현실적인 이야기가 필요할 거 같아서 주절거려봤습니다.
(그렇다고 이게 제 이야기는 아닙니…;;;)