
[밋업 Vod] 31년차 개발자가 전하는 "AI시대, 개발자로 살아가는 법"| 토비 - 인프런 강의
현재 평점 4.9점 수강생 824명인 강의를 만나보세요. 31년차 개발자 토비님과 함께 ‘증강 개발자(Augmented Developer)’의 의미와 필요한 핵심 역량에 대해 이야기 나눈 밋업 영상입니다. AI시대 개발
www.inflearn.com
듣게 된 이유
AI를 '잘' 사용하지 않으면 도태될 것만 같은 시대라고 느껴진다. AI를 잘 활용하는 방법들을 보고 싶지만 "코딩 안배우고 하루만에 천만원 벌기!"같은 자극적인 광고 멘트들에 거부감이 들어 거리를 두고 있었다.
이때 토비님의 말이라면 믿을 수 있겠다는 생각에 듣게 되었다.
인상 깊은 말들 & 내 생각
인간과 AI가 협업할 수 있는 3가지의 방식이 있다.
- AI in the Loop: 인간이 통제, AI는 도구일 뿐
- Human in the Loop: AI가 프로세스를 주도하지만, 주요 단계에서 인간의 승인이 반드시 필요
- Human on the Loop: AI가 자율적으로 수행, 인간은 필요할때만 개입
여기서 가장 좋은 방식은?
효율적인 개발자는 한 개를 선택하는 것이 아니라, 작업의 성격과 복잡도에 따라 모델을 유연하게 전환하는 모드 전환자.
🤖 내 생각
- 나는 세번째 방식이 결국 정답이라고 생각했는데, 세가지 방식을 유연하게 사용하면 된다. 라는 생각이 인상깊었다. 세번째 방식만 사용하지 않아도 된다는 사실이 안심이 되었던 것 같기도 하다.
- 나는 내가 "현실의 문제를 정의하고, 고민하고, 가장 효과적인 방식을 선택하고, 그걸 소프트웨어로 실체화하는 과정"이 즐거워서 개발자가 되기로 했던 것 인데, AI가 다 하면 나는 내가 하고자 하는 일들을 못하는 것 아닌가? 하는 회의감이 컸었다.
- 하지만 세가지 방법을 유연하게 선택하는 것이면 "현실의 문제를 정의하고, 고민하고, 가장 효과적인 방식을 선택하고, 그걸 소프트웨어로 실체화하는 과정" 중 세번째 과정인 방법 선택에서 기술 고민과 함께 어떻게 AI를 활용할지 선택하면 된다고 생각하니 일을 더 효율적으로 할 수 있게 된 것일 뿐이라는 생각이 든다.
AI 지원 TDD 워크플로우
AI가 주도적으로 코드를 짜기때문에 TDD로 코드를 짜서 안전선을 지킬 수 있다.
흐름은
- 인간의 프롬프트 - 기능에 대해 실패하는 테스트짜줘
- AI의 테스트 생성
- 인간의 검증 - 생성된 테스트를 실행해서 예상된 이유로 실패하는 지 확인
- 인간의 요구 - 테스트를 통과시켜줘, 대신 테스트코드는 절대 수정하지마
- AI 구현 - 테스트가 통과할 때 까지 필요한 코드 작성하고 수정
- 인간의 리뷰와 리팩터링
- 코드 커밋
이다.
🤖 내 생각
- 우테코에서 페어와 했던 TDD가 생각났다. 페어의 대상이 AI로 바뀌었고, 나는 네비게이터 역할만 한다고 생각하니 꽤 나쁘지 않을지도? 라는 생각이 들었다.
- 테스트 코드를 "잘" 짜는 건 무엇인지에 대해서 다시 한번 기준을 정립해야겠다. AI가 테스트코드를 짜줄 수는 있지만 결국 이 테스트를 신뢰할 수 있고, 나중에 코드가 바뀌더라도 이 테스트가 유지가 되도록 짰는지 검수할 수 있는 시야가 필요하겠다.
학습 측면에서의 AI
다들 AI를 생산성 향상의 도구로만 바라본다. 생산성 향상과 역량 향상의 딜레마가 발생한다.
AI를 활용한 즉각적인 생산성 향상과 지속적인 학습 및 개발을 위한 의도적인 노력을 조화시키는 접근이 필요하다.
AI를 학습의 도구로도 강력하게 활용하자!!
방법
playwright-mcp
https://github.com/microsoft/playwright-mcp
GitHub - microsoft/playwright-mcp: Playwright MCP server
Playwright MCP server. Contribute to microsoft/playwright-mcp development by creating an account on GitHub.
github.com
웹페이지를 보고 요약, 학습 유도
NotebookLM, DeepSearch
🤖 내 생각
- 학습의 도구로도 바라보라는 말씀을 많이 해주셔서 좋았다. 다들 "이렇게 했더니 10초만에 이게 되었다.", "10시간이 10분이 되었다." 라는 말들 뿐이라 그럼 나는 뭐지..하는 무력감과 반발심(?)이 동시에 들었다. AI를 쓸수록 내가 멍청해지고 대충하게 되는게 느껴져서 그랬던 것 같기도하다.
- 앞으로 학습용으로 강력하게 AI를 활용해봐야겠다는 생각이 들었다. 실제로 강의를 듣고 playwrite mcp를 적용해보면서 많은걸 느꼈다! 자세한건 아래에 작성해놓았다.
클릭! 클릭! 금지
AI가 짜주는 코드를 그냥 approve 해버리는 것은 안된다. AI가 코드를 짜주어서 생산성이 향상이 된 것도 맞지만, 그걸 학습의 기회로도 사용해야한다.
AI 시대에 개발자가 지속적으로 성장하기 위해서 반드시 필요한 능력은 AI가 생성한 코드를 읽고, 리뷰하고 이해하는 것이다. 앞으로는 읽기능력이 더 중요해질것.
탐험적으로 AI를 사용해야한다. AI를 시니어 개발자 바라보듯이 대화한다.
AI가 짜준 코드를 읽고 비판적으로 바라보고 왜 이렇게 했는지 대안은 없는지 어떤 이유로 선택했는지 물어봐야한다.
관심가는 대안이 있다면 시도해본다.
학습을 위한 전용 시간을 확보할 것
의도적 수련 방법들
모든 방법은 AI를 다양한 레벨로 활용해야한다
- 주기적으로 AI를 개입시키지 않은 수준으로 개발을 해봐야한다
- 코드 카타: 다양한 방법으로 작은 프로그래밍 문제 풀어보기
- 토이 프로젝트 및 재구현
- 기억 인출 학습: 어제 학습한 내용을 AI에게 다시 설명하고 , 나의 설명에 대해 평가해달라고 하기
🤖 내 생각
- gemini cli로 해줘~ 했던 과거가 떠올랐다. 그러다보면 gemini가 코드를 너무 많이 바꿔놔서 결국 이해하지 못하고 롤백하거나 그 코드를 흐린 눈 하거나 했던 일들이 있다. AI를 코드를 대신 짜주는 기계가 아니라, 나와 같이 프로젝트를 만들어나가는 동료로 바라보고 비판적으로 코드를 리뷰해야겠다는 생각이 들었다.
- 코드리뷰에 에너지가 많이 닳는 편인데 AI는 인간과 비교할 수 없을 정도로 많은 양의 코드를 짜내기 때문에 코드리뷰를 생산적으로 하는 방법에 대해서도 생각을 해봐야겠다.
증강 개발자
가트너가 만든 말이라고한다. (가트너니까 좀 신뢰가 갈지도.. )
증강 개발자의 역할
작업의 성격에 따라 최적의 AI 협업 모드 선택
AI가 최고의 성능을 발휘할 수 있도록 명확한 아키텍쳐와 지속 가능한 컨텍스트 제공
AI가 제공한 결과물에 대한 책임 <- 그렇기 때문에 더욱더 내가 기술을 학습하고, 이해하고, 사용할 줄 알아야한다
후기
기대를 안했는데 너무 좋았던 강의였다.
AI 시대에 피로감을 느끼는 개발자라면 도움이 될 것 같다.
생산성과 새로운 기술에 미치지않아도 AI 시대에 개발자로 잘 살아갈 수 있을 것 같다는 생각이 들었다.