오랜만이다. 거의 1년, 11개월만에 글을 쓴다.
오랜만에 글을 쓰는 것에 대한 변명을 굳이 굳이하자면 6월 취업을 하고 난 후 ‘적응 이슈’와 ‘블로그 작성의 필요성’을 느끼지 못하기도 했고, 새로 배운 무언가를 ‘이쁘게’ 정리하기보단 러프하게 정리하는 시간들이었다.
근황
최근 가장 큰 관심사는 당연 AI, 클로드 코드이다. 회사에서 팀당 5명의 클로드 코드 사용 선발대를 뽑았는데, 고민 끝에 자원해서 클로드 코드의 성능을 느끼기도하며 여러 시도를 하며 다시 개발자에 대한 열정을 느끼고 있다.
사실 입사 후엔 오히려 개발자라는 직업에 대한 열정과 동기부여를 잃는 시간들이 꽤 있었다.
상상해오던 ‘개발자’라는 직업과 현실은 다르다는 것, 내가 생각한대로의 커리어를 이루는 것은 쉽지 않다는 것,‘신입 개발자’가 하는 일 정도는 커서에게 프롬프팅이나 request 최적화 이런걸 하지 않고 맡겨도 되는 영역이다 보니 스스로 이정도면 되겠는데? 하고 안도해버리는 시간들과 함께 개발자로 나의 가치는 끝인가? 라는 고민에 빠진 시간들을 보내다가 최근 클로드 코드, AI Agent 기반의 개발 방식 변화에 대한 생각을 이쯤에서 정리하고자 글을 쓴다.
온보딩
우선 가장 먼저 이야기할건 입사 후 처음 진행한 온보딩 프로젝트가 아닐까 싶다.
회사에 입사하고서는 처음 3주정도는 8명의 동기들과의 온보딩 프로세스가 있었다. 온보딩 기간동안 프로젝트를 진행한다는 사실에 자연스레 프로젝트를 하며 실무적인 부분을 가르치고 익히는 시간이 되겠구나 라는 기대를 했다.
하지만 받은 프로젝트의 요구사항은 생각과는 달랐다.
- ‘단 한 줄의 코드도 직접 작성하지 말고, AI (cursor)를 활용할 것’
- ‘모든 의사 결정 과정 (설계, 개발, 테스트, 코드 검토 단계) 또한 AI agent를 거칠 것’
- 백엔드, 프론트엔드 담당자를 구분하지 않고 진행할 것
기능 요구사항도 명확하게 정리된 것은 아니고, 사내 챗봇을 만들고 어떤 기능이 있었으면 좋겠다는 내용 정도의 요구사항으로 ‘사내 인프라를 통한 배포’외에는 정말 하나부터 열까지 다 새롭게 구성을 해야했다.
‘정해진 무언가를 주입하는 시간’이 아닌 ‘백지를 주고 그림을 그려, 근데 너가 그리지는 말고’ 이런 느낌이었다.
어수선한 첫날을 보내고 2일차, 동기들과 회의실을 잡아 어떤 기능을 구현할지, 8명이서 인원 분배는 어떻게 할지, 누가 무엇을 어떻게 작업할지, 환경 세팅이나 필요한 AI 툴, 기술 스택은 무엇을 쓸지 등을 논의하는 시간을 우선 가졌다.
불과 1년전이지만 당시에는 당연하게도 지금만큼 에이전틱 코딩이 트렌드는 아니었다. 그나마 GPT에게 ‘문제 상황을 잘 설명 → 잘 이해 → 코드에 적용’ 해본 경험과 개발 자체를 AI로 할 수 있다는 것까진 인지한정도?라 대부분의 주요한 논의는 전날 처음본 8인의 갓 취준생 딱지를 뗀 사람들(동기들)끼리 ‘사람에 의한 결정’으로 진행되고 있었다.
그렇게 논의를 이어가던 중 교육 담당 리더님께서 중간에 들어와 크게 잔소리를 하셨다.
일단 AI를 돌리고 생각하라
AI로 모든걸 다하라고 했는데 왜 딜레이가 되는지, 이미 기능명세를 GPT에 돌리면서 나온 결과를 기반으로 무언가를 하고 있어야지 왜 머리만 맞대고 있느냐라는 잔소리를 들었고
지금 모든 개발자가 클로드 코드 (또는 codex, cursor)등을 통해 개발을 하고, 직접 IDE에서 코드를 짜기보단, 터미널에서 LLM과 대화를 통해 개발하고, 기획, 디자인, QA까지 클로드로 업무자동화를 고민하고 있는 분위기를 생각해보면, 당시 온보딩을 담당하셨던 리더님은 확실히 트렌드를 잘 읽는 분이셨던 것 같다.
돌이켜보면 그 당시부터 조금 더 AI를 활용하는데 집중을 했다면 어땠을까? 하는 후회가 든다.
실제로 개발 연차가 있는 일부 개발자들은 AI를 쓰지 않으려는 경향이 있다고 한다. 당시 나도 동일했다. AI의 피드백을 기반으로 총 7개로 구분된 기능 담당자와 1개의 배포 및 인프라 관리 담당자가 필요하다는 결론을 냈고, AI로 코드를 짜는건 누구나 언제든 할 수 있고, 오히려 AI를 활용하기 어려운 사내 인프라와 배포 세팅하는 과정을 담당하면 더 많은 성장을 할 수 있지 않을까..? 하는 다소 올드한 생각을 했다.
팀에 와서 업무를 할때도 AI를 잘 활용하기 위한 특별한 노력을 하지 않았다.
다소 부족한 FE 개발과 화면 영역 QA를 할때도 특별한 방법을 쓰기보단, 커서에게 적당히 끊어서 전달만 잘하면 대부분 이슈가 해결되고 rules, skills, subagent 이런것들의 필요성을 딱히 느끼지 못하며 그렇게 하루를 보냈다.
이때가 꽤 개발과 커리어?에 대한 매너리즘에 빠져가는 시기였다.
AI로 무얼할 수 있는가
그렇게 겨울을 보내고 지난 1월부터 클로드 코드가 핫해지며 회사에도 관련된 붐이 불기 시작했고 본사를 건너 우리 팀도 클로드 코드 지원자 5명 지원을 받았다.
기존에 커서를 쓸 때 MCP는 Sequential Thinking 하나만 연결해두니 토큰을 다써도 기본 모델로 꽤 성능이 나오는데 필요할까? 라는 생각과 지원을 하게 되면 뭔가 성과나 이런 보고를 해야할 것 같기도 하는 생각에 고민을 하다가 이거라도 안하면 더 뒤쳐질 것 같아 무작정 지원했다.
막상 클로드를 받고 처음엔 뭘해야되지? 라는 생각이 컸다. ‘신입 개발자’는 아는게 얼마 없고, 흔히 취준할때 ‘뭘 모르는지 모르는데 뭘 찾아봐야되지?’라는 생각, 이걸 잘 활용하기엔 내가 아는것도 꽤나 부족하다는 생각에 스트레스를 받기도 했다.
그러다 문득 ‘아무것도 모르는 나도 일을 할 수 있을까?’ 소문대로 ‘딸깍’이 될까? 라는 궁금증이 생겼다.
AGI라든가, 더 이상 개발자는 필요없다는 이야기, 화이트 칼라 직군이 모두 대체되고 현장직이 늘어난다는 이야기들이 진짜인지 아닌지 한 번 직접 느껴보고 싶어 다시 온보딩때 교육 리더님이 하신말씀처럼 맡은 프로젝트의 모든 개발을 클로드로 진행해봤다.
후기를 먼저 말하자면 진짜 ‘딸깍’이 된다. 기획서 PDF 하나를 주면, FE와 BE 프로젝트를 묶은 상위 디렉토리에서 세션을 시작하고 사내 문서 접근 허용을 해주면 링크 안에 있는 링크까지 읽으며 내가 해야할 일을 정리하고 작업까지 해준다.
(오히려 쏟아내는 코드를 내가 팔로우하기 어려울정도)
물론, 토큰 소모량이 장난이 아니다. 4월 첫 프로젝트 개발을 마쳤을땐 1주일만에 할당된 토큰의 절반 이상을 소모했으니 ..
다른 사람들은 이걸로 무엇을 하는가하고 보니 IT업계 사람들이라? 역시 자기가 활용하는 부분에서의 문제들부터 개선하기 시작했다.
크게는 2가지 형태로 활용을 하고 있었는데
- 지식이 많지만 다소 귀찮고 복잡한 영역을 자동화하기 위한 노력
- 마크업 산출물 → 개발까지 하나의 프로젝트를 개발하는 사이클에 대한 스킬 생성
- 본인이 잘 알고 있는 컨텍스트를 스킬 & 에이전트화해서 사용하는 느낌?
- 본인이 부족한 영역을 AI로 보완
- 기획자가 와이어프레임을 HTML로 만들어옴
- 말그대로 부족한 부분 채우기
클로드와 AI를 잘 활용하는 사람들과의 차이를 보면 사실 기간이 그렇게 길지는 않다. 6개월 ~ 10개월? 하지만 그 차이도 확실히 ‘늦었다’라고 말할 수 있을만큼 AI를 잘 활용하는 사람들은 단순 ‘코딩 에이전트’가 아닌 개인이 생각하던 불편한 영역과 하고싶던 영역에서 무언가 뚜렷한 산출물들을 만들고 있었다.
그럼 뭘 채워야할까
개발자로 취업 준비를 하던 23년부터 기업에서 원하는 인재상이 무엇이냐를 물어보면 ‘T자형 인재’라는 이야기를 많이 들었다.
취업 준비를 하는 과정에서 가고 싶던 기업에 떨어질때면, 개발자로 파고 드는 능력은 있지만, 무엇 하나에 특출난 부분이 없는 ‘T자형 인재’가 아니어서 떨어진게 아닐까? 라는 생각에 개발자로서의 능력을 의심하던때도 있었다.
하지만, 클로드코드가 붐이 되며 하나의 영역을 잘하기보단, AI를 활용해 모든 영역을 커버하는 것과 ‘AI가 하지 못하는 일을 할 수 있는 것’과 같이 범위의 경계가 모호해지고 있다. 실제 스타트업에서는 기획자나 디자이너가 코드를 짜고, 그걸로 POC를 하기도 하고, 반대로 개발자가 AI를 활용해 기획 디자인을 하기도 하며 IT분야의 직군간의 경계가 모호해지고 있다고 하니.. 그런 관점에선 백엔드 개발자로만 취업 준비를 하고 커리어를 쌓아온 나에게 ‘풀스택 개발자’라는 포지션은 시대를 앞서간 채용이 아니었을까? ㅋㅋ
그래서 AI 사용하지 않으면 안되는 시기에 무엇이 중요하냐? 많은 것들이 중요하지만 난 아래 3개가 가장 중요한 것 같다.
- 실행력
단순 ‘개발’뿐만이 아니다. 클로드 코드 MAX 플랜을 결제하면 오프라인 아날로그로만 존재하는 세상을 제외하곤 무엇이든 할 수 있는 세상이다. - 방향성
하고자 하는 것이 명확한 것 - 추상화(라고 쓰고 분해력?)
문제를 작게 쪼개는 능력- 그 사이에서 ‘내가 더 잘할 수 있는 것’과 ‘잘 모르기에 보완해야하는 것’을 구분하는 능력
- 쪼개진 영역에서 AI에게 맡길 것과 내가 할일을 구분하는 것
- 맡긴 영역의 결과물이 더 잘 나오도록 고민하는 것
- 내가 할 일을 편리하게 하거나, 놓치는것을 보완하는 것
마무리
현재 개발자라는 직군은 거친 파도 앞에 서있는 것 같다는 말이 맞는 것 같다.
그래서 어떻게 행동해야할지, 도망을 가야하는지 맞서야하는지, 맞선다면 파도를 견뎌야하나, 타고 날아야하나 정답은 없지만 각자의 생각대로 의견이 갈리는. AI Agent 기반의 개발 방식에 관하여 정말 많은 의견들이 쏟아지고 있고 정말 다른 의견들이 쏟아지고 있다.
개발자가 되고자 했던 가장 큰 이유는 내가 생각한 아이디어를 IT서비스로 구현하는 능력을 갖추고 싶다는 것, 그 과정에서 CS와 백엔드를 공부하며 작은 부분들에 관심이 생기기도 했지만 결국 내 꿈은 ‘문제를 해결하는 개발자’이다.
AI가 시장을 주도하고, 개발 뿐만 아닌 프로젝트의 모든 사이클에 AI가 개입된다고해서 그 본질이 바뀔까?
결국 웹, 앱 기타 등등 방식은 바뀌더라도 사용자가 IT서비스를 접할 수 있는 분야에서 꾸준히 개발의 산출물은 활용될 것이다. 그렇다면 지금은 오히려 꿈을 이룰 수 있는 기회에 가까워진, 꿈을 이룰 시간이 아닐까.
이제 어느덧 1년차 개발자가 되는 시점에서 그래서 너 그 회사에서 뭐했는데? 라고 하면 당당하게 말할 수 있는건 아직 없지만, 주니어로 이 시대에 파도를 마주하고 살아남는 그 과정을 블로그에 기록해보겠다.
이 글은 AI가 아닌 작성자 본인이 직접 작성한 글입니다.