몇 년 전부터 심화된 소프트웨어 개발자 구인 경쟁과 유행하는 비전공자 개발자 취업에 대해서 제 생각을 쓰려고 합니다. 제 생각을 쓰기 전에 미리 이 말부터 남깁니다.
모든 사람이 처음부터 전공자는 아닙니다. 모두 처음에는 비전공자에서 시작하여 전문지식을 쌓아 전공자가 됩니다. 결국 비전공자도 언젠가는 전공자가 될 것입니다. 다만 본 글에서는 비전공자가 짧은 학습 기간만 가지고 취업부터 하는 것에 대해 제가 생각하는 것을 일부 밝힙니다. 혹시나 이 글의 독자분 중에 취업을 준비하는 비전공자가 계신다면 취업 후 조직에 이런 선입견을 가진 선배가 분명히 있을 텐데 이를 미리 알고 선입견을 극복하는 자료로 활용하시는 것도 좋은 방법일 것 같습니다.
1. 개발자 구인난과 비전공자 개발자의 등장
코로나-19 이후 주식의 호황과 다시 떠오른 창업의 유행, 기업들의 개발자 구인 경쟁으로 인해 개발자 인건비가 아주 많이 상승했습니다. 특히 대규모 투자 유치가 중요한 테크 기업들의 경우 양질의 개발자를 구하기 위해 웃돈을 줘가며 인력을 확보하는 상황입니다. 이런 상황으로 인해 개발자 연봉이 높다는 이야기를 듣고 컴퓨터공학을 전공하지 않은 사람들도 개발자로 취업하기 위해 노력을 하게 되었고 기존 개발자들은 더 좋은 처우를 제시하는 다른 곳으로 이동하면서 인력의 순환이 이루어지고 있는 상황입니다. 하지만 이 순환 과정 중에는 인력 공백이 발생하기에 기업 입장에서는 사업의 지속적인 영위를 위해 더욱 개발자 구인에 노력을 기울이고 있는 상황입니다.
개발자 구인난과 비전공자의 개발자 시장 진입에 대한 요구, 수익을 창출하는 학원(교육기관), 교육과정 참여자 수로 정책 효과를 계산하는 정부의 요구가 맞아떨어지면서 국비지원 교육과정이 많이 생겼습니다. 저는 지금까지 경험한 결과 이러한 교육과정을 이수한 사람들 모두가 취업이 잘 되고 지속적으로 개발자로서 활동하는 것을 보지 못 했습니다. 다만 재능있고 노력하는 소수만이 개발자로 살아남는 것을 봤습니다. 아쉽게도 저에게 정확한 통계는 없습니다. 하지만 개발자로 살아남은 분들의 공통적인 특징을 뽑아본다면 아래와 같은 경향이 있습니다.
2. 살아남은 자들의 특징
2-1. 공학자로서의 태도를 가졌다.
회사에 가면 공학자로서 일해야 합니다. 말은 쉬우나 한 번도 겪은 적이 없는 사람에게는 하루하루가 너무 힘든 과정일 수 있습니다. 이 힘든 과정의 예를 하나 들면 '공학자로서 가치를 유지하거나 혹은 높이기 위해 새로운 지식을 끊임없이 익히고 연구하는 것'이 있습니다. 업무를 위해 필요한 지식의 양도 많은데 지식의 변동성이 커서 개발자로 계속 지내기 위해서는 계속해서 새로운 지식을 학습해야 합니다. 하지만 업무를 수행할 때는 이 새로운 지식을 익히는 데 한계가 있으니 업무 시간 외에도 공부해야 합니다. 게다가 이미 널리 알려진 지식의 가치는 낮기에, 현재 다른 사람들이 잘 알지 못 하면서도 가치 있는 분야를 찾고 연구하는 과정도 수행하다 보니 이를 처음 겪는 분에게는 너무 힘든 생활일 수 있습니다.
저는 공학자를 매일 끊임없이 노력하고 발전하며 세상에 기여할 수 있는 응용을 만드는 자로 정의합니다. 한 단어로 말하면 장인(匠人)을 말합니다. 장인의 태도를 가진 사람이라면 기존에 속한 분야에서 경력을 잘 만들어가고 있을 것이기 때문에 보통은 비전공자 개발자로 취업하지는 않았을 거로 생각합니다. 어떤 난관에도 흔들리지 않고 어려움을 해결하며 묵묵히 나아가는 그런 분들이 개발자로 살아남으실 것입니다.
2-2. 정보를 빨리 확보하고 본인에게 잘 적용하는 사람이다.
개발자는 주어진 시간에서 최대한의 생산성을 내는 것이 중요합니다. 이를 위해서는 정보를 빨리 확보하고 잘 적용하는 능력이 중요합니다. 필요할 때부터 정보를 확보하려고 한다면 뒤처질 것입니다. 당장 필요해지기 전에 필요해질 것을 예상하여 미리 정보를 확보하는 것이 중요합니다. 이를 위해서는 주변에 흐르는 정보를 잘 듣고 관심 없는 분야의 정보라도 기록하고 암기해두는 것이 필요합니다.
2-3. 자기 객관화를 잘 하는 사람이다.
개발자는 듣고 싶은 말만 듣고 살 수는 없습니다. 자기 객관화를 잘하여 본인이 잘하는 것은 무엇이고, 부족한 것은 무엇이며, 동료와 같은 주변 환경을 어떻게 활용할 수 있는지를 주기적으로 검토하여 자기 계발을 수행하고 업무에 적용하는 것이 필요합니다.
옛말에 '너 자신을 알라'라는 말이 있습니다. 사람이 흔히 하는 착각 중 하나는 '내가 나를 가장 많이 알고 있을 것'이라는 것입니다. 이러한 생각은 공학자로서 위험합니다. 이런 생각을 가지면 타인의 조언을 귀담아듣지 않고 '저 사람은 나에 대해서 알지도 못하면서 이야기한다.'라는 생각에 사로잡히기 쉽습니다. 이런 경우 매일 정진해야 하는 공학자로서 잘못된 길로 빠지기 쉽고 발전이 없을 수도 있습니다. 오히려 발전은커녕 퇴보할 가능성도 있습니다. 학문을 이해하고 기술을 이해하고 시장을 이해해야 하는 개발자의 특성상 타인과의 소통과 자기 발전이 중요한데 본인을 제대로 알지 못하면 타인도 제대로 알기가 어렵고 이는 소통에 큰 지장이 발생합니다. 이런 사람은 참고 자료와 조언으로 더 빠르고 정확한 방향으로 갈 수 있음에도 불구하고 시간을 허비하여 시장에 도태될 가능성 큽니다. 어지간한 경지로는 본인 행동을 인지할 수 있는 범위에 한계가 있습니다. 본인이 인지하지 못하는 행동도 본인이기 때문에 이러한 범위 밖의 내용까지 인지할 수 있는 경지에 올라야 자신을 더 잘 알 수 있는데 보통은 도달하기 어렵습니다. 그러면 차라리 '내가 나를 가장 많이 알고 있을 것'이라는 생각을 안 하면 이 문제는 쉽게 풀립니다. 타인의 시선을 중요하게 신경 쓰며 눈치를 보라는 것이 아니라 '다른 사람의 시야에서 나는 이렇게 보이는구나'라는 생각으로 주변의 반응을 삶의 방향을 조정할 때 참고 자료로 활용하는 것이 좋습니다.
2-4. 업계에 대한 이해도가 높다.
옛말에 '누울 자리 봐 가며 발을 뻗어라.'라는 말이 있습니다. 본인이 어떤 성향의 사람이며 어떤 수준의 개발자인지를 알고 적합한 분야의 회사에서 적절한 직책으로 근무하는 것이 필요합니다. 소프트웨어 개발은 가치를 창출하는 도구일 뿐이며 이를 어떻게 활용해서 이윤을 창출하는 것은 회사마다 다릅니다. 또한 시간이 지나면 부하직원이 생기고 조직 관리 업무도 부여될 텐데 이것까지 고려해서 적절한 업계에서 근무하는 것이 필요합니다.
2-5. 배워가며 일할 수 있다는 생각을 하지 않는다.
개발자는 배우고 나서 일하면 늦습니다. 배운다는 것은 결국 가르치는 사람이 있다는 것인데 가르치는 사람이 이미 존재하는 상황은 늦은 것이며 시장에서 도태될 가능성이 높습니다.
또한 업무 중에 주로 배우는 것은 업무를 하는 방법이기에 공학자로서 배우는 것에는 한계가 있습니다. 기반 지식을 모르는 상황이면 새로운 지식을 익히는데 시간이 많이 필요합니다. 업무를 하는 방법만 알게 되는 경우 문제가 발생했을 때 빠르게 적절히 해결하는 것이 불가능합니다. 온라인에 컴퓨터공학 관련 강의가 무료로 넘쳐나는 세상입니다. 남는 시간에 꾸준히 지식을 습득하는 습관을 키워서 일하기 전에 이미 기반 지식을 확보하는 것이 좋습니다.
운이 좋다면 사수가 자신의 시간을 할애해서라도 배경지식을 설명하는 사람일 수 있는데 이 경우라면 감사히 생각하고 간식이라도 좀 더 사드리는 것을 추천합니다. 업무 시간은 정해져 있고 그 시간 안에 급여 값을 해야하는 직원의 입장이 있기에 그런 사수를 만날 가능성은 아주 낮습니다. 사수 본인의 업무가 밀릴 것을 알면서도 시간을 할애해서 후임자를 가르칠 이유가 없기 때문입니다. 단, 회사에 설명하는 문화가 있고 시간을 내서라도 세미나를 하는 곳이라면 학문과 기술을 모두 익힐 수 있을 것이지만 이런 회사는 대부분 규모가 있고 안정적인 회사이며 고연봉을 받는 개발자들이 모여있는 곳이기에 현실적으로 비전공자 신입이 입사할 가능성은 낮습니다.
살아남은 비전공자 개발자의 공통점을 추려봤지만 맥락을 보면 비전공자 뿐만 아니라 전공자에게도 해당하는 내용입니다. 사실소프트웨어 개발자가 아닌 다른 분야에도 적용가능한 내용입니다. 제 경험 뿐만 아니라 온라인에는 어떤 내용이 있는지 간단하게 조사해보았습니다.
3. 온라인 커뮤니티에서의 인식
블라인드와 잡코리아, 사람인 등의 커뮤니티 게시판을 확인해보면 쉽게 관련 내용을 확인할 수 있습니다. 응원하는 내용도 있지만 익명의 특성상 조롱하는 내용도 있고 조크를 섞어서 조언하는 사람, 진지하게 조언을 하는 사람까지 다양하게 있습니다.
4. 비전공자 개발자가 준비해야 하는 것들
비전공자라도 개발자는 개발 공부만 하면 된다고 생각할 수 있는데 이것은 반은 맞고 반은 틀렸습니다. 개발 공부라는 것이 기술적인 측면을 말하는 것이라면 기술은 계속해서 바뀌는 것이고 소프트웨어 개발자의 경우 그 변화는 불과 몇 주에서 몇 개월 만에 흐름이 바뀔 만큼 빠릅니다. 그러므로 기술을 빨리 이해하는 것이 중요한데 빨리 이해하려고 하면 기술의 기반인 컴퓨터공학 지식을 학습하는 것이 중요합니다.
또한 우리나라 개발자 업계 중 특히 SI의 경우 기술자를 등급으로 구분하고 프로젝트를 발주하는데 이때 구분하는 기준이 자격증 취득 여부와 자격증 취득 후 경력이다 보니 자격증 취득도 필요합니다. 분야에 따라서 다를 수 있지만 학위가 자격증을 대신할 수도 있습니다. 결국 비전공자라고 해도 전공자의 길을 뒤늦게나마 따라가야 한다는 결론에 도달합니다. 최종적으로 비전공자 개발자가 해야 하는 것은 다음과 같이 7개로 정리할 수 있습니다.
- 업무 파악
- 사회 생활 * 혼자서만 일하는 것이 가능하다면 불필요
- 기술 공부
- 학문 공부
- 영어 공부 * 글로벌 사업이 있는 경우
- 자격증 취득 * SI 분야이면 필수
- 학위 취득 * 선택사항
5. 비전공자 개발자의 전망
SI 분야에서 비전공자 개발자가 시작할 기회가 많이 있습니다. 이 기회를 살려서 경력과 지식을 쌓아간다면 몇 년 내로 가시적인 성과가 나올 것입니다. 연봉을 올릴 생각이 없으면 현재 상태만 유지해도 됩니다. 내가 어떤 재능을 가졌고 어떤 라이프 스타일을 추구하는지에 따라 선택하면 됩니다. 단지, 유튜브나 국비교육 학원의 선전 문구에서 나오는 것처럼 '비전공자 개발자인데 카카오, 토스에 취업했습니다.'라는 소수의 사례를 보고 나도 당연히 저렇게 될 수 있지라는 희망적인 미래만을 바라보지는 않았으면 합니다.
6. 참고문서
[1] 김철현 기자 등 3명, "[IT개발자 쟁탈전] 2000년대 컴공科 전성시대", 아시아경제, 2021년 3월 10일. @LINK
[2] Malte Bucksch, "What makes a great developer? A story of an extraordinary blacksmith", QuickBird Studios 2018년 10월 30일. @LINK
'공학코드 > 사회 이슈에 대한 생각' 카테고리의 다른 글
공교육에 프로그래밍과 인공지능이 도입되고 입시에 더 활용될 것 같다. (0) | 2023.02.18 |
---|---|
카타르월드컵 2022 우리나라 16강 진출 (0) | 2022.12.03 |
경북대학교 개인정보 유출 사고 (2) | 2022.11.24 |
댓글