AI 시대, 신입의 딜레마
퇴사를 하고 혼자서 개발을 한 지 6개월이 넘었다. 지난 6개월은 그 어느 때보다 변화가 빠른 시기였다. 특히, 코딩을 하면서 그 변화를 정통으로 맞았다. 회사에 계속 있었다면 아직 그 변화를 크게 느끼지 못했을 것이다. 직접 코딩을 하며 제품을 만들고 삽질을 하다 보니 개발에서 AI 발전 속도를 있는 그대로 체감하게 된 것이다.
주위에는 미들급도 있지만, 신입/주니어 레벨도 꽤 있다. 그들을 한때는 멘토링하는 입장이기도 했고, 지금도 멘토링을 해주기도 하고 가끔 이력서를 가져오면 피드백을 해주기도 한다. 그러다 보니 자연스럽게 그들의 고민이 내 고민이 되어서 이런 저런 질문과 생각을 하게 되었다. 이 어려운 시장에서 그들이 취업을 하고 잡을 구하려면 어떻게 해야 하나? 대 AI 시대에 그저 이전처럼 포트폴리오 준비하고 부트캠프에서 프로젝트하고 블로깅하면 과연 그들이 잡을 구할 수 있는가? 그들은 도대체 어떻게 성장해야 하는가?
채용 시장의 냉정한 현실
왜 신입 채용이 줄었는가
이렇게 기술 변화가 빠른 시기에 시장은 급속도로 얼어붙어 채용은 확 줄었다. 특히, 신입 채용은 거의 씨가 말랐다. 3, 4년 전과 달리 IT 업계는 구조조정, 희망퇴직, 파산, 사업 실패 등의 여러 경험을 하기도 하고 보기도 하면서 살아남은 기업들은 정신을 똑바로 차리지 않으면 망한다는 교훈을 얻었고 어쩌면 시장이 풀려 돈이 돌아 다시 상황이 좋아져도 이때의 학습 때문에 3, 4년 전처럼 무턱대고 채용을 진행하지는 않을 것이다.
AI 때문에 개발자가 죽는다는 건 아직까지는 거짓 명제이다. 우리는 거시적 경제 흐름을 거스를 수 없고 취업난은 우리나라를 막론하고 전세계적인 이슈이다. 특히, 기업들이 곳간을 걸어 잠그면서 바로 써먹을 수 없는 즉, 키우고 가르쳐야 하는 신입 채용에는 거의 비용을 지불하지 않는다. 내일이 보일 때야 미래를 설계하는 거지 오늘 하루하루를 버텨야 하는 지금으로선 그 모든 것이 낭비이다. 하지만 그런 원인(세계적 경제난)에 의한 현상(취업난)이 AI로 인하여 가속화되는 건 참 명제이다.
기업이 원하는 사람
지금 가장 많은 채용 공고가 올라오는 것이 미들, 즉 4년~6년 차 정도인데, 3, 4년 전 소위 개발자 호황에 잘 진입했던 많은 분들은 시장의 어려움에도 상대적으로 이직을 수월하게 하는 모습을 종종 본다. 하지만 이제 막 개발을 공부해 보려고 하거나 개발을 막 시작한 신입, 주니어들은 취업/이직을 아예 못하거나 운이 좋게 취업이 되더라도 제대로 된 학습 기회를 얻지 못하는 실정이다.
미들급을 많이 채용한다는 건 현재 프로젝트에 바로 투입 가능한 사람을 뽑는다는 것이다. 신입인 이상 실제 운영하는 프로젝트를 만들어 보거나 운영해 본 경험은 전무할 것이다. 그러니까 지금 신입이 채용 시장에서 경쟁력을 가지려면 협업하여 만든 팀 프로젝트를 실제 사용자들이 쓰는 환경에서 배포해보고 운영한 경험이 필요하다는 것이다. 한 명의 개발자가 마케팅과 운영까지 신경 쓰면서 무언가를 하나 만들어서 운영까지 해보는 경험은 쉽지 않다. 아니 어렵다. 그런데 지금 기업들은 그런 사람을 채용한다.
AI는 신입에게 양날의 검이다
AI는 신입에게는 양날의 검이다. 아주 구태의연한 비유인데, 뭐랄까 휘두르면 휘두를수록 내가 더 많이 베이는 검이랄까. AI가 있으면 모든 걸 다 능동적으로 물어보고 공부해 볼 수 있고 쉽게 할 수 있고 이제 전통적인 교육은 사라지고 정말 누구나 무엇을 할 수 있겠다라고 말하는 사람들이 종종 있다. 나도 내가 ‘잘’ 알고 있는 개발 분야는 그렇게 학습할 수 있고 그렇게 학습하고 있다. 서점에서 개발 서적 코너를 언제 갔는지 가물가물하다. 예전에는 교보문고에 들르기만 하면 무조건 들러서 무슨 책이 나오는지 보곤 했다. 지금은 거의 가지 않는다.
무엇을 모르는지 모르는데 어떻게 질문하나
하지만 내가 새로운 분야를 공부한다고 하면 바로 AI를 활용할 수 있을까?
최근에 일본어 공부를 해보고 싶어 AI로 문장도 찾아보고 이것저것 하다가 결국 교재와 강의를 구매했다. 처음 시작하는 사람은 무엇을 질문해야 하는지조차 모른다. 머신러닝에 비유하자면 어느 정도 데이터셋으로 프리 트레이닝 되지 않으면 아무것도 할 수 없다.
그래서 나는 신입들을 멘토링할 때 Claude Code와 같은 AI 에이전트를 최대한 사용하지 말라고 한다. 누군가 이 얘기를 들으면 시대착오적인 조언이라고 할 수 있다. 그렇게 볼 수도 있겠다. 하지만 무엇을 모르는지도 모르는 상태에서 작업의 대부분을 AI 코딩 에이전트에게 모두 맡기게 되면 나의 모든 학습/성장 기회를 잃게 된다. AI 덕분에 모두가 무엇을 만들 수 있지만 AI 때문에 모두가 배우지 못하는 시대가 되었다.
AI 에이전트와 검색/질문의 차이
여기서 말하는 조언은 비개발자인데 바이브 코딩으로 제품을 만드는 사람(사업가)이 아니다. 전문 개발자로 성장하고 싶은 분들에게 하는 조언이며, 이건 꼭 개발 분야가 아니더라도 내가 전문성을 가져야 하는 분야에서 모든 걸 AI에게 맡기게 되면 제대로 성장할 수 있는 기회를 얻기가 힘들다. 물론, 검색하고 모르는 걸 물어보고 할 때 AI를 사용하는 건 권장한다. (내가 말하는 사용하지 말아야 하는 건 모든 걸 대신 해주는 AI 코딩 에이전트이다.)
AI가 없던 시절에도 Stack Overflow에서 원인 분석보다는 오류 검색해서 동작하는 코드를 그대로 복사 붙여넣기 하는 일은 비일비재했다. 다만, 내가 문제를 직접 AI에게 물어보는 것과 아닌 것의 차이일 것이다. 그리고 생각보다 그 주체가 나에게 있는지, AI에게 있는지에 따라 문제를 해결하고 무언가를 만들어가는 과정에서의 학습이 나의 것이 되는지, AI에게 버려지는지가 결정이 된다.
그럼 AI를 어떻게 써야 하나
구체적으로 말해보겠다. 신입이 AI를 쓸 때 지켜야 할 기준은 “내가 먼저 시도했는가”이다. 에러가 났을 때 에러 메시지를 먼저 읽어라. 그리고 왜 이 에러가 났을지 가설을 세워봐라. 그 다음에 AI에게 물어봐라. “이 에러 어떻게 해결해?”가 아니라 “이 에러가 난 이유가 A인 것 같은데 맞아?”라고 물어보는 거다. 이 차이가 크다. 코드를 작성할 때도 마찬가지다. 일단 내가 먼저 쳐봐라. 막히면 어디서 막혔는지 파악하고, 그 부분만 물어봐라. “로그인 기능 만들어줘”가 아니라 “세션 유지가 안 되는데 이 부분 로직이 잘못된 건가?”라고 물어보는 거다.
정리하면 이렇다.
이렇게 쓰자:
- 에러 메시지 읽고 가설 세운 뒤 검증 요청
- 내가 작성한 코드에 대한 피드백 요청
- 개념이 헷갈릴 때 설명 요청
- 내 풀이가 끝난 후 다른 접근법 질문
이건 피하자:
- 요구사항 던지고 전체 코드 생성 요청
- 에러 메시지 읽지도 않고 바로 붙여넣기
- “이거 왜 안 돼?”라고만 물어보기
- AI가 준 코드 이해 없이 복붙
결국 주체가 나에게 있어야 한다. AI는 내 학습을 도와주는 도구이지, 나 대신 학습해주는 존재가 아니다.
지금 신입이 길러야 할 것들
앞서 문해력, 실전 프로젝트, 코딩 테스트 얘기를 할 건데, “그래서 뭘 먼저 해야 하나요?”라는 질문이 나올 것 같다. 솔직히 말하면 상황마다 다르다. 하지만 굳이 우선순위를 매기자면 이렇다.
- 당장 면접이 잡혀 있다면: 코딩 테스트와 프로젝트 정리가 먼저다. 문해력은 하루아침에 올라가지 않는다.
- 3개월 이상 여유가 있다면: 독서와 글쓰기를 병행하면서 실전 프로젝트를 시작해라. 코딩 테스트는 매일 1문제씩 꾸준히.
- 6개월 이상 긴 호흡으로 준비한다면: 문해력부터 쌓아라. 이게 결국 다른 모든 학습의 속도를 결정한다.
중요한 건 세 가지 모두 “해야 할 것”이 아니라 “습관”이 되어야 한다는 거다. 취업 준비 기간에만 반짝하고 끝낼 게 아니다. 책 읽기, 프로젝트 운영, 문제 해결 훈련은 개발자로 일하는 동안 계속 해야 할 일이다. 지금 시작하는 게 빠르다.
문해력 - 읽고 쓰는 능력
최근 멘토링을 했던 경험을 생각해보면, 가장 큰 문제가 되는 것이 문해력이다. 대 AI 시대에 어쩌면 코드보다 글을 읽고 쓰는 능력이 더 중요해진 것 같다. 특히 요즈음 AI 모델은 하나의 질문에 어마어마한 답변을 쏟아내는데 그걸 제대로 읽고 이해하고 소화해서 나에게 맞는 솔루션을 적용하는 것도 문해력이다. AI에게 적절한 질문을 하는 것도 마찬가지. AI와의 소통 외에도 결국 조직에 들어가면 사람들과 커뮤니케이션할 것이고 상대방의 얘기에서 핵심을 이해하고 소화해서 내 의견을 정리해서 말을 하는 것도 문해력에서 확장되고 길러질 수 있는 능력이다.
개발자 취업을 준비하는 사람이 나에게 무엇을 준비해야 할까요?라고 하면, 나는 프로젝트보다 알고리즘보다 책을 많이 읽으라고 얘기한다. 그리고 책을 읽고 그 내용에 대해 내 생각을 정리하고 다른 사람과 많이 얘기해 보고 글로 써보라고 얘기한다. 그게 단기적으로 문해력을 올릴 수 있는 가장 빠른 방법이다. 모든 콘텐츠가 숏폼인 대 쇼츠의 시대에 딱 하나 남들보다 앞서가며 가져갈 수 있는 경쟁력은 독서이며 글쓰기이다. 이게 뒷받침되어 준다면 내가 개발자를 목표로 하든, 다른 분야를 학습을 하든 훨씬 빠르게 성장할 수 있을 것이다.
책을 많이 읽은 사람이 성공하지는 않는다. 하지만 내가 본 성공한 창업가들은 모두 다독가였다. 메타인지가 되고 현재의 현상을 파악하고 학습하여 빠르게 액션 아이템을 가져가는 사람들도 모두 다독가였다. 가끔은 그들과 알게 모르게 이전에 읽었던 책에 대한 내용을 얘기하면 내가 읽었던 건 모두 읽은 사람들이 대부분이었다. 성장이 멈추고 계속 같은 실수를 반복하는 사람들은 대부분 책 읽기를 멈춘 사람들이었다.
책 많이 읽으라고 하면 “무슨 책을 읽어야 하나요”가 따라오는 질문이다. 정말 내가 책과 담을 쌓고 있다고 생각하는 분들은 아무 책이나 읽어라. 얄팍한 자기계발서도 괜찮다. 그게 얄팍한지 아닌지는 내가 읽고 판단하는 거니까. 다만 빠르게 문해력을 올리고 싶으면 글을 쓸 수 있는 책을 읽어라. 소설을 읽고 감상을 쓰든, 경영 서적을 읽고 내 생각을 정리하든 남들에게 내 생각을 공유할 수 있는 책을 읽는 게 본인의 성장을 가속화시킬 것이다. 특히, 2~3권 정도 내가 성장을 위해 책을 읽는다면, 남들이 추천하는 소설책 한 권 정도는 읽어주면 좋다. 소설은 우리의 메타인지와 공감 능력을 생각하지 못하는 사이에 성장시킨다.
실전에 가까운 프로젝트 경험
전문 지식을 아무리 깊이 쌓아도 혼자서 공부하는 데에는 한계가 있다. 부트캠프나 학원에서 한두 달 진행한 버려지는 프로젝트들은 기업 입장에서는 아무런 감흥을 주지 못한다. 현재 시장이 요구하는 현실을 직시하고 실제와 가까운 프로젝트가 무엇인지 고민하고 그런 경험을 쌓은 사람이 차별성을 가질 것이다. 오히려 개발자는 AI 도움이라도 받을 수 있지, 다른 분야는 기업에 들어가기 전에 그런 경험 자체가 희소하기 때문에 역설적으로 더 좋게 생각해야 한다. 실전에 가깝다는 건 작은 기능이라도 직접 배포하고 사용자를 모집하고 그 모집한 사용자에게 피드백을 받고 기능을 개선해본 경험이다. 대부분 신입 포트폴리오가 토이 프로젝트에 끝나기 때문에 직접 운영 환경에 배포해보고 개선시킨 경험만 있어도 크게 차별성을 가질 수 있고, 거기에 더해 버그를 수정하고 사용자에게 피드백을 받는 경험을 해나가면 좋다. 어느 시기에 있든 지금 시장에서 취업은 인내를 필요로 하고 그 시간을 단순히 공부하느라 낭비하지 말고 실전적인 경험을 쌓을 수 있는 프로젝트를 탐색하고 기획해 보고 진행해 보아라. 10명이라도 쓰는 걸 만드는 것과 버려지는 프로젝트를 만드는 건 전혀 다른 성장 기회를 제공할 것이다.
코딩 테스트 - 암기가 아닌 문제 해결 훈련
신입 개발자들이 마지막으로 AI가 다 해주는 시대에 코딩 테스트를 공부하는 게 의미가 있냐고 많이들 물어본다. 그리고 실제로 실무에서도 알고리즘 코딩 테스트는 원래도 무쓸모였고 이제 더 의미가 없다라고도 말한다.
사실 이 얘기가 사실이면서도 사실이 아닌 점이 있는데, 알고리즘 자체가 쓸모 있냐라고 하면.. API 만들면서, UI 구현하면서, 동적 프로그래밍을 우리가 쓸 일은 거의 없다. (일반 SaaS, B2C 서비스 한정) 차라리 앞서 말했듯 책 많이 읽는 게 직접적인 연관성은 더 높을 것이다. (미팅하고, 문서화하고) 다만, 동적 프로그래밍을 도메인 지식이라고 보면 현재 주어진 문제를 어떻게 풀지를 연습하는 과정은 개발자에게 필수적인 학습 과정이라고 생각한다.
즉, 자료구조와 알고리즘 이론과 문제 풀이를 외우듯이 코딩 테스트를 준비하는 것은 1도 도움이 안 된다. 우리는 어떤 회사 어떤 도메인, 프로젝트에서 항상 새로운 고객, 새로운 요구사항에 마주할 수 있기 때문에, 우리가 여기서 알아야 할 것은 알고리즘이라는 형식지가 아닌 그 문제를 푸는 과정에서 습득하는 암묵지이다. 문제가 주어지고 내가 어떻게 풀지 생각을 정리하고 그걸 코드로 옮기고. 여전히 빅테크에서 알고리즘 인터뷰를 중요하게 보는 이유라고 생각한다. 우리가 포트폴리오 프로젝트를 하면서 10개의 서로 다른 고객 요구사항을 분석하고 모두 구현하기에는 현실적으로 쉽지 않지만, 알고리즘 문제를 풀면 매 문제마다 새로운 환경과 정보에서 문제 푸는 과정을 연습할 수 있다. 이러한 의도적 수련이 담보된다고 할 때 알고리즘 코딩 테스트는 굉장히 큰 도움이 될 것이다. 그리고 내 풀이가 끝나고 나서 AI에게 피드백을 요청하면서 다각도로 지식과 경험을 확장하는 과정이 동반되면 더할 나위 없이 좋다.
마무리 - 여전히 사람이 필요한 이유
언젠가 우리의 직업들이 모두 AI에 대체되는 시기가 올 수도 있겠다. 하지만 아직은 사람이 직접 드라이브를 해야 한다. 시장이 위축되어 채용이 줄어든 거지, 채용 자체가 없는 건 아니다. 이렇게 빠른 기술 발전을 이루고 있음에도 여전히 기업에서는 채용을 진행하고 사람을 필요로 한다. 조직을 운영해 보면 코딩 그 자체보다 사람이 기회인 동시에 문제인 경우가 더 많다. 아마 다른 분야도 비슷할 것이다.
내가 기업 채용 담당자이거나 오너라고 할 때 어떤 사람이랑 일하고 싶을까? 그 기준에 비해 나는 무엇이 부족한가? 그런 부분들을 잘 생각해 보면 생각보다 준비해야 하는 것들이 명확하다. 기업은 조직(사람)에 10을 투자해서 11을, 20을, 100을 얻으려고 할 것이다. 스스로가 조직 전체 성장에 기여할 수 있는 사람인지 취업을 하고 나서도 항상 고민해야 한다.
시장이 어렵다. 이럴 때는 나의 길을 가면서 “진인사대천명”의 마인드로 “정진”하는 자세가 필요하다. AI 때문에 어쩌고저쩌고 한마디 얹을 시간에, 하염없이 쇼츠를 보고 있는 시간 대신에 책을 읽고 내 생각을 정리해라. 능숙하지 않더라도 꾸준히 해보길 바란다. 그리고 공부하려고 하지 말고 일을 하듯이 프로젝트를 진행해 보아라. 또한 암기하려고 하지 말고 과정을 훈련하듯이 코딩 테스트를 연습해라.
시대를 거스를 수 없다. 인간 개인은 나약하다. 인간은 환경에 쉽게 휩쓸린다. 좋은 성과가 나올 때는 대부분 환경도 따라줬기 때문이다. 내가 잘해서 취업을 한 것 같지만 시장이 좋아서 일수도 있고(또는 타이밍이) 조직에서의 내 성과는 보통 조직의 시스템에 기반하기 때문이라는 것은 업무를 해본 모두가 공감할 것이다. 즉, 내가 잘했다고 자만해서도 안되고 내가 못한다고 자괴감에 빠질 필요도 없다. 시대를 이길 수는 없지만, 오늘 하루를 이길 수는 있다. 스스로 자신을 돌아보면 지금 이 순간 무엇을 해야 할지 이미 알고 있을 것이다.
신입 개발자들을 멘토링하면서 떠오르는 생각들을 러프하게 정리해 보았다. 이 글이 개발자뿐만 아니라 격변하는 AI 시대에 성장하고자 하는 모든 신입들에게 조금의 도움이라도 되었으면 좋겠다.