포스트

2025년 회고

2025년 회고

올해는 유난히 빨리 지나간 것 같다. 그야말로 다사다난했었기에 그랬던 걸까. 그런데 올해 초에 있던 일을 다른 사람들과 이야기를 나누는데 아주 오래전 일 같이 느껴졌다. 신기한 일이다.

2025년 회고

가장 중요한 부분은 크게 두 가지 있다.

  • 바이브 코딩으로의 전환
  • 교육생 수 감소

상반기에는 구미와 대전을 하반기에는 광주, 서울 네 지역을 한 번씩 다녀왔다. 나머지 두 번은 연구와 오픈소스였다. 반을 맡았던 네 번 중에 대전을 제외하고는 분위기가 아주 좋았기 때문에 전체적으로 행복했던 한 해였다.

바이브 코딩의 확산

이건 하반기에 들어서 확연히 바뀐 부분이다. 상반기만 해도 브라우저에서 chat gpt에 물어보는 게 보통의 모습이었다. 하반기부터 많이 변했다.
한창 개발을 하는 시기에 반을 돌아다니면 보게 되는 장면이 몇 있다. 교육생은 자리에 없는데 IDE에서는 개발이 한창 진행되고 있다. 사이드바의 채팅 창에 글자들이 올라가며 코드를 수정하고 있는 게 보인다. 클로드 코드, Copilot, Codex 등 다양한 바이브 코딩 툴들이 열일을 하고 있다.
git을 체크하다가 놀란 적도 있다. 팀 레포의 통계를 보는데 1주일 동안 6명이 수정한 라인 수가 +8만 / -5만 이라고 나온다. 이게 무슨… 복붙을 열심히 하더라도 말도 안되는 숫자이다.
반면 너무 많은 일을 안전장치 없이 맡겼다가 사고가 나기도 한다. 서버 세팅을 한참 하다가 운영체제를 잘못 건드려서 서버를 날려 먹는 경우도 있다.
그중 몇몇 활용을 열심히 하는 교육생과 얘기를 나눠본 결과 각자의 스타일을 만들어가고 있는 걸 알게 됐다. 처음에 정말 바이브로, 즉 코드를 거의 보지 않는- 개발을 하던 교육생도 몇 차례 사고를 겪은 뒤로는 충분히 주의를 기울이며 진행하는 쪽으로 바뀌었다. 반면 이런 LLM에 의존하는 개발 방식에 반대하며 전통적인 방식으로 직접 코드를 하나하나 입력하는 교육생도 소수 있다. 간혹 이런 차이 때문에 갈등이 생기기도 한다.
그리고, 나도 종종 겪곤 하지만 교육생들에게도 똑같이 생기는 일이 있다. 바로 토큰 소진이다. 조용히 모니터를 보고 있던 교육생이 갑자기 팀원들에게 한 마디 던진다. ‘어? 토큰 다 썼다. 뭐하지..’. 바이브가 끊겨 버린다. 이게 한번 맛을 들이면 빠져나오기 힘든 부분이 있어서 LLM이 하던 걸 받아서 개발을 이어가는 게 쉽지 않다.
이번 기수는 도입과 확산의 시기였던 것 같다. 새로운 기술에 적응해 가고 있다고 생각한다. 긍정적으로 평가하고 싶다. 반면 ‘앞으로 이거 없이 개발 어떻게 하려나’, ‘기존 개발자들은 어떻게 보려나’ 하는 염려도 조금 들기는 한다.

교육생 수 감소

교육생 수가 많이 줄었다. 그에 따라 1학기 기준 반도 일부 줄었다. 느낌상 10-15% 정도 줄어든 것 같다.
올해 첫 반이었던 구미에서는 11개 팀, 66명이 있었다.
상반기 마지막이었던 대전은 1년 전에 비해 한 개 반이 줄었고 남은 반의 팀도 줄었다.
하반기 첫 반이었던 광주는 9개 팀이 있었고, 그다음 서울은 10개 팀이 있었다. 숫자로 보면 크게 줄어든 것 같지 않지만, 빈 강의장을 볼 때 확연히 체감된다.
어떻게 보면 이전이 숫자가 너무 많았던 것일 수도 있겠다. 지역에 따라 편차가 있긴 하지만 많을 때는 한 반에 12개 팀일 때도 있었다. 즉 담당 교육생이 72명… 그때에 비하면 지금 정도의 인원이 적당한 것 같기도 하다. 가장 적었을 때는 한 반에 6팀 즉 36명 정도가 있을 때였다. 그때는 GPT 이전이고 취업이 잘 되던 때였다. 하지만 앞으로 더 줄게 된다면? 하는 염려는 된다.
AI로 인한 일자리 변화나 신입 채용이 감소했다는 뉴스에 영향을 크게 받은 것으로 생각한다. AI 영향은 분명 있겠지만 그외에도 코로나 이전부터 있던 수요-공급 불균형이 좀 해소된 것이라는 부분도 있을 것이다. 또한 자본 시장, 특히 투자 시장은 특성상 성급하게 반영하는 부분도 있다. 이러다가 ‘아 너무 줄였나’라고 국면 전환을 하게 될 날이 올 수도 있다.
그럼에도 개발에 진심이 있다면 여전히 도전해 볼 가치가 있다고 생각한다. 무엇보다도 뉴스로 접하는 것보다 춥진 않다고 생각한다. 과정 중에도 취업해서 나가는 경우가 있고 시간이 좀 걸리더라도 대부분은 개발자로 취업을 하고 있다.
다른 분야의 취업난도 심각한 상황에서 1년간 지원 받으며 개발과 IT 분야에 전문성을 갖추는 것은 향후 커리어에 큰 도움이 될 것이라고 확신이 있다.

나는 뭘 했나?

올해는 좀 더 적극적으로 하려고 했다. ‘이렇게 하면 더 좋지 않을까?’ 싶은 아이디어를 몇 가지 실행해 봤다.

가장 먼저 한 것은 자기소개를 바꾼 것이다. 새로운 반을 맡게 되면 나에 대한 소개로 첫인사를 하는데 작년까지는 계속 다듬어왔던 ppt로 진행했다. 이번에는 canva로도 해보고, 마인드맵의 프레젠테이션 모드로도 해봤다. 에 대한 부분은 과감히 줄이고 교육생과 관계된 부분-즉 여기에서의 내 역할을 중심으로 바꿔봤다. 무엇보다도 교육생이 나를 어렵게 생각하지 않고 편하게 다가올 수 있도록 노력했다.

올 초 구미에서는 재미있는 주제로 발표를 진행했었다. 발표 연습을 위한 것이었는데 아주 성공적이었다. 재미있는 발표도 많았고, 교육생의 관심도도 높았으며 프로젝트에 대한 열정을 높이는 데에도 도움이 됐다고 생각한다.
여름에 광주에서는 교육생들의 데일리 스크럼에 참여했다. 초반에 일하는 분위기를 만들고 아침 마다 스크럼 미팅을 하는 습관을 만드는 데 도움을 주었다. 구미에서 진행했던 연습 발표도 새로운 주제로 진행했었다.

그리고 좀 더 명시적으로 해야 할 것을 알려주고 피드백을 제공하려고 했다. 데일리 스크럼 때뿐만 아니라 매주 금요일 있는 팀 회고나 발표에 대해서도 상세한 피드백을 주려고 했다. 나는 될 수 있으면 긍정적으로 대응하려는 편이다. 좀 부족하더라도 칭찬을 곁들이려고 노력한다. 쉽지 않은 취업 시장에서 스트레스받고 있는데 조금은 용기를 주고 싶기 때문이다.

중간중간 우수한 결과물이 보이면 발표하게 하고 가벼운 보상을 주기도 했다. 교육생들이 서로 배우는 문화를 만들고, 성장에 대한 자극을 주기 위해서였다. 내가 잔소리를 10번 하는 것보다 내 옆에 친구가 하는 걸 보면 좀 더 자극받지 않을까? 하는 생각이 있었다. 자연스럽게 자기 PR이나 교류를 할 수 있는 계기가 된 점도 좋았다.

매번 새로운 시도를 하는 것은 시간도 많이 들고 피곤한 일이다. 하지만 그냥 하던 대로 반복하는 것보다는 이쪽이 나에게 더 맞는 것 같다. 준비하면서 이런 저런 상상을 하는 것도 꽤 재미있다. 무엇보다 좋은 것은 교육생들이 열심히 하고 성장하는 것을 볼 때이다.

일하는 방식의 개선

내가 일하는 방식에도 몇 가지 변화를 줘봤다.

그중 가장 큰 것은 마스터 플랜과 주간 계획을 작성하기 시작한 것이다.
이전에는 반 운영에만 집중해서 따로 이런 계획을 안 했었다. 해야 할 일을 해내는 것에만 집중했달까? 문제점은 중심을 잃기 쉽다는 것이다. 그래서 계획을 세우기 시작했다. 1년 단위, 반년 단위, 프로젝트 단위, 주 단위로. 할 일 목록에 뭔가 항상 있도록 구성했다(근데 나는 원래 이런 사람 아니었는데 어쩌다 이렇게 된 걸까…).
새로운 한 주, 새로운 프로젝트와 교육생, 한 기수 그리고 1년. 시작 전에 집중할 뭔가를 미리 생각해 두는 것은 큰 도움이 되고 있다. 그때그때 맞춰서 계획을 했던 이전보다 확실히 중심이 생긴 것 같다.

그 외에 올해 한 일들을 짧게 정리해 본다.

세미나 참여

올해는 이런저런 세미나/웨비나, 개발자 모임 등을 참 많이도 갔다. 내 인생에 가장 많이 갔던 한 해 아닐까. 온라인, 오프라인 등 10회 이상 참여했던 것 같다. AI 활용이나 바이브 코딩 관련된 것들 위주였다. 작년부터 AI 관련 세미나가 엄청나게 늘어난 것 같고 올해도 정말 많았다. 내용이 괜찮아 보이면 주말에도 시간을 내서 참여했다. 거기서 보고 배운 내용을 교육생들에게 전달해 주기도 했다.

바이브 코딩

바이브 코딩(또는 에이전틱 코딩)을 익히려고 여러 미니 프로젝트를 진행했다. 다양한 툴로 시도를 해봤다. 다음은 만들었던 프로젝트들.

  • 철도 예매 알림 슬랙봇 : 지역 출장 때문에 고속철을 많이 이용하는 데 빨리 매진되다 보니 일찍 예매하는 게 좋다. 종종 놓치는 일이 있었고 표 구하느라 고생을 해서, 예매 오픈되는 날에 알림을 주도록 만들어봤다. chatgpt를 사용해서 node.js 기반 배치 스크립트로 만들었다. 대부분은 chatgpt로 했고 일부 헤매는 부분만 직접 코딩을 했다. vercel 플랫폼과 slack api를 배운 점이 좋았다.
  • 십자말풀이 퀴즈 : 점심에 리프레시 차원에서 이벤트를 하려고 만들었다. v0로 개발하고 vercel로 배포를 했다. 역시 대부분은 v0가 했고 마무리 터치(?)만 어쩔 수 없이 내가 했다.
  • 통합 도서 검색 : 아직 진행 중인데 도서 검색을 좀 쉽게 하려는 목적으로 만들었다.

이외에도 간단한 스크립트 작성용으로도 많이 활용했다.
이런 저런 시도를 해보며 느낀 점 몇 가지를 정리해보면..

  • LLM이 다 그렇지만 이 친구들은 언제든 실수(?)할 준비가 되어 있다. 자칫하면 엉뚱한 짓을 해놓거나 거짓말을 늘어놓는다.
  • 학습한 데이터에 있을 법한 것을 시키면 그럭저럭 빠르게 잘 해내지만 조금만 요구사항을 바꾸거나 복잡하게 지시하면 삽질을 하기 시작한다. 그럴 땐 프롬프트로 해결하려고 하기보다는 직접 코드를 손대는 편이 나은 것 같다.
  • 오묘하게 못 하는 것들이 있다. 대표적으로 날짜 관련된 부분(이것도 계산이라 그런가)과 시각적인 요소가 들어간 것들이다. 앞의 철도 예매 알림 봇과 십자말풀이를 할 때 그걸 많이 느꼈다. 십자말풀이를 한 줄로 늘어놓고는 다 했다고 한다거나, 계속 틀린 날짜 계산 코드를 만드는 걸 프롬프트로 수정하려다 포기하고 직접 코딩했던 적이 있다.
  • 종종 이상한 판단을 하고 비효율적인 접근을 한다. 브라우저 자동화 코드 개발을 시켰는데 REST API 호출만 하면 될 것을 이상하게 playwright로 작성을 해놓는다. 개발자 도구에 들어가서 엔드포인트를 찾아내서 알려주니 그제야 제대로 한다.
  • 토큰 소모량이 엄청나다. 이것저것 사용해 보다가 지금은 Claude와 Cursor, Gemini만 유료로 사용하고 있는데 집중적으로 사용하면 작은 규모의 개발도 한 시간을 못 버틴다. 나름 효율적인 사용법을 배워서 하는데도 그렇다. 효율적인 전략이 필요하다고 생각한다. 한 툴의 토큰을 다 쓰면 다른 툴로 리팩토링이나 테스트 코드, 문서화 같은 걸 진행한다거나.

열받게 할 때도 많고 단점도 꽤 있지만, 분명 좋은 기술이라는 것이 지금까지의 결론이다. 쉽게 시작할 수 있게 해준다가 가장 큰 장점인 것 같다. 생각했던 것을 자연어로 좀 정리를 하면 그럭저럭 쓸만한 것이 나온다. 바이브 코딩 전에는 일단 시작하는 것 자체가 큰 일이었다. 그걸 줄여준다는 것만으로도 꽤 가치 있고 배워둘 만한 기술이라고 생각한다. 정말 코드를 블랙박스로 만들 수 있을까? 그건 아직 꽤 갈 길이 남았다고 생각한다.
바이브 코딩 세미나에 가면 비개발자 분들이 많은 걸 보게 된다. 단톡방에도 들어가 있는데 한탄하는 소리를 자주 보게 된다. 오히려 바이브 코딩을 시작하고 나서 개발자들을 존경하게 됐다는 얘기도 있었다. 코드를 모르는데 제대로 돌아가면서 효율적이고 믿을 수 있는 코드를 작성한다는 건 아직 꽤 먼 이야기로 보인다. Copilot 이라는 작명처럼 비행기의 오토파일럿 기술이 대단히 많이 발전했지만, 아직 기장 없는 비행기를 탈 수 없는 것과 마찬가지 같다.

컨텐츠 제작

라이브나 데일리 컨텐츠(프로젝트, 취업에 도움이 될 교육생 대상 컨텐츠), 자기주도 과제도 여기 온 뒤로 계속 하고 있는 일이지만 올해에도 많이 만들었다. 라이브는 총 8회를 했다. 데일리 컨텐츠는 반복하는 것도 있지만 새로운 것도 많이 만들었다. 대표적인 것들은 다음과 같다.

  • 어디서 검증할까? : 안정성을 위해 프로그래밍에서 신경 써야 할 값 검증을 다뤘다.
  • 시간, 공간, 속도 : 스케일의 개념, 시간 복잡도, 공간 복잡도를 다뤘다. 감을 잡도록 하는 게 목적이었는데 전달 방식에 개선할 부분이 많은 것 같다.
  • 프로그래밍 기법 : table driven method, early stopping, finite state automata 등 범용적인 프로그래밍 기법을 다뤘다.
  • PR/FAQ로 기획하기 : 기획 방식 중 하나인 PR/FAQ를 설명했다. 이건 요새 트렌드에 맞게 PRD로 바꾸는 게 낫겠다.
  • 조금 독특한 RDB 사용법 : JSON 활용, 버전 관리, 계층형 데이터, 임시 저장소로 쓰기 등을 다뤘다. 교육생 질문을 듣고 생각나서 만들어봤다.
  • 서버 털리지 않게 하소서 : 공격 포인트 중심으로 보안 강화를 설명했다. 이것 덕분인지 다행히 서버 털리는 일이 없었다.
  • github 활용 : 오픈소스 팀들 대상으로 진행했으며 github의 다양한 기능(주로 actions)을 활용하는 방법을 설명했다.
  • 개발 구조 정하기 : 디렉토리 나누기, 모듈화, 레이어 등과 함께 R&R에 대해 다뤘다.

이 외에도 중간중간 리프레시 차원에서 재미있는 내용을 진행하기도 했다. 예를 들어 개발자의 패션 변천사, 개발하다 황당했던 경험, 재미있게 진행했던 개발 건 등이었다.

내년을 위한 준비

내년엔 뭘 할까? 연말에 생각해 둬야 할 부분이다. 다행히 올해에는 여유가 있어 몇 가지 생각을 해두고 있다.

  • 교육생과 함께 스터디 하기 : 몇 년 전에는 같이 코테 스터디를 한 적이 있는데 비슷하게 정처기나 SQLD, ADsP 같은 자격증이나 CS 스터디 같은 걸 해보면 어떨까 하고 있다. 근데 시간이 되려나..
  • 교육 컨텐츠 플랫폼 넓히기 : 몇 년째 업무로 하고 있으니, 인프런이나 패캠 아니면 유튜브 같은 곳에 올려보면 어떨까 생각하고 있다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.