왜 프로그래머들은 늘 그렇게 행복해 보일까요? 답은 간단하고 약간 김 빠질 수도 있습니다: 좋아하는 일을 하고, 돈도 많이 벌기 때문입니다.
프로그래머의 세계에 오신 것을 환영합니다.
프로그래머의 급여
프로그래머 급여에 대해 이야기해 보겠습니다. 실제로 급여 상황이 어떠한지, 어디에서 일하는 것이 더 좋은지, 어디는 그렇지 않은지. 만약 여러분이 프로그래머가 아니고 이 주제를 혼자 파고들면, 매우 상충되는 데이터를 한가득 얻게 될 수도 있습니다.
그 이유는 프로그래머 급여에 가장 큰 영향을 미치는 요인이 개인의 역량이 아니라 근무처이기 때문입니다. 때로는 같은 실력이라도 좋은 곳과 나쁜 곳의 차이가 2~10배(!)까지 벌어지기도 합니다.
어떤 시점에서든 여러분의 역량은 쉽게 바뀌지 않습니다. 한 달 만에 실력이 두 배로 늘어 급여가 두 배가 될 수는 없습니다. 하지만 한 달 만에 직장을 바꿔서 급여를 두 배로 올리는 일은 충분히 가능합니다. 그럼 어디에서 일하는 게 가장 좋은지 알아봅시다.
회사들의 급여 수준에 아주 큰 영향을 주는 요소는 다음 세 가지입니다:
1) 해당 회사에서 소프트웨어 개발이 핵심 비즈니스인지 여부.
2) 회사가 글로벌 시장을 대상으로 하는지, 내수 시장을 대상으로 하는지.
3) 소유주가 서구권 기업인지, 국내 기업인지.
여러분이 사는 도시 자체는 결정적인 요소가 아닙니다. 즉, 드레스덴에 살면서 뉴욕의 지인보다 10배 적게 받는다면, 위에 열거한 요인들이 작동한 것입니다.
구체적인 숫자
전 세계를 통틀어 딱 잘라 숫자를 제시하긴 어렵습니다. IT 아웃소싱/아웃스태핑이 그나마 발달한 국가들 전반에 비교적 들어맞는 동유럽의 상황을 예로 들겠습니다.
경력 5년의 Java Senior Developer가 근무하는 회사 수준에 따라 월급이 어느 정도일 수 있는지 살펴보면 다음과 같습니다:
| 레벨 | 월 급여 | 설명 |
|---|---|---|
| 1 | $200 — $500 | 최하위에는 IT가 회사의 비핵심 사업이며, 고객이 내수 시장이고, 소유주가 정부인 곳이 있습니다. 예: 국세청 등 공공기관의 IT 부서. |
| 2 | $500 — $1500 | 평균 이하: 각종 민간 조직(은행 등)의 사내 IT 부서. |
| 3 | $1,000 — $2,500 | 평균: 소프트웨어 개발을 주업으로 하는 기업. |
| 4 | $3,000 — $4,000 | 평균 이상: 소프트웨어를 개발하며 주 고객이 서구권인 기업. |
| 5 | $4,000 — $5,000 | 최상위: 소프트웨어 개발을 하고, 고객도 서구권, 소유주도 서구권인 기업. 이런 회사는 많지 않고, 공고가 자주 나오지 않으며, 입사하기도 쉽지 않습니다. 그러나 존재합니다. |
이 상황에서 가장 이상한 점은 무엇일까요?
전체 프로그래머의 절반은 1, 2레벨 회사에서 일합니다.
어디에 함정이 있는지 알고 싶으신가요?
3, 4레벨 회사에는 수백 개의 공개 채용이 있습니다. 이런 회사들은 더 높은 급여와 보통 — 훨씬 더 좋은 근무환경을 제시합니다.
실제 상황: Java Junior 두 명이 있습니다. 한 사람은 월 $100(레벨 1 회사)로, 다른 한 사람은 월 $1,000(레벨 4)로 일하러 갑니다. 왜 적게 받아야 할까요?
바보짓하지 않으면 어디까지 갈 수 있을까
프로그래밍 분야에서 꾸준히 자기계발을 한다면, 오늘부터 여러분의 급여는 대략 다음과 같이 변할 것입니다(여러분이 일하는 도시에 따라 수백 달러 정도의 오차는 있을 수 있습니다):
계획
0-3개월(견습생)
여러분은 프로그래밍에 대해 아는 것이 매우 적습니다. 학교나 대학에서 배웠더라도 아주 피상적일 수 있습니다.
여러분의 과제 — 프로그래밍을 배우고 Java를 공부하는 것입니다.
여러분의 목표 — 3레벨 이상의 회사에 Java Junior로 입사하는 것입니다.
계획의 첫 3개월 동안은 단지 프로그래밍을 공부하므로 수입이 없습니다. 앞으로 가족과 각종 대출이 생기면 전공·직무 전환은 훨씬 어려워질 것입니다. 실수를 바로잡으려면 1년치 정상적인 생활비를 모아야 할 수도 있습니다. 어리석은 실수를 하지 마세요.
3-15개월(Java Junior Developer)
여러분은 이미 프로그래머로 일하고 있고, 경험은 매일 쌓이고 있습니다. 빈둥대지 마세요. 아직 월계관에 기대 쉴 단계가 아닙니다.
여러분의 과제 — Middle 개발자가 되는 데 필요한 기술을 학습하는 것입니다. 정확히 어떤 기술일까요? 세상은 변합니다. 지금 우리가 조언해도 현실이 바뀔 수 있습니다. 인터넷에서 채용 공고 몇 개를 찾아 필요한 기술을 확인해 보세요. Bruce Eckel의 “Thinking in Java”는 반드시 읽으세요.
첫 해의 목표 — Java Junior로서 Java Middle 수준까지 성장하는 것입니다. 아주 쉽다고 말할 수는 없지만, 목표 지향적인 사람이라면 충분히 가능합니다. 그러면 급여가 곧바로 약 $1,500 수준으로 뛰게 됩니다.
프로그래머로 일한 지 2년 차 (Java Middle Developer, level 1)
지난해 열심히 노력한 덕분에 이제 여러분은 Java Middle Developer가 되었습니다. 월 $1,500의 급여면 충분히 정상적인 생활이 가능합니다. 직장에서 더 진지한 과제가 주어지고, 경험은 가파르게 쌓입니다. 2~3년이면 Java Senior Developer로 성장하게 됩니다. 이 과정을 억지로 앞당길 필요는 없습니다. 어차피 급여가 크게 오르지는 않습니다.
여러분의 과제 — 디자인 패턴을 익히고, Steve McConnell의 “Code Complete”를 읽는 것입니다. 코드 품질과 팀워크를 개선하세요. 매주 IT 서적 한 권을 읽는 습관을 들여 보세요. 그러면 1년 뒤 여러분은 남들보다 50권만큼 더 앞서 있게 됩니다. 이걸 나중으로 미루지 마세요: 자유 시간은 더 늘지 않습니다. 아마도 가정이 생기거나, 이미 있다면 식구가 늘어날 수도 있습니다.
여러분의 목표 — Senior 개발자로서 전문화할 몇 가지 기술을 고르는 것입니다. 전부를 다 배울 수는 없습니다. 작은 영역의 구루가 되는 것이 좋은 선택입니다.
프로그래머로 일한 지 3년 차 (Java Middle Developer, level 2)
여러분은 이제 경험 많은 Middle 개발자이며 Senior Developer를 목표로 하고 있습니다. 기분 좋고 명예로운 일입니다. 급여는 $2,000를 넘습니다(키이우 기준). 이 시점부터는 여러분 같은 전문가에 대한 수요가 공급을 웃돕니다. 며칠 안에 언제든 일을 구할 수 있을 것이며, 지금보다 적게 받을 가능성은 낮습니다. 물론 어리석은 실수만 하지 않는다면요.
여러분의 과제 — 선택한 기술들을 계속 공부하세요. 더 잘 일하세요. 고용주가 아니라 여러분 자신을 위해서입니다. 유망한 기술(이 글을 쓰는 시점에는 Big Data와 같은)로 일하는 프로젝트에 자원하세요. 어차피 하루 8시간은 사무실에서 보낼 테니, 조금 더 많은 돈을 벌고, 무엇보다 앞으로 반드시 필요할 소중한 경험을 얻으세요.
여러분의 목표 — 이직입니다. 좋은 동료와 팀은 어디에나 있습니다. 새로운 프로젝트와 기술을 경험해 보세요. 너무 일찍 자리에 안주하지 마세요. 아직 3레벨 회사에서 일하고 있다면 4레벨로의 이동을 고민해 보세요. 5레벨은 매우 매력적이지만, 아직은 접근하기 어렵습니다.
프로그래머로 일한 지 4년 차 (Java Senior Developer, level 1)
여러분은 Senior 개발자가 되었습니다. 축하합니다. 자격이 조금 부족하다고 느낄 수도 있습니다. 그래도 축하합니다. 지금 당장 직무에 완벽히 걸맞은지 여부는 중요하지 않습니다. 앞으로 걸맞은 사람이 되는 것이 중요합니다. 좋은 자리를 먼저 얻고 1년 안에 그 수준으로 성장하는 편이, 성장해 놓고 좋은 자리를 또 1년 기다리는 것보다 낫지 않겠습니까?
매주 책 한 권씩 읽으라는 제 조언을 잊지 않았기를 바랍니다 — 이제 여러분의 역량은 어떤 학생이라도 부러워할 수준일 것입니다. 생각해 보세요: 여러분의 급여는 $3,000에 가까워지고 있습니다. 아마 아직 젊습니다. 온 세상이 여러분 앞에 펼쳐져 있습니다.
여러분의 과제 — 선택해 두었던 기술들을 다시 점검해 보세요. 전문 분야를 바꿔야 할 수도 있습니다. 세상도, 기술도 변했고, 지난 2년 동안 여러분의 지식도 늘었습니다. 지금 내리는 결정은 향후 몇 년간의 선택이 됩니다. 지금이야말로 좋아하는 기술을 고를 때입니다.
여러분의 목표 — 앞으로 더 성장해 나갈 방향을 고르는 것입니다. 선택지는 매우 많아 누구도 전부 열거할 수 없습니다. 하지만 지금 당장 선택해야 합니다. 오늘 현재를 조금만 바꾸면, 여러분의 미래에는 큰 변화가 생깁니다.
프로그래머로 일한 지 5년 차 (Java Senior Developer, level 2)
여러분은 미래의 방향을 정했고, 자신의 꿈을 실현하기 위해 일하고 있습니다. 올바른 방향 선택에 앞으로 나아가려는 의지가 더해지면 — 결과는 곧 나타납니다. 축하합니다. 행복한 사람이 한 명 더 늘어 저희도 기쁩니다.
한 가지 지혜가 있습니다. 사람들은 1년 동안 이룰 수 있는 것을 과대평가하고, 5년 동안 이룰 수 있는 것을 과소평가합니다. 5년 전을 돌아보세요. 정말 그렇습니다.
여러분의 과제 — 어리석은 결정을 내리지 말고, 게으름에 끌려가지 마세요.
여러분의 목표 — 방향을 정하고 계속 전진하는 것입니다. 끝이라고 생각하셨나요? 여러분의 졸업반 시절을 떠올려 보세요. 그것은 끝이 아니라 시작이었습니다.
향후 전문화
여러분은 기술 전문가(상단 트랙), 관리자(하단 트랙), 혹은 프리랜서/독립 컨설턴트(중간 트랙)로 성장할 수 있습니다. 모든 것은 여러분의 선호에 달려 있습니다.
프로그래머의 커리어
프로그래머라는 직업은 다른 직업과 다릅니다. 높은 소득을 위해 관리자 커리어를 반드시 밟을 필요가 없습니다. 종종 시니어 개발자가 자신의 상사인 매니저보다 더 많이 받기도 합니다. 경험이 쌓일수록, 상사와의 관계는 ‘상사–직원’에서 ‘영화 스타와 매니저’의 관계에 가까워집니다. 몸값을 알고 스스로를 소중히 여기는 프로그래머들은 프로젝트와 채용을 고를 수 있습니다. 우리 동료들을 위해 기뻐합시다.
그렇다면 세계적으로도 통하는 고급 인재가 되려면 무엇이 필요할까요? 가장 최신이고 수요가 높은 기술에서 풍부한 경험을 갖춰야 합니다. 어떻게 그럴 수 있을까요? 아래에서 답을 드립니다.
처음으로 프로그래머로 취업하고 나면, 눈에 잘 띄지 않지만 두 가지 일이 벌어지기 시작합니다.
1. 실전 프로젝트에서 빠르게 경험을 쌓습니다. 프로그래머로 일한 1년은 전공으로 대학 5년보다 더 많은 지식과 실무 능력을 줄 수 있습니다. 경험은 워낙 중요한 지표라 IT 채용 공고에는 종종 “경력 3년 이상의 Java 개발자”라고 적혀 있습니다.
2. 하루 8시간 동안 새로운 기술을 공부하고, 그 대가로 후하게 보상받습니다. 이 요인의 중요성은 아무리 강조해도 지나치지 않습니다. 어떤 경우에는 그 기술이 너무 중요해서, 그것을 얻기 위해 무급으로라도 — 심지어 돈을 내고서라도 — 일할 가치가 있습니다. 일할 프로젝트를 현명하게 고른다면, 여러분을 기다리는 것은 현기증 날 만큼 빠른 커리어 성장입니다.
그런데, 무엇을 선택해야 할까요?
어떤 기술이 유용할지 모르는 경우, “좋아 보이니까/유행이니까” 같은 기준으로 기술을 고르기 십상입니다. 운에 맡기는 셈이죠. 그러니 미리 여러분이 어디에 도달하고 싶은지 아는 편이 좋습니다.
프로그래머의 성장 경로는 매우 많습니다. 단순화를 위해 몇 가지를 골라 우리의 관점을 덧붙여 보겠습니다. 이 도식을 절대적인 진리로 받아들이지 마세요. 다만 어느 정도 윤곽을 잡기 위한 단순화된 시각일 뿐입니다.
200살짜리 프로그래머.
프로그래밍 자체가 가장 즐겁다면, 여러분의 길은 Senior Developer, 이어서 Tech Lead Developer와 아키텍트입니다. 또는 그냥 50년 동안 프로그래머로 일할 수도 있습니다. 종종 Senior 개발자와 Tech Lead의 급여가 매니저보다 높습니다. 현명하게 선택하세요.
매니저. 운이 좋네요, 당신은 남들과 다릅니다.
적의 편으로 넘어갔군요. 농담입니다. 뛰어난 조직 능력이 열렸다면, 여러분의 길은 Team Lead, 그다음은 Project Manager입니다. 이는 여러분이 임원이 될 기회를 주고, 창업에도 도움이 됩니다. 그것을 원하시죠, 그렇지 않나요?
트랙터를 훔치기.
이미 가족과 아이가 있다면, 안정적인 경제를 가진 나라에서 조용하고 부족함 없는 삶을 원할 수 있습니다. 캐나다, 미국, 스위스, 심지어 호주로의 이주/이민을 고민해 보세요. 여러분에겐 훌륭한 기술과 수요 높은 직업이 있습니다. 접시 닦기부터 시작할 필요가 없습니다. 예를 들어 Senior Java Developer로 시작할 수 있고, 아마 더 높은 급여일 수도 있습니다. 꽤 괜찮지 않나요.
파리를 빼고 전 세계를 보고, 죽지 않기.
아직 가정이 없고 여행을 원한다면, Upwork가 답입니다. 클라이언트를 찾고, 요율(시간당 $20부터)을 합의하고, 노트북을 챙겨 출발하세요. 어느 나라에서든 정상적으로 살기에 충분한 수입이 될 것입니다. 왜 지금 당장 여러분의 꿈을 실행하지 않나요?
GO TO FULL VERSION