본문 바로가기

영국생활 & IT

개발자의 경력 관리 그리고 UI 개발자의 RISK

RIA시장의 도태

하루가 다르게 IT 시장이 빠르게 변하고 있다. 한때 리치 인터넷 애플리케이션(RIA) 시장이 큰 핫 이슈로 타오르던 때가 엊그제 같은데 Flex와 Silverlight 그리고 JavaFX와 같은 도구로 밥벌이를 해오던 개발자들은 이미 시장의 축소로 앗싸리 전직을 했거나 몇 안남은 전문회사에서 일하고 있는 것이 사실이다. 지금은 RIA 보다 가벼운 JQuery UI나 Bootstrap을 이용해서 웹 UI를 개발하는 것이 거의 공식화 되어가고 있다.

RIA 시장을 사장시키는데 큰 역할을 한것이 인터넷의 접근 점유율을 스마트폰이 잠식하면서 부터이다. 아이폰! 스마트폰의 시작을 열었던 혁신적인 제품이었는데 고 스티브 잡스는 플래쉬와 같이 폐쇄적이고 저급한 기술을 지원할 생각이 없다고 앗싸리 못을 박아 버리기도 했다. 웹 점유율 부분에서 스마트폰이 웹보다 앞서고 있는 현실의 상황에서 RIA라는 기술은 또 그 RIA 개발자들은 시대를 제대로 만나지 못해서 침몰했다. HTML5가 5년만 더 빨리 나왔고, 그 RIA 시장을 잠식할 수 있었으면 이야기는 조금 달랐겠지만 아쉽게도 HTML5 조차도 지금은 예상보다는 허우적거리고 있는 것이 사실이다.

필자는 한때 실버라이트 전도사로 활동하기도 했었는데 실버라이트를 공부하라며 또, RIA 개발자라는 타이틀을 달아달라며 앞서서 응호하던 필자의 모습을 생각하면 자신이 조금 숙연해지기도 한다.


국내에서의 아이폰 점유율

이제 아이폰에 대해서 이야기를 풀어볼까 한다. 스마트폰이 나오던 그때에(약 4년전), 굉장히 많은 주변의 개발자들이 맥을 구입하기 시작했다. 너도나도 아이폰 개발로 돈을 벌어보겠다며 덤벼든 것이다. 필자 또한 그 시점에서 무언가 큰 변화를 타고 움직여야 겠다는 생각으로 아이폰 개발을 시작하고 스마트폰 회사를 설립하기도 했었다.

아이폰에 이어서 아이패드의 질주까지 더해져서 전세계는 애플의 열풍이 거세지고 있었고, 구글의 큰 반격을 당장을 예상하기 힘든 상황이었다. 하지만 사용자는 다양한 스펙을 원했고, 각각의 필요를 다양한 모바일 제품 회사들이 채워 나가기 시작했다. 그래서 결론을 이야기 하자면 다른 나라 보다는 국내에서의 안드로이드 점유율은 무려 9:1인 상황이다. 9명이 안드로이드를 쓰고 있는 이 상황에서 어느 회사가 아이폰 앱을 먼저 만들려 할까? 많은 개발자들이 중고나라에서 맥을 팔기 시작하지 않았을까? 

아쉽게도 남보다 빠르게 아이폰 개발을 시작했던 혹은 전업했던 개발자들은 경쟁력을 갖춘 뛰어난 개발자가 아닌 이상 또 한번 시장에서 도태되어 버리고 말았다. 그렇게 찾기 힘들던 아이폰 개발자의 위상도 잠시뿐, 요즘은 안드로이드 개발자가 오히려 더 열풍이다. 조금 더 안타까운 것은 이런 현상이(?) 상황이(?) 펼쳐지고 있었지만 정부는 아쉽게도 계속해서 아이폰 개발자를 양성하기에만 바쁘다. 안타깝다.

이 밖에도 12년 전쯤 델파이와 C++ Builder와 같은 UI 툴을 이용해서 전산화 되던 시스템들이 거의다 웹으로 전향된 케이스도 꼽자면 꼽을 수 있겠다.


UI 개발자의 리스크

이렇게 큰 두 번의 대참사를 보면서 느낀 것이 있다면 쉽사리 UI 개발자의 자리를 꿰차기 어렵다는 것이다. 어떤 트렌드와 유행은 새로운 기회인 것과 동시에 Risk도 크다는 것을 충분히 보여주는 대목이다. 이력관리를 Server-Side로만 착실하게 해온 자바/닷넷 개발자를 보면 굉장히 안정적인 느낌이다. 거기에 옵션으로 파이썬이나 node.js같은 경력까지 꿰차고 있기도 하다면 더욱더 알차보인다. 새로운 기술들의 변화도 UI만큼 빠르지 않기 때문에 그렇게 복잡하지 않다. 하지만 재미나 흥미 부분에서는 즉각즉각 사용자의 반응을 확인할 수 있는 UI 개발자들 보다는 느낌이 덜할 수는 있다. 대규모의 시스템을 만지고 웹서버를 직접 구현해서 스레드들이 제대로 도는 것을 보고 하는 정도의 양이 아니라면 매일 하는 일이 솔직히 조금 고만고만한 일로 느껴질 수도 있다는 것이다. 특히나 S.I개발자들은 개발에 대한 흥미를 더 쉽게 잃을 수 있다 보니깐 UI 개발이 달콤해 보였을 수도 있을 것이다.

실제로 개발자의 진로에 대한 이런 고민을 가진 후배들을 보면 하는 이야기들을 적어볼까 한다. 우선 본인이 새로운 것을 만지는 것을 너무 좋아하고 앞으로 10년 이상 그럴 자신이 있으면 UI 개발자의 길을 선택할 것을 추천한다. 하지만
얼리 어덥터라의 둘째가라면 서러워할 필자 또한 그런 마음으로 많은 것들을 만져왔지만 10년이 지나니 열정이 처음과 같지 않다는 사실 만큼은 부정하기 어렵다. 추가로 계속 플랫폼을 바꾸다 보면 차곡 차곡 쌓이는 자신의 경력에 대한 한방의 힘이 조금 약해 보일지도 모른다. (하지만 뭐 어떤가? 경력이야 어떻든 나만 그 일을 즐길 수 있으면 되는거 아닌가? 그렇게 생각하면 자기가 좋을대로 옮겨가면서 해도 된다.)

안정적인 경력을 위해서 Backend에서 있고 싶지만 일에 대한 흥미가 없는 경우의 사람이라면 S.I 관련 업무에 종사하는 사람들일 확률이 높다. 그런 사람이라면 우선적으로 S.I의 일보다는 테크 IT 회사들에서 서비스 개발을 주력하는 일로 방향을 바꾸는 것을 추천하고 싶다. S.I 역시 좋은 경험임은 분명하다. 하나의 시스템을 설계하고 개발하고 또 테스트까지 하면서 시스템이 만들어 지는 과정을 경험할 수 있다. 하지만 국내의 S.I 환경은 문제가 많다. 튼튼한 시스템을 만들기 보다는 어떻게 하면 코딩 시간을 줄여서 빠른 결과를 산출하는데 초점을 맞추고 있기 때문이다. 이런 오염된 환경에서 매일 빠르게 코드를 찍어내기 위해서 씨름하는 것보다는 성능을 생각하고 작은 오류라도 회사에 크리티컬한 문제가 될 수 있는 스릴을 느낄 수 있는 서비스 회사에 몸담는 것을 추천한다. 국내에서 테크 회사들이라하면 N뭐버, D움, n슨 이런 회사들이 되겠다.

이런 것이 아니면 기술쪽으로 고피를 틀어서 컨설턴트 테크를 타야한다. 다양한 시스템들의 공통 모듈 경험이 많고 또, 새로운 기술들과 다양한 오픈소스 기술들을 두루 도입해서 장단점들을 훤히 볼 수 있는 능력이 된다면 컨설턴트로도 충분히 일을 즐기면서 살 수 있다. 자바는 모르겠지만 닷넷시장이 국내에서도 빛을 못보고 있는 상황이기에 이런 컨설턴트의 회사의 실체가 거의 확인하기 힘든것이 현실이다.


조금 더 높은 시야에서,,

이야기가 조금 두서없다. 아무튼 나의 꿈이 저런 국내 테크 회사들에서 안주하며 만족하는 것이 아니라고 할 경우에는 어떻게 해야할까? 국내의 기업이 성이 안찬다면 당연히 미국의 테크 빅4 회사를 조심스레 꺼내 볼 수 있다. google, apple, microsoft, amazon 같은 곳들이 되겠다. 먼저, 이런 곳에서도 개발자들의 등급이 물론 나누어져 있다. 본사에서 핵심 제품 팀에서 핵심 알고리즘을 개발하는 개발자들이 아무래도 가장 최상위 개발자들이 되겠는데, 이런 개발자들은 한국에서 칭하는 개발자들과는 시작이 조금 다르다.

이들은 개발자의 툴이나 언어에 중점을 두기 보다는 알고리즘들과 아키텍쳐 그리고 패턴들에 더 많은 가치를 둔다. 어떤 패턴을 알고리즘을 또 자료구조를 어떻게 사용할지에 대한 연구를 생활화 해왔고 이미 상황별에 따른 장단점이 이미 머리에 정립되어서 처한 환경에서 최적의 알고리즘과 패턴을 대입하는 식이다. 그렇기 때문에 주로 석박사급의 인재들이 많은 편이다. 국내에서는 정통 SW 회사들에서 진행하는 R&D의 수준이 높지 않기 때문에 박사 급 엔지니어들이 설자리가 많지 않다는 것에서는 어느 정도 공감을 할 것이다. 국내의 토종 소프트웨어 개발사라고 하면 국내 자체 O/S 시도한 T뭐스 회사가 되겠지만 세계 규모로 보자면 그냥 중견 정도 되는 기업일 뿐이다.

아무튼 그렇기 때문에 이런 외국의 R&D 부서에 들어가기 위해서 많은 대학생들이 그렇게 알고리즘을 공부하고 한다. 하지만 실제 입사하는 경우를 보면 남다른 차별 경력이나 경험을 가지고 있는 학생들이 인턴쉽을 시작하고 거기서 인정받은 프로그래밍 실력으로 특정 부서로 파견되는 경우가 많다. 때문에 만약 이런 빅4와 같은 회사의 최상위 개발자를 꿈꾼다고 하면 자바개발자였든 닷넷 개발자였든 관련된 분야의 석박사를 마치고 인턴부터 시작하는 것이 어떻게 보면 가장 안전한 길이 아닐까 생각해본다. 단, 자신이 학교에서 연구한 분야가 잘 맞아 떨어진다면 말이다. 물론, 말 그대로 가장 안전하게 입성할 수 있는 가장 제너럴한 방법일 뿐이고 실제로 루트는 너무나도 다양하다. 자신이 만든 오픈소스가 많은 인기를 누릴 수 있다면 충분히 그 반열에 올라 설수도 있는 것이고(물론, 확률적으로 아주 적지만,,)

지금까지의 예는 빅4의 흔히 몇억대 연봉을 받는 최상위 랭크의 개발자의 예를 든 것일 뿐, 빅4의 문은 그렇게 좁지만은 않다. 자신의 연구분야가 없다고 하더라도 업계에서 쌓은 특정 플랫폼과 언어에 대한 경험이 충분하다면 다양한 포지션으로 들어갈 수 있다. 다만 이런 분야의 사람이 많기 때문에 경쟁이 조금 있을 뿐이다. 뿐만 아니라 빅4가 아니더라도 세상을 넓게 보면 정말 재밌는 회사들이 많이 있고 그런 일들도 많이 있다. 중요한 것은 영어를 통한 커뮤니케이션 능력일텐데,, 그래도 필자가 강하게 어필하고 싶은것은 언어의 장벽을 2-3년 투자해서 뚫을 수만 있다면 20-30년의 가치는 충분히 바뀔 수 있다는 것이다. 아브라함 링컨은 이런 말을했다. "나무 베는데 한시간이 주어진다면, 도끼를 가는데 45분을 쓰겠다." 지금까지 일을하기 위해서 10년 넘게 학교에서 공부해오지 않았나? 환경과 여건이 어떻든 2-3년 정도를 더 투자할 수 있다면 새로운 세상이 열릴 수 있을거라 믿는다.


아무튼 두서없는 생각들에 다시한번 내려보는 결론은, 자신이 생각하고 계획하고 그려놓은 그림을 현실화 시키기 위해서는 독하게 자신의 의지대로 살지않으면 나의 커리어는 원하든 원치 않던 주변환경이 혹은 회사가 만드는 방향대로 흘러 가기 마련이다. 물론, 미래를 예지할 수 있는 능력이 있다면 상관없겠지만 어떤 커리어를 쌓든 플랫폼만 따라서도 아니고 경험과 업무를 따라서 결정하는 것이 중요하다. 예를들어, 회사를 이직한다고 하면 조급하게 결정할 필요가 없다. 자신이 원하는 경험과 업무와 플랫폼에 맞추는 환경을 어느정도 기다릴 줄 아는 여유도 필요하다.