한국소프트웨어산업협회(KOSA)는 21일 서울 포스코센터에서 하반기 소프트웨어(SW) 사업대가 세미나를 개최하고, 2022년 SW기술자 임금실태조사결과를 공개했다.
ⓒ 한국소프트웨어산업협회 KOSA는 올해 조사직무를 17개로 통합·개편해 조사 용이성을 개선했으며, 표본수집이 어려운 ▲IT PMO ▲IT감사 ▲IT교육강사는 조사대상에서 제외했다. 또한 모집단을 기존 SW 사업자신고 기업에서 SW사업을 영위하는 기업으로 확대해 소규모 비활성 기업에 대한 정비 및 개선을 추진했다.
KOSA는 개선사항을 반영해 올해 8월부터 약 두 달간 2022년 SW기술자 임금실태조사를 진행했고, 그 결과 SW기술자 일 평균임금은 전년대비 6.9% 증가한 35만1,443원이다.
이번 조사는 SW사업을 영위하는 1,092개 기업에서 근무하는 41,062명의 SW기술자의 임금 현황을 조사한 결과다. 평균임금은 SW기업이 직원에게 제공하는 경비로서 급여성 항목인 기본급, 제수당, 상여금, 퇴직급여충당금 외에도 비급여성 항목인 법인부담금(4대보험)이 포함됐다.
KOSA 조준희 회장은 “올해 조사 결과는 협회가 추진한 개선 활동과 더불어, 비대면·플랫폼 서비스, 게임업 강세 등의 영향이 반영된 것이며, SW기술자 확보를 위한 기업들의 노력이 전반적인 임금 상승에 영향을 미친 것으로 파악된다”며, “앞으로도 국가승인통계 운영기관으로서 통계품질 제고를 위해 연구와 산업계 의견을 수렴하며 지속적으로 노력하겠다”고 밝혔다.
ⓒ 한국소프트웨어산업협회
KOSA는 이번 세미나에서 SW기술자 평균임금을 공표하고 올해 추진한 사업대가 개선 연구의 결과를 소개했다. 정보통신산업진흥원에서는 SW 공정경쟁 시장환경 조성에 대한 계획을 발표했다.
한국에서는 개발자의 처우가 낮다는 비판이 많다. 특히 미국과 비교하며 인재 양성을 위해서라도 개발자의 임금을 높여야 한다고 목소리가 항상 들리고 있다. 그런데 문제는 적절한 개발자 연봉에 대한 기대가 사람마다 다르다는 것이다. 개발자 유무와 상관없이 어떤 사람은 개발자는 기업의 핵심 인재이자 고연봉자라고 생각하기도 하고, 어떤 사람은 낮은 임금을 받으며 야근에 시달리는 직원이라고 보기도 한다. 그렇다면 연봉 기준 실제로 한국 개발자의 수준은 어디까지 와있을까? 마침 2022년 국내외 개발자의 연봉을 확인할 수 있는 다양한 통계가 나왔다.
ⓒ ITWorld *한국 수치는 사람인, 미국 수치는 하이어드(15만 6천만달러) 기준으로 표기 국내의 경우 연봉 수치를 가장 많이 볼 수 있는 곳은 구직 플랫폼이다. 구직 플랫폼 업체들은 직접 사용자가 직접 입력한 데이터를 활용하거나, 국민연금 납부액을 역산하여 계산하거나, 공시자료를 기반으로 연봉을 추산한다. 먼저사람인은 2022년 기준 IT 전체 산업(IT·웹·통신) 종사자의 평균 연봉은 7,587만 원이라고 밝혔다. 같은 통계에서 가장 높은 연봉을 받는 분야는 금융업이었고, 그 뒤를 IT업계가 바짝 따라잡고 있다고 설명했다. 그와 달리크레딧잡 데이터를 보면, IT 및 과학 기술 분야의 연봉 평균은 약 3,700만 원으로 나타났다.
잡플래닛은 IT 업종 종사자 중개발자 직군의 연봉 정보만 따로 공개했다. 여기서는 1년 차 입사자 평균 연봉은 3,411만 원, 10년 차 입사자는 5,830만 원이라고 소개됐다. 잡플래닛은 “IT 업종은 같은 연차라도 연봉 차이가 크다. 기업 및 세부 직무별로 연봉이 천차만별인 게 특징”라고 강조했다. 해당 자료에서 말하는 개발자란 모바일 앱 개발, 웹 개발, 소프트웨어 엔지니어, 소프트웨어 아키텍트, 하드웨어 엔지니어, 시스템 엔지니어, 네트워크 보안운영자, QA, 데이터 분석가 등을 포함했는데, 그중에서 ‘소프트웨어 아키텍트'의 평균 연봉이 가장 높은 것으로 나왔다.
한국소프트웨어산업협회(KOSA)는 SW 기술자에 대해 집중적으로 평균 임금을 추적하고 있다. KOSA는 실제 업계 현황 데이터를 받아 자료를 만든다.
KOSA에 따르면, 2022년 SW 기술자 일 평균 임금은 351,443원으로 전년 대비 6.9% 증가했다. 사실 이 데이터는 자세히 살펴봐야 한다. 얼핏보면 일 임금이니 업무일 20일을 더 곱해 월급이 약 723만원이라고 생각할 수 있으나, 이는 잘못된 해석이다. 여기서 말하는 일 평균 임금에는 한사람에 대한 기본급, 상여금 외에 법인 부담금도 포함됐다. 그런 의미로서 KOSA의 데이터는 특정 기업이 정부와 사업 계약을 할 때, 소프트웨어 인력 및 전체 진행비를 계산할 때 참고하는 자료다. 물론 KOSA의 자료가 실제 개발자 연봉 평균 데이터와 완전히 동떨어졌다고 표현할 수는 없지만 실제 평균 임금보다 더 높을 가능성이 높다.
다만 KOSA의 자료는 SW 기술자의 임금 평균을 세부적으로 나눴는데, 여기에는 IT 기획자, 디자이너, 컨설턴트부터 데이터 분석가, 개발자, 응용SW 개발자 등이 모두 포함한다. 이런 수치로 직군별 대우 차이를 확인할 수 있는데, 가장 높은 임금을 받는 직군은 ‘IT 아키텍트’였다.
신입 개발자 또는 작은 기업 소속된 개발자의 연봉을 가늠할 수 있는 통계도 하나 있다. 개발자 평가·채용·교육 플랫폼 업체 그렙은 매년 설문조사를 통해 인기 프로그래밍 언어와 처우를 공개하고 있다. 특히2022년 설문조사 결과에 따르면 56.5%의 응답자가 연 4,000만원에 미치지 못하는 임금을 받았다. 응답자 50%가 3년 차 미만 개발자이고 20대였다는 점에서 신입 개발자의 대우를 확인할 수 있는 자료라고 볼 수 있다.
이번에는 개발자의 천국, 미국의 데이터를 분석해보자. 미국의 IT 직종 연봉 정보는 한국보다 세부적인 수치를 확인할 수 있다. 미 컨설팅 업체 잰코 어소시에이츠(Janco Associates)가 펴낸‘IT 임금 조사’에 따르면, 2021년 기준 대기업 기술 인력의 평균 연봉은 약 10만 달러, 중소기업은 약 9만 5,681달러였다. IT 경영진의 평균 연봉은 18만 달러였다. 해당 자료에는 경기 침체로 대기업 종사자의 연봉은 상승세가 주춤하고 있으나, 중소기업의 연봉은 대기업보다 빠르게 상승하고 있다고 지적했다. 대기업과 중소기업의 임금 격차가 큰 한국에서 주목할 만한 데이터다.
구직 플랫폼 업체 하이어드 역시 미국 내 소프트웨어 엔지니어의 평균 급여는 지속적으로 증가하는 추세이며, 2021년 기준 평균 연봉은 15만 6,000달러라고밝혔다. 여기서 흥미로운 것은 원격 근무 형태가 연봉에 영향을 주고 있다는 점이다. 같은하이어드 보고서에서 원격근무를 하는 소프트웨어 엔지니어 평균 연봉은 15만 7,000달러로 사무실 근무 직원보다 1,000달러 더 높았다. 하이어드는 2022년 말 펴낸또 다른 보고서에서 “IT 기업에 종사하는 재택 근무자는 사무실 출근 직원보다 평균 3,000달러 더 높은 연봉을 받고 있다”고 밝혔다.
핀테크 스타트업 카르타(Carta)는 재택근무 트렌드가 지역별 임금의 상향 평준화를 이끌고 있다는자료를 공개했다. 과거 개발자는 실리콘벨리 지역에 가야만 최고 몸값을 받을 수 있었지만, 이제 타 지역에서도 재택근무 형식으로 일하면서 실리콘벨리 만큼 높은 임금을 받을 수 있다는 것이다. 카르타는 동시에 스타트업 근무자의 연봉도 높아지고 있다는 점에 주목했다. 카르타에 따르면, 스타트업에 다니는 엔지니어의 연봉 중앙값은 15만 달러였다. IT 직무뿐만 아니라 재무, 법무, 전략 기획 업무 직원도 미국 스타트업 업계에서는 높은 임금을 받고 있었다.
요약하자면, 한국 개발자의 평균 연봉은 7,000만원대, 신입의 경우 3,000~4,000만원 수준이다. 미국 개발자 연봉은 평균 15만 달러가 넘으나, 지역이나 회사 규모에 따라 연봉 차별을 크게 받지 않는다는 특징이 있다. 혹시 이런 수치를 보고 IT 업계에 진출하거나 직군을 바꾸고 싶은 사람도 있을 것이다. 하지만 높은 연봉에 너무 혹하지 말자. 아무리 개발자 수요가 많다 한들 소위 말하는 대퇴직 시대 아닌가. 연봉이 높은 것으로 유명한 글로벌 IT기업에서도 퇴사자가 우후죽순으로 나오고 있는 것도 사실이다. 그런 면에서 IT 직무의 빛과 그늘을 조명한 기사는 미래를 현실감 있게 준비하는 데 도움이 될 것이다.
1. 강의로 학습하며 자신감이 솟아나는 단계 (The Hand Holding Honeymoon) : 재미와 즐거움으로 가득찬 단계입니다. 조금 어려워는 보이지만, 자료가 잘 정리되어 있고 지원이 빵빵하기에 여러분은 잘 해낼 수 있을 겁니다. 기본적인 문법을 배우고 높은 수준의 성취도를 느낄 것입니다.
2. 혼돈의 카오스 (The Cliff of Confusion) : 강의를 다 봤고 강좌를 모두 수료하고 난 뒤에 느끼는 단계입니다. 생각보다 모든 것이 어렵고 고통스럽다는 사실을 자각하게 됩니다. 아직 스스로 무언가를 할 수 있는 단계가 아니라고 생각이 들 것입니다. 계속 디버깅을 하고 있고 여러분 스스로 무언가를 위해서 어찌저찌 시도해보고 있긴 하지만, 다른 사람들에게 어떻게 질문해야 잘 물어봤다고 할 수 있을 지 명확하지 않은 단계입니다.
3. 절망 한 가운데에 놓임 (The Desert of Despair) : 아주 지리밀렬하고 지루한 단계입니다. 새로운 길 하나하나가 옳은 것처럼 보이지만 나 자신은 원을 그리듯 제자리 걸음입니다. 어려움을 이겨낼 수 있는 자료를 찾아 계속 돌아다닙니다. 마치 사막에서 어디에 홀린 마냥, 사람들의 열광 속에서 신기루에 빠지지 않도록 조심하세요. 자칫하다간 잘못된 길에 빠지고 말 것입니다.
4. 놀라운 성장 (The Upswing of Awesome) : 사막 속에서 결국 길을 찾아내고야 말았습니다. 어떻게 개발해야 하는 지에 대한 이해가 생겼을 때입니다.
여전히 여러분의 코드는 여전히 어디엔가 갇혀진 느낌이고 깨지기가 쉽습니다. 다만, 여러분은 아무튼 작동한다는 사실에서 자신감을 얻게 되지요. 유용한 몇몇 패턴에 익숙해지고, 친구들은 여러분이 만든 화면이 엄청 대단하다고 느끼구요. 하지만 코드를 정작 까 보는 것에 여전히 두려워하고, 자신있게 내세울 수 있는 수준의 코드(production-ready)를 짜는 방법에 대해 결국 찾지 못한 상태입니다. 어떻게 해야 실제 취업이 요구하는 수준까지의 기술 격차(gap)을 줄일 수 있을까요.
계속 성장하는 방법 여정은 정말 빡세보이고 힘들어보입니다. 솔직히 말하면 종종 그렇습니다. 중요한 것은 여러분이 어느 상태에 있는 지 아는 것입니다. 특히 여러분이 혼자 공부한다면 더욱이 그렇습니다. 하지만 꼭 그럴 필요는 없습니다. 대부분의 경우에 적용할 수 있는 팁들이 있기 때문이지요. 코딩을 배우는 것은 사람들이 생각하는 것만큼 쉽지는 않지만, 절망할 것처럼 그렇게 깊이 어려운 것도 아닙니다. 여기서는 올바른 방법으로 갈 수 있는 팁에 대해 설명해보도록 하겠습니다.
1단계에서 살아남는 방법 정말 많은 종류의 학습 컨텐츠가 있습니다. 코딩에 대해 쉽게 입문할 수 있도록 해줍니다. 두 가지 팁을 꼭 명심하도록 하세요.
1. 여러 다양한 컨텐츠로 시작해보세요. 어떻게 배우는 것이 여러분에게 딱 맞는 방법인지 학습하 수 있을 것이고, 어떤 프로젝트가 흥미로운 지 발견할 수도 있을 것입니다. Khan Academy의 챌린지나 생활코딩의 WEB 강좌, 또는 노마드 코더의 클론코딩, 커넥트재단의 부스트코스, 인프런 강좌, 스터디파이 등이 될 수 있을 것입니다. 처음 시작할 때는 열린 마음을 가지되, 무엇을 꼭 배워야 한다느니 하는 소리에는 신경쓰지 않으셔도 됩니다. 기초 단계에서는 어짜피 다 비슷하거든요.
2. 여러분과 잘 맞다고 생각드는 컨텐츠 하나를 골라보세요. 그리고 그 컨텐츠 하나에 집중하세요. 처음부터 끝까지 다 들어보세요. 기초 스크립트와 앱 등 모든 기본 지식을 끝까지 다 들어보시고, 스스로 만들어보는 연습을 하세요.
2단계에서 살아남는 방법 거의 대부분의 사람들이 2단계를 겪을 것입니다. 왜냐하면 개발자가 되는 방법은 직접 개발을 하는 것이기 때문이죠. 여러분은 튜토리얼을 해보면서 직접 자신이 만들었다고 생각할 지도 모릅니다. 하지만 튜토리얼 따위를 몰아내는 것은 아주 필수적인 일입니다. 튜토리얼은 처음에는 좋지만 이제 스스로 걸음마도 좀 해봐야죠. 그래야 진짜 세계를 볼 수 있습니다.
여러분 스스로 만들기 위한 세 가지 팁을 명심하도록 하세요.
1. 다른 사람들과 함께 하세요. 아무리 초보더라도 두 명이서 함께 페어를 할 때 불가능해 보이는 에러도 디버깅할 수 있답니다.
2. 다른 사람의 코드를 읽으세요. 좋은 패턴에 익숙해지도록 하세요. 다른 사람들이 어떠한 의도로 코드를 작성했는지 파악하려고 노력하세요. 책을 읽지 않고 소설가가 될 수 있나요? 자그마한 문제 하나하나에 귀를 기울이고, 다른 사람이 이를 어떻게 해결했는지 관심을 기울이도록 하세요.
3. 자그마한 것으로 시작하고 계속해서 만들어보세요. 미래에 내가 만들어 볼 큰 프로젝트에 관심 가질 수도 있겠습니다만, 지금은 당장 디버깅에 익숙해지고 자그마한 문제를 해결할 수 있는 능력을 길러야 합니다. 이 과정은 정말 필수적으로 하셔야 합니다.
3단계에서 살아남는 방법 디버깅에 익숙해지면, 여러분의 가장 큰 문제는 학습할 거리들이 아주 많아진다는 점입니다. 이걸 대체 언제 다 공부하고 있나요. 이 경우에 여러분은 자신만의 굳은 믿음과 올바른 길에 대한 전진이 필요한 때입니다. 가끔 사막에서 신기루가 나타나서 빨리 스킬을 얻을 수 있는 방법을 알려주겠노라고 여러분을 홀릴 수도 있겠습니다만, 여기에 속아넘어가면 정말 시간만 낭비하게 될 것입니다.
1. 분명한 목표를 가지세요. 무엇을 이루고 싶은가요? 목표가 없다면 관심이 있는 모든 것에 이리저리 기웃대다가 아무 것도 안 될 것입니다. 여유 부릴 시간이 있으면 공부를 하세요.
2. 분명한 길을 걸으세요. 여러분의 목표로 인도해줄 것이고, 그 곳이 맞다는 사실을 확신시켜 줄 것입니다. 각종 마케팅 슬로건에 속지 않고, 여러분 나름대로 깊이 파고들 수 있게 될 것입니다. 다양한 강좌 웹사이트나 소개자료집, 기술 책 앞에서 "이것이 나의 목표 달성에 있어 꼭 필요한 일인지" 판단할 수 있게 될 것입니다.
3. 집중하셔야 합니다. 여러분이 코딩에 관심이 있다는 것은 여러분은 아마 다른 모든 것에 관심이 있을 거라는 뜻입니다. 코딩이 어려워진다면 금방 질려 다른 거 하지 마시고 여기에 오로지 집중하도록 하세요.
여러분이 나름의 길을 찾고 여기에 오롯이 집중할 수 있을 때, 여러분은 몇 개월, 몇 년 동안 각종 열풍과 환상에 속아 넘어가지 않고 다음 단계로 넘어갈 수 있을 것입니다.
4단계에서 살아남는 방법 사실 여기가 제일 어려운 부분입니다. 앱을 개발할 수 있게 되었지만 정말 진정한 개발자가 되고 싶으실 것입니다. 이 과정을 지나고 취업에 다다르기 위해서는 다음의 과정을 거치셔야 합니다.
1. 모범 사례를 찾아 따라해보세요. 해결책과 베스트 프렉티스의 차이점에 대해 이해하실 수 있어야 합니다. 베스트 프렉티스, 즉 모범사레는 여러분이 스스로 하던 것과 어딘가 차이가 있을 것이구요. 실제 회사환경과 코드 수준차이가 있을 것입니다.
2. 여러분의 상황을 계속해서 점검해보세요. 여러분은 계속 중간중간에 모르는 내용으로 구멍 뚫린 것 때문에 미끄러진 경험이 있을 것입니다. 내가 알지도 몰랐던 지식들 때문이기도 하구요. 이것들을 점검하고 고쳐나가야만 합니다.
3. 하기 싫어했던 것을 공부하세요. 평소에 자주 다뤄지지는 않지만 회사에 업무를 수행하기 위해서는 매우 중요한 것들 말입니다. 테스트 하는 것이나 데이터 모델링, 구조 짜기, 배포하기 같은 것은 지루할 지 모르지만 좋은 개발자가 되기 위해서는 매우 중요한 것들입니다.
사실 제일 중요한 것은 피드백을 얻는 것입니다. 스스로 학습하는 것이 최고라고 믿는 학생들은 읽기 쉬운 코드, 모듈화가 잘 된 코드, 유지보수 하기 쉬운 코드와 같이 업무 환경에서 중요한 요소들에 대한 고민을 해본 적이 없을 것입니다. 여러분 스스로의 환경에 계속 도전할 수 있는 누군가와 함께 일해 볼 필요가 있습니다. 계속 난처한 질문을 던져달라고 요구하시고, 이를 통해 여러분의 부족한 지식을 메꿔두세요.