토비님 밋업 참관기 : 31년차 개발자가 전하는 AI시대, 개발자로 살아가는 법

어제(7월 10일), [31년차 개발자가 전하는 “AI시대, 개발자로 살아가는 법”]이라는 제목의 밋업에 다녀왔습니다.
인프런에서 주관하는 토비님의 강연이었는데, AI 코딩 시대에 개발자에게 요구되는 핵심 역량과 AI 협업 모델에 대한 지식을 얻을 수 있는 시간이였습니다.

토비님은 스프링을 접하신분들이라면 한번쯤은 들어봤을 “토비의 스프링"의 저자십니다. 요즘은 인프런에서 강의도 올려주시고 계시죠.
1. AI 코딩 시대에 개발자에게 반드시 필요한 능력은?
AI 코딩 시대는 과거와는 확연히 다른 역량을 요구한다고 합니다. 단순히 AI에게 명령하고 결과만 기다리는 수동적인 자세는 지양해야 한다고 토비님은 강조하셨어요.
가장 먼저 중요하다고 언급하신 역량은 멀티태스킹이었습니다.
AI가 특정 Task를 수행하는 동안 개발자는 그 시간을 멍하니 보내는 것이 아니라, 다른 작업을 하거나 깊이 고민하는 등 시간을 효율적으로 활용해야 한다는 말씀에 깊이 공감했습니다.
최근 저도 AI 도구를 활용하면서 특정 작업을 요청하고 멍때리는 시간은 없었는지 반성하게 되더라구요.
또 AI에게 가이드 문서 제작이나 API 스펙 준수 개발을 의뢰하고 그 시간에 저는 더 상위 수준의 아키텍처나 기획에 집중하는 방식으로 시간을 배분해야겠다는 생각이 들었습니다.
토비님은 지금을 ‘개발자들의 AI 대혼란의 시대’라고 표현하셨습니다.
특히 토비님께서 “AI 시대 개발자가 어떻게 살아야 할지 솔직히 잘 모르겠습니다…“라고 솔직하게 말씀하신 부분이 가장 기억에 남습니다.

새로운 시대를 맞이하는 지금의 혼란스러운 상황을 있는 그대로 보여주는 듯했으니까요. 하지만 동시에 명확한 방향성을 제시해주셔서 많은 생각을 하게 되었습니다.
개발자는 더 이상 고정된 직능이 아니라 AI와 함께 계속 새롭게 정의될 유동적인 개념이 될 것이라는 말씀이 가장 와닿았습니다. 저 역시 끊임없이 변화하고 배우지 않으면 도태될 수 있다는 위기감과 동시에 새로운 기회를 발견할 수 있다는 기대감을 동시에 느끼고 있습니다.
2. AI 코딩 스펙트럼: 자율성 레벨 6단계 (0~5)
AI의 자율성 레벨을 이해하는 것은 AI 협업 전략 수립에 매우 중요하다고 하셨습니다.
- 레벨 0: 정적 도구(Static Tooling) (린터, 포맷터 등)
- 레벨 1: 토큰 수준 완성(Token-Level Completion) (IDE 자동 완성)
- 레벨 2: 블록 수준 완성(Block-Level Completion) (IntelliJ 인라인 완성)
- 레벨 3: 의도 기반 채팅 에이전트(Intent-Based Chat Agent) (ChatGPT, Gemini 등)
- 레벨 4: 로컬 자율 에이전트(Local Autonomous Agent)
- 레벨 5: 완전 자율 개발 에이전트(Fully Autonomous Dev Agent)
특히 레벨 2까지는 개발 흐름을 크게 깨지 않아 적극적인 활용을 권장한다고 하셨습니다.
저도 IDE 자동 완성이나 인라인 완성은 이미 일상적으로 사용하고 있지만 지금도 IDE에서 텔레메트리(제안, 수락/거절 로그)를 수집하여 모델을 고도화하는 등 AI가 점점 더 스마트해지고 있다는 점을 생각하면, 레벨 2단계까지도 더욱 활용할 수 있는 방식으로 개발해보려 노력해야겠다 싶었습니다.
3. 인간-AI 협업 모델
인간 개발자와 AI의 협업은 단순히 인간 주도 또는 AI 주도의 이분법을 넘어선다고 합니다. 이 부분에서 굉장히 많은 것을 느꼈는데요.
- 3.1. AI-in-the-Loop (AITL): AI가 보조자 역할, 인간이 개발 과정 완전 통제. (AI 자율성 레벨 1~3단계 해당)
- 3.2. Human-in-the-Loop (HITL): AI가 개발 프로세스 주도, 주요 결정마다 인간의 검증과 승인 필요. (AI 자율성 레벨 3 후반~4 해당)
- 3.3. Human-on-the-Loop (HOTL): AI가 자율적으로 작업 수행, 인간은 감독관 역할. (AI 자율성 레벨 4~5 해당)
토비님은 효율적인 개발자는 작업의 성격과 복잡성에 따라 협업 모델을 유연하게 전환할 수 있는 ‘모드 전환자(Mode Switchers)’ 가 되어야 한다고 강조하셨습니다.
저는 사실 이런 용어가 있다는 것을 이번 밋업을 통해 알게됐는데요. 의식적으로 지금은 이런 모드가 적당하겠다 생각해본적은 없지만 본능적으로 해왔던 부분이 있던 것 같습니다.
저 스스로는 어느정도나 AI를 믿을 수 있는 작업인가? 가 저도 모르게 모드를 결정했왔던 것 같습니다.
단순 반복적인 일은 HOTL 모드로 검증이 필요한 경우는 HITL모드로 아주 중요한 작업들, AI를 신뢰할 수 없는 상황 에서는 AITL 모드 였던 것 같습니다.
복잡한 도메인이나 아키텍처와 같은 미묘한 판단이 필요한 작업에서는 제가 주도하고 AI는 도구로 활용하는 방식이 익숙하죠. 하지만 앞으로 단순하고 반복적인 일에서는 HOTL 모델을 적극적으로 활용하여 효율을 높이는 연습을 해야겠다는 생각이 들었습니다.
4. AI와 협업을 위한 아키텍처 설계
여전히 상위 수준 아키텍처와 설계 결정은 인간 개발자가 통제하는 것이 이상적이라고 합니다.
특히 관심사와 책임이 분리된 명확한 계층 정의, 인터페이스를 계약(Contract)으로 사용, 작업을 작은 단위로 분해하고 점진적으로 개발하는 원칙을 강조하셨습니다. 아키텍처 설계 이유와 근거는 인간이 명확하게 기록해야 한다는 점도 인상 깊었습니다.
4.1. AI 개발에서도 클린 코드는 중요할까? 네, ‘그렇습니다!’ 인간이 코드를 잘 읽고, 이해하기 쉽고, 변경하기 쉽게 만들기 위한 모든 원칙과 전략은 효과적인 AI와의 협업을 위한 전제조건이라고 하셨습니다. 잘 설계된 아키텍처는 인간뿐만 아니라 AI에게도 가장 명확한 지침을 제공한다는 점을 강조 해주셨어요.
결국, 기본을 지키는 것이 AI 시대에도 변함없이 중요하다는 것을 다시 한번 깨달았습니다.
5. 테스트 주도 개발(TDD)의 르네상스
AI 시대에는 TDD를 하지 않으면 안 된다는 토비님의 강력한 주장이 있었습니다. 레벨 4 이상의 자율적인 에이전트를 안전하고 생산적으로 활용하기 위한 가장 효과적인 워크플로우이자 핵심적인 프레임워크가 TDD라는 것이죠.
5.1. TDD가 AI 협업에 중요한 이유
- 명확한 성공 기준 제시: 테스트를 성공시키지 못하면 AI는 재시도합니다.
- 궁극적인 가드레일 역할: AI의 실수를 방지하는 안전장치입니다.
- 에이전트의 작업 루프와 완벽한 조화: AI가 테스트를 통과하기 위한 코드를 생성하고 수정하는 과정과 완벽하게 맞아떨어집니다.

5.2. AI 지원 TDD 워크플로우 (Claude Code Best Practices) 인간이 실패하는 테스트를 만들고, AI가 이를 통과시키는 코드를 구현한 뒤, 인간이 리뷰하고 리팩토링하는 방식의 워크플로우를 보며 TDD가 AI와 얼마나 강력한 시너지를 낼 수 있는지 실감했습니다. 사실 TDD를 완벽하게 실천하지 못하고 있었는데, 이번 기회에 다시 한번 TDD의 중요성을 깨닫고 AI와 함께 TDD를 적극적으로 도입해보려고 합니다.
6. 탐험과 활용 딜레마
많은 사람이 AI로 얼마나 빠르게 개발할 것인가, 즉 생산성 이야기만 한다고 지적하셨습니다. 하지만 강화학습의 탐험(Exploration)과 활용(Exploitation) 딜레마를 이해해야 한다고 하셨습니다. 즉각적인 생산성 추구와 지속적인 학습 및 기술 개발을 위한 의도적인 노력을 조화시키는 전략적인 접근이 필요하다는 것이죠.
6.2. 바이브 코딩과 생산성 우선 접근 방식 바이브 코딩은 단순히 속도에 관한 것이 아니라, 개발자의 역할이 프로덕트 엔지니어, 의도 설계자, 크리에이티브 디렉터, 프롬프터, 가이드 등으로 변화하는 근본적인 변화를 의미한다고 합니다. AI를 통해 세부 구현에 대한 인지 부하를 줄이고, 더 고수준의 ‘의도 명세화’에 집중하는 것이 중요하다는 말씀이었습니다. 저도 앞으로는 AI에게 구현을 맡기고 저는 더 큰 그림과 의도를 설계하는 역할에 집중하는 연습을 해야겠습니다.
7. 역량 강화 및 학습을 위한 AI 활용
AI는 생산성 도구뿐만 아니라 학습 촉매제로서도 활용될 수 있다는 점 역시 알고있던 점이지만 다시금 흥미로운 부분이었습니다.
- 복잡한 코드 이해 및 분석
- 새로운 언어나 기술, API 학습
7.1. 기존 코드를 AI와 분석, 학습 (예: 스프링 프레임워크 7.0) 스프링 소스 코드를 AI(Claude Code)로 분석하고, 아키텍처, 코드 품질, 비동기 기술 사용 방식 등을 배우는 예시를 보면서 감탄했습니다. 저도 관심 있는 오픈소스 프로젝트를 AI와 함께 분석하고, 그 결과를 바탕으로 가이드 문서를 만들어보는 시도를 해봐야겠다고 생각했습니다.
7.2. 웹 브라우저 연결 (MCP)을 이용한 레퍼런스 문서 학습 개발 7.3. 학습 소스를 모아두고 다양한 내용의 학습 자료 생성 (NotebookLM 적극 활용) 구매한 전자책, 웹사이트, 유튜브 영상 텍스트 등 다양한 소스를 NotebookLM에 등록하여 요약, 학습 가이드, 마인드맵 등을 생성할 수 있다는 점이 매우 유용해 보였습니다. 여러 자료를 모아 주제를 지정하고 공통점이나 차이점을 비교하며 개념을 정리하는 방식은 저에게 꼭 필요한 학습법이었습니다.
8. Deep Research 활용
Deep Research 기능을 활용하여 연구 목표, 내용, 결과물 형태를 지정하면 방대한 양의 검색과 여러 단계의 연구 방향 재설정을 통해 출처가 표시된 리포트를 생성해줍니다.
조사가 필요한 주제가 있을 때 회의나 미팅 중에도 심층 분석을 요청할 수 있다는 점이 매력적이라고 언급해주셨어요.
저 역시 사용은 해봤지만 적극적인 사용은 하지 않았었는데, 앞으로는 복잡한 기술 트렌드를 분석하거나 새로운 기술을 도입하기 전에 이 기능을 적극 활용해봐야겠습니다.
9. 밋업 페이지 내용 제작 과정 (발표자 토비님 사례)

이번 밋업 페이지 내용이 어떻게 제작되었는지 토비님의 사례를 들려주셨는데, 그 과정 자체가 AI와의 협업 모범 사례였습니다.
- AI 코딩 관련 주제 정리 후 연구 프롬프트 작성.
- ChatGPT, Gemini, Claude를 통해 심층 탐구 수행.
- 리서치 결과 정독 및 환각(Hallucination) 확인.
- 결과를 PDF로 변환하여 NotebookLM에 등록.
- 기존 밋업 안내 페이지 내용을 one-shot으로 NotebookLM에 넣고, “이런 구조로 3가지 소스(AI 심층 탐구 결과)의 내용을 가지고 1시간 20분간 발표할 핵심 내용을 정리하여 문서로 작성해달라"고 요청.
- 결과물 수정 후 인프런 전달.
이 과정을 보며, AI를 단순히 글쓰기 도구로 사용하는 것을 넘어, 정보 수집-정리-기획-초안 작성에 이르는 전 과정에 걸쳐 AI를 활용할 수 있음을 깨달았습니다.
10. AI 협업 시 가장 중요한 자세: ‘딸깍딸깍’ 금지!
토비님은 AI 협업 시 ‘딸깍딸깍’ 금지! 를 외치셨습니다. 특히 레벨 3~5단계에서 무조건 AI의 제안을 수락하는 습관은 매우 좋지 않다고 경고하셨죠. AI가 코드를 생성하면 요청 내용을 정제하고, 어떤 계획을 가지고 문제를 풀지, 각 단계마다 어떤 생각을 하는지, 그리고 코드에 대한 설명을 자세히 적어주는 이 모든 과정을 ‘꼭 봐야 한다’고 강조하셨습니다.
AI와 함께 개발하면서 얼마나 많은 효과적인 학습이 가능한지를 우리가 놓치고 있다는 말씀에 깊이 공감했습니다. 시니어 개발자가 옆에서 자세한 설명을 하면서 코드를 만드는 것을 도와주는데, 코드 입력만 하고 설명은 다 무시하는 주니어 개발자라고 생각해 보면 그 중요성을 알 수 있다는 비유는 정말 명확하게 와닿았습니다. 저 역시 이제부터 AI의 설명을 더 꼼꼼히 살피고, 왜 이런 코드를 생성했는지 질문하며 학습하는 태도를 길러야겠습니다.
11. 탐험적 AI 사용에서 개발자의 역할
탐험적 AI 사용에서 개발자는 AI가 생성한 설명과 코드를 비판적으로 평가하고, AI 기능을 이용하여 이해를 심화시키는 능동적인 학습자가 되어야 한다고 합니다. 단순히 ‘무엇을(What)’ 말고 ‘어떻게(How)’ ‘왜(Why)’ 라는 질문을 포함해야 하며, 이미 나온 코드 외에 대안을 물어보고 어떤 이유로 현재 방식을 선택했는지 확인해야 한다고 합니다.
12. 학습을 위한 전용 시간 확보 및 의도적 수련
조직과 개별 개발자는 탐험 모드에서 AI 도구를 사용할 특정 시간을 할당해야 한다고 합니다. 도전적이거나 익숙하지 않은 영역을 목표로 설정하고, AI를 학습 파트너로 적극 활용해야 한다는 것이죠.
12.1. 의도적 수련 필요 기억 인출 학습 방식으로 AI에게 어제 학습한 내용을 설명해보라고 요청하고, 나의 설명에 대해 평가해달라고 요청하는 등 의도적인 수련을 통해 학습 효과를 극대화할 수 있다고 합니다. 이 부분은 개인적으로 바로 적용해 볼 수 있는 좋은 팁이라고 생각했습니다.
13. 결론: 증강 개발자로의 변화
토비님은 인간의 지성과 AI의 효율성을 능숙하게 결합하는 ‘증강 개발자’ 로 변화해야 한다고 결론지었습니다. 작업의 성격에 따라 최적의 AI 협업 모드를 선택하고, AI가 최고의 성능을 발휘할 수 있도록 명확한 아키텍처와 지속 가능한 컨텍스트를 제공하는 것이 중요하다고 하셨습니다.
또 중요한 것은, AI가 생성한 결과물에 대해서 최종적인 판단을 책임져야 한다는 말씀이었습니다. 책임지려면 알아야 하고, 그러니 꾸준히 성장해야 하며, AI를 활용하면 더 효율적으로 성장할 수 있다는 메시지는 저에게 큰 동기 부여가 되었습니다.
이번 밋업에서 얻은 인사이트를 바탕으로 개발 방식과 학습 전략에 대해 고민해볼 수 있어 너무 좋은 시간이였습니다.
정말 운 좋게도 참석할 수 있었네요 ㅎㅎ.. 이번 밋업은 선착순 모집 인원 80명이 였는데 20~30분만에 매진된 것으로 알고 있습니다. 다행히도 80명중 한명으로 참석할 수 있어 좋았네요. 무작위로 참석하는 밋업이나 컨퍼런스는 경쟁률이 치열해 많이 떨어졌거든요 😢
다시금 다른 컨퍼런스나 밋업 참석한게 있다면 마찬가지로 남기도록 하겠습니다. 읽어주셔서 감사합니다.