CodeGym /행동 /C++ SELF /프로그래머의 길

프로그래머의 길

C++ SELF
레벨 13, 레슨 0
사용 가능

왜 프로그래머들은 항상 그렇게 행복해 보일까요? 그 질문에 대한 답은 단순하면서도 놀랍습니다: 그들은 좋아하는 일을 하고 있으며, 돈을 많이 법니다.

프로그래머의 세계에 오신 것을 환영합니다.

프로그래머의 급여

프로그래머 급여에 대해 이야기하고자 합니다. 실질적으로 급여가 어떻게 형성되는지, 어디에 취직하는 것이 좋고 어디는 피해야 하는지에 관해서요. 비개발자가 이 주제를 스스로 파고들면 매우 상충되는 정보들을 얻게 될 수 있습니다.

핵심은 프로그래머 급여에 가장 큰 영향을 주는 요소는 그 사람의 자격보다도 근무하는 회사라는 점입니다. 같은 자격을 가진 사람이라도 좋은 곳과 나쁜 곳의 차이는 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로 취직하는 것입니다.

계획의 처음 세 달은 거의 배우는 기간이므로 수입이 없을 수 있습니다. 나중에 가족과 대출이 생기면 전직하기가 훨씬 어려워집니다. 실수를 만회하려면 1년치 생활비를 저축해야 할 수도 있습니다. 바보 같은 실수를 하지 마세요.

3-15개월 (Java Junior Developer)

이미 개발자로 일하고 있으며 경험이 매일 쌓이고 있습니다. 안주하지 마세요. 아직 해야 할 일이 많습니다.

과제는 Middle 개발자가 되기 위해 필요한 기술들을 공부하는 것입니다. 어떤 기술들이 필요한가요? 세상은 변합니다. 지금 조언을 드리지만 시간이 지나면 바뀔 수도 있습니다. 인터넷에서 몇몇 채용공고를 찾아서 어떤 기술을 요구하는지 확인하세요.

Java Junior로서 첫 해의 목표는 Java Middle로 성장하는 것입니다. 결코 쉽다고 말할 수는 없지만 목표지향적인 사람에게는 충분히 가능합니다. 이만큼 성장하면 급여는 대략 천오백 달러로 껑충 뛸 것입니다.

2년차 (Java Middle Developer, level 1)

지난해 열심히 일한 결과 이제 Java Middle Developer가 되었습니다. 월 $1,500 정도면 생활에 무난합니다. 직장에서 중요한 과제를 맡게 되고 경험이 급속히 쌓입니다. 2~3년 안에 Java Senior Developer가 될 수 있습니다. 이 과정을 무리하게 서두를 필요는 없습니다. 급여의 큰 성장은 쉽게 일어나지 않습니다.

과제는 디자인 패턴을 학습하고 McConnell의 Code Complete(«완벽한 코드») 같은 책을 읽는 것입니다. 코드 품질과 팀 협업 능력을 향상시키세요. 일주일에 한 권씩 IT 관련 책을 읽는 습관을 들이면 1년 후 다른 사람들보다 50권 더 많이 읽은 셈이 됩니다. 미루지 마세요: 자유 시간은 줄어들기만 합니다. 아마 가족이 생기거나 늘어날 수도 있습니다.

목표는 Senior 개발자로서 전문화할 몇 가지 기술을 선택하는 것입니다. 모든 것을 다 배울 수는 없습니다. 작은 영역에서 전문가가 되는 것이 좋은 선택입니다.

3년차 (Java Middle Developer, level 2)

이미 숙련된 Middle 개발자이며 Senior로 전환을 생각 중입니다. 이는 기분 좋고 명예로운 일입니다. 이 시점에서 급여는 2천 달러를 넘습니다(예시는 Kyiv 기준). 이 수준부터는 당신 같은 전문가에 대한 수요가 공급을 초과합니다. 언제든 며칠 내로 이직할 수 있고 지금보다 낮은 급여를 받을 가능성은 적습니다. 물론 실수만 하지 않는다면요.

과제는 선택한 기술의 지속적인 학습입니다. 더 나아지세요. 고용주를 위해서가 아니라 자신을 위해서입니다. Big Data와 같은 유망 기술이 적용되는 프로젝트에 참여하도록 요청하세요(글 작성 시점의 예). 하루 8시간을 사무실에서 보내는 동안 더 많은 돈과 더 중요한 경험을 얻을 수 있다면 왜 안 하겠습니까?

목표는 이직입니다. 좋은 팀은 어디에나 있습니다. 새로운 프로젝트와 기술을 접하게 될 것입니다. 한 회사에 너무 빨리 안주하지 마세요. 아직 3레벨 회사에서 일하고 있다면 4레벨로 옮기는 것을 고민하세요. 5레벨은 매력적이지만 당장은 닿기 어려울 수 있습니다.

4년차 (Java Senior Developer, level 1)

당신은 Senior 개발자가 되었습니다. 축하합니다. 혹시 스스로가 자격이 없다고 느낄 수도 있겠지만, 어쨌든 축하드립니다. 지금 당장 직책에 합당한지 여부보다 앞으로 그 위치에 합당해지는 것이 중요합니다. 먼저 좋은 직장을 얻고, 그 다음 1년 안에 그 위치에 걸맞게 성장하는 편이 더 낫습니다.

일주일에 한 권씩 책을 읽는 조언을 지켰다면, 이제 당신의 가능성은 누구나 부러워할 수준일 것입니다. 아마도 당신은 젊고, 세상이 당신 발밑에 펼쳐져 있을 겁니다. 급여는 약 3천 달러에 근접하고 있을지도 모릅니다.

과제는 지금까지 선택한 기술들을 다시 검토하는 것입니다. 어쩌면 전문 분야를 바꿔야 할 수도 있습니다. 세상과 기술은 변했고 지난 2년간 당신의 지식도 늘었습니다. 지금 선택하는 것은 향후 몇 년간의 경력을 좌우할 수 있습니다. 지금이야말로 좋아하는 기술을 고를 때입니다.

목표는 앞으로 더 발전할 수 있는 방향을 선택하는 것입니다. 선택지는 매우 많고 모두 열거할 수는 없습니다. 하지만 결정을 지금 내리는 것이 중요합니다. 오늘 당신이 현재를 조금만 바꿔도 미래에 큰 변화가 생깁니다.

5년차 (Java Senior Developer, level 2)

당신은 미래를 정했고 꿈을 실현하기 위해 노력하고 있습니다. 올바른 방향 선택과 앞으로 나아가려는 의지가 결합되면 결과는 곧 나타납니다. 축하합니다. 또 한 명의 행복한 사람이 탄생한 것을 기쁘게 생각합니다.

현명한 진리 하나: 사람들은 1년 안에 얻을 수 있는 것을 과대평가하고, 5년 안에 얻을 수 있는 것을 과소평가합니다. 5년 전을 돌아보면 그 말이 맞다는 것을 알게 됩니다.

과제는 어리석은 결정을 피하고 게으름을 따르지 않는 것입니다.

목표는 방향을 정하고 계속 나아가는 것입니다. 이게 끝이라고 생각했나요? 졸업반 시절을 떠올려보세요. 이건 끝이 아니라 시작에 불과합니다.

미래 전문화

당신은 기술 전문가(상단 트랙), 관리직(하단 트랙), 또는 고용된 전문가/프리랜서 컨설턴트(중간 트랙)로 발전할 수 있습니다. 모든 것은 당신의 선호도에 달려 있습니다.

프로그래머의 커리어

프로그래머 직업은 다른 직업들과 다릅니다. 관리자 경력을 쌓아야만 잘 벌 수 있는 구조가 아닙니다. 종종 시니어 개발자가 그의 관리자보다 더 많은 급여를 받는 경우가 있습니다. 경험이 쌓일수록 상사와의 관계는 '상사-직원'에서 '스타와 매니저' 같은 관계로 변합니다. 자기 가치를 아는 프로그래머들은 프로젝트와 공고를 골라 다닙니다. 함께 기뻐합시다.

그렇다면 세계적 수준으로 뛰어나고 수요가 많은 개발자가 되려면 무엇이 필요할까요? 가장 최신이며 수요가 많은 기술들에 대한 풍부한 실무 경험을 가져야 합니다. 그 방법은 아래에 설명합니다.

처음으로 개발자로 취직한 후, 당신에게 두 가지 일이 일어나기 시작합니다. 놀랍게도 이 둘은 항상 명확하게 보이지 않을 때가 많습니다.

1. 실제 프로젝트에서 빠르게 실무 경험을 쌓기 시작합니다. 개발자 1년의 실무 경험은 대학 5년보다도 더 많은 지식과 기술을 줄 수 있습니다. 경험은 매우 중요한 지표라 IT 채용공고에 '3년 이상의 Java 경력' 같은 요구사항이 자주 등장합니다.

2. 하루 8시간 동안 새로운 기술을 배우고 그 대가로 넉넉한 보수를 받습니다. 이 요소의 중요성은 과대평가할 수 없습니다. 어떤 경우에는 필요한 기술을 얻기 위해 무급으로 일하거나 오히려 돈을 더 지불할 가치가 있습니다. 프로젝트를 현명하게 선택한다면 눈부신 커리어가 기다리고 있습니다.

그렇다면 무엇을 선택해야 할까요?

만약 어떤 기술이 유용할지 모른다면, '좋다/싫다' 또는 '유행/비유행' 같은 원칙으로 기술을 고르게 됩니다. 운이 따라야 합니다. 그러니 미리 어디로 가고 싶은지 아는 편이 낫습니다.

프로그래머의 성장 경로는 매우 다양하므로 이해를 돕기 위해 몇 가지 대표 경로를 간단히 소개하고 제 견해를 덧붙입니다. 이 도식을 엄격한 규칙으로 받아들이지 말고, 상황을 단순화한 관점으로 보시면 됩니다.

200년짜리 프로그래머

프로그래밍 자체를 가장 좋아한다면 당신의 길은 Senior Developer, 그다음 Tech Lead, 그리고 아키텍트가 되는 것입니다. 또는 단순히 50년 동안 프로그래머로 일할 수도 있습니다. 종종 시니어 개발자와 테크리드의 급여가 그들의 매니저보다 높습니다. 판단을 잘 하세요.

매니저. 운이 좋군요, 당신은 남들과 다릅니다.

당신은 적의 편으로 넘어갔습니다. 농담입니다. 탁월한 조직 능력이 열렸다면 당신의 길은 Team Lead, 그 다음 Project Manager입니다. 이는 이사직으로 가는 발판이 될 수 있고, 창업 시에도 도움이 됩니다. 당신도 그런 길을 원하나요?

트랙터 훔치기

이미 가족과 아이들이 있다면 안정적인 경제를 가진 나라에서 조용하고 편안한 삶을 살고 싶을 수 있습니다. 캐나다, 미국, 스위스 또는 호주로의 이민을 고려할 수도 있습니다. 당신은 훌륭한 기술과 수요가 있는 직업을 가지고 있으므로 접시닦이부터 시작할 필요는 없습니다. 예를 들어 Senior Java Developer로 바로 일할 수도 있고, 더 높은 급여를 받을 수도 있습니다. 꽤 괜찮습니다.

파리를 제외한 전세계를 여행하며 죽지 않기

아직 가족이 없고 여행을 원한다면 Upwork가 당신의 전부일 수 있습니다. 클라이언트를 찾아 시급을 협상하세요 — $20/시간부터 시작할 수 있습니다. 노트북을 들고 떠나세요. 당신의 수입이면 어느 나라에서나 정상적으로 생활할 수 있을 것입니다. 바로 지금 꿈을 실현해보는 건 어떨까요?

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION