
오늘은 Scott Hanselman과 Mark Russinovich가 AI가 소프트웨어 개발을 어떻게 바꾸고 있는지, 그 명과 암을 함께 풀어보겠습니다.

지난 10년보다 빨랐던 1년
지난 1년간 소프트웨어 공학은 지난 10년을 합친 것보다 더 빠르게 변했습니다. 그 변화의 한가운데에 AI가 있죠.

'멋진 코드를 짜는 나'
다들 자기가 멋진 코드를 짠다고 생각하지만, 현실은 조금 다르죠. 가볍게 웃으면서 시작해 보겠습니다.

Microsoft의 AI 부스트
Microsoft 내부에서도 AI가 개발 생산성을 크게 끌어올리고 있는데요, 실제 데이터로 그 효과를 보여드리겠습니다.

Project Lobster
엔지니어 17명이 6주 동안 PR을 1,951건 만들고, 순수 클린 코드 80만 줄에 총 270만 줄을 추가했습니다. AI를 제대로 붙이면 이런 규모가 나옵니다.

Aspire 사례
오픈소스 Aspire 프로젝트가 좋은 예인데요, AI 지원 개발이 실제 코드베이스에서 어떻게 돌아가는지 잘 보여줍니다.

Foundry 팀의 일하는 방식
Foundry 에이전트 팀은 3주 만에 10만 줄 이상을 만들었고, 모든 PR을 AI가 먼저 리뷰합니다. 덕분에 신입도 1주 차에 프로덕션 코드를 냅니다. 예전엔 3~4주가 걸렸죠.

Mark의 AI 활용
이제 Mark가 직접 AI로 어떤 것들을 해냈는지 보여드리겠습니다.

데모 · DVD to MP4
Mark가 AI의 도움을 받아 DVD를 MP4로 변환하는 도구를 직접 만들어 보겠습니다.

Scott의 AI 활용
이번엔 Scott 차례인데요, 그가 AI로 만든 결과물을 함께 보시죠.

데모 · Tiny Tool Town
Scott이 Tiny Tool Town, 작은 도구 여러 개를 AI로 뚝딱 만들어내는 걸 보여드리겠습니다.

이제 반대편 이야기를 해보죠. AI는 여러분이 생각하는 것만큼 똑똑하지 않습니다.

계정 인증 화면
실제 사례부터 보겠습니다. 이 계정 인증 화면처럼, AI가 엉뚱한 데서 막히거나 헛짚는 경우가 생각보다 많습니다.

현장의 목소리 · bdlucas1
개발자들이 SNS에 올린 경험담인데요, AI 코딩의 한계를 아주 솔직하게 토로하고 있습니다.

현장의 목소리 · itsalexzajac
또 다른 개발자의 후기입니다. AI에 기대할 때와 실망할 때가 극명하게 갈리죠.

현장의 목소리 · Justine Moore
Justine Moore의 글도 비슷한 결을 짚습니다. 화려한 기대와 실제 사이의 간극이 크다는 거죠.

배우지 않는 인턴
저는 AI 코딩 에이전트를 이렇게 부릅니다. '절대 배우지 않는 인턴'이요. 왜 그런지 유형별로 보여드리겠습니다.

고치지 않고 우회한다
첫째, 문제를 제대로 고치는 대신 편법으로 넘어가려 합니다. 테스트만 통과하게 슬쩍 우회하는 식이죠.

남 탓을 한다
둘째, 자기가 틀렸는데도 환경이나 라이브러리 탓을 합니다. 원인을 엉뚱한 데서 찾죠.

일을 끝맺지 못한다
셋째, 작업을 끝까지 마무리하지 못하고 중간에 흐지부지되는 경우가 많습니다.

궤도를 벗어난다
넷째, 아예 방향을 잃고 폭주합니다. 손을 놓는 순간 완전히 궤도를 벗어나죠.

ZoomIt
그럼 이런 한계를 감안하면서도 AI를 쓸모 있게 활용한 예를 보겠습니다. Mark의 ZoomIt인데요.

데모 · ZoomIt
Mark가 ZoomIt에 AI를 붙여 개선하는 과정을 직접 시연하겠습니다.

데모 · WinGet TUI
Scott은 WinGet TUI를 AI와 함께 다듬어 보겠습니다.

이제 이렇게 초생산적인 AI 인턴이 조직과 커리어에 어떤 파장을 남기는지 이야기해 보겠습니다.

시니어엔 부스트, 주니어엔 드래그
같은 AI라도 시니어에게는 부스트가 되지만, 경력 초기 개발자에게는 오히려 발목을 잡는 드래그가 될 수 있습니다.

주니어 고용의 감소
실제 데이터를 보면 2023년 1분기부터 AI를 도입한 회사에서 주니어 고용이 뚜렷하게 줄었습니다. 반면 시니어 고용은 계속 늘었죠.

초기 경력자 13% 감소
생성형 AI 확산 이후 22~25세 초기 경력자의 고용이 AI 노출이 큰 직군에서 13%나 줄었습니다. 경험 많은 인력은 안정적이었고요.

Shared memory gRPC
기술 이야기도 곁들이면, 공유 메모리 기반 gRPC로 지연 시간을 크게 줄인 실험 결과입니다. AI가 이런 최적화도 도와줍니다.

데모 · gRPC
Mark가 gRPC 관련 작업을 AI와 함께 진행하는 걸 보여드리겠습니다.

데모 · Open Claw App
Scott은 Open Claw 앱을 시연합니다.

언어·프레임워크가 전부는 아니다
소프트웨어 공학은 언어나 프레임워크를 아는 것 그 이상입니다. 여기서부터가 진짜 핵심인데요.

이제 AI 시대에 소프트웨어 공학을 어떻게 배워야 하는지 살펴보겠습니다.

Simon Willison의 관점
Simon Willison은 AI를 잘 쓰는 개발자일수록 기본기가 탄탄하다고 말합니다. 도구가 아니라 판단력이 관건이라는 거죠.

마법사에게 일을 맡길 때
One Useful Thing의 글이 인상적인데요. 일을 마법사에게 넘길 때마다 우리는 스스로 전문성을 기를 기회를 잃습니다. 마법사가 아니라 관객이 되어버리는 거죠.

ChatGPT와 뇌
'Your Brain on ChatGPT' 연구는 AI에 지나치게 의존하면 사고력이 둔해질 수 있다고 경고합니다.

Direct Transfer 함수 분석
뇌 활동을 분석한 자료인데요, 스스로 사고할 때와 AI에 맡길 때 두뇌가 얼마나 다르게 작동하는지 보여줍니다.

System 3 사고
우리는 흔히 System 1, System 2 사고를 이야기하지만, AI 시대엔 AI와 함께 생각하는 'System 3' 사고가 필요합니다.

모든 시대는 패닉했다
사실 새로운 도구가 나올 때마다 사람들은 패닉했습니다. 어셈블리, IDE, Stack Overflow… 그리고 이제 AI 차례죠. '코딩의 종말'이라면서요.

프리셉터 프로그램
그래서 저희가 제안하는 게 프리셉터 프로그램입니다. 의료 현장의 도제식 지도 방식에서 힌트를 얻었죠.

AI 이전의 방식
AI 이전에는 테크 리드가 요구사항과 아키텍처, 작업 분해를 맡고, 초기 경력 개발자는 배정받은 일을 구현했습니다.

AI 시대의 프리셉터십
AI 지원 개발에서는 초기 경력 개발자가 AI와 함께 일하고, 테크 리드는 프리셉터로서 곁에서 판단과 성장을 이끕니다.

병원의 간호사들
간호사 교육을 떠올려 보세요. 신참 간호사가 숙련된 프리셉터 곁에서 실전을 배우듯, 개발도 그렇게 가야 합니다.

소프트웨어 공학 직업의 재정의
결국 AI 시대에 맞춰 소프트웨어 엔지니어라는 직업 자체를 다시 정의해야 합니다.

The Atlantic의 시선
The Atlantic의 기사도 같은 문제를 짚습니다. 기술의 변화가 일의 본질을 어떻게 바꾸는지 말이죠.

기술은 죽지 않고 한 단계 올라갔다
핵심은 이겁니다. 개발이라는 craft는 사라진 게 아니라 한 단계 위로 올라갔습니다. 코드를 짜는 데서 결과를 책임지는 쪽으로요.

이제 앞을 내다보겠습니다. 에이전트의 범위와 신뢰성이 좋아질수록 병목은 요구사항 정의, CI, 평가, 그리고 궁극적으로 소비 쪽으로 옮겨갑니다.

Todd Saunders의 관점
Todd Saunders의 글도 이 흐름을 뒷받침합니다. 앞으로 무엇이 더 중요해질지 짚어주죠.

앞으로 · 집중력이 곧 생산성
여기에 더해, 생산성은 결국 개발자의 집중력, 즉 attention bandwidth에 비례하게 됩니다.

AI 활용 사례들
실제로 AI를 이렇게 쓰고 있다는 개발자들의 이야기를 모아봤습니다.

앞으로 · 시도 비용은 0으로
무언가를 시도하는 비용은 0에 수렴하고 있습니다. 그럴수록 컴퓨터 과학 교육의 중요성은 오히려 더 커지죠.

가장 많이 쓰는 사람이 아니다
소프트웨어 공학의 미래는 코드를 가장 많이 짜는 사람의 것이 아닙니다. 가장 빨리 배우고, 가장 잘 판단하고, 남을 성장시키는 사람의 것이죠.

현장의 목소리 · auday1411
이 메시지에 공감하는 개발자의 글을 하나 더 보겠습니다.

데모 · GitHub 기여 비교
Mark가 GitHub 기여도를 비교하는 데모로 마지막 시연을 보여드리겠습니다.

Scott & Mark 유튜브
두 사람의 이야기를 더 듣고 싶다면 Scott & Mark 유튜브 영상을 찾아보세요.

마무리
감사합니다. AI 시대에도 결국 중요한 건 배우고 판단하는 사람입니다.

여기서부터는 함께 참고하시면 좋을 자료들을 덧붙였습니다.

부록 · 자료 링크
Scott & Mark 팟캐스트, 그리고 Communications of the ACM에 실린 'Redefining the Software Engineering Profession for AI' 논문을 함께 참고하시면 좋습니다.

다시, 지난 10년보다 빠른 1년
다시 한번 강조하자면, 소프트웨어 공학은 지난 10년보다 지난 1년에 더 빠르게 변했습니다.

마지막으로 AI로 코딩할 때 유용한 팁들을 정리해 드리겠습니다.

AI 코딩 실전 팁
가장 강력한 모델로 분석과 계획을 세우고, 작은 작업 단위로 나눠 매 단계마다 테스트를 돌리세요. AI의 결과는 꼼꼼히 검토하고 교차 모델로 검증하고요. GitHub Codespaces도 아주 유용합니다.

AI를 팀원으로
AI를 팀원으로 받아들이면 개발자는 코드 작성자에서 첫 번째 리뷰어로 바뀝니다. 병렬성은 높아지고, 새 아이디어를 시도하는 비용은 낮아지며, 모든 PR이 배포 가능한 상태가 되죠.

The God object
끝으로 실제 코드 사례 하나. 이른바 'God object', 모든 걸 떠안은 거대한 객체 이야기입니다.

God object 구조도
claude CLI의 핵심 로직이 1,729줄짜리 query.ts 한 파일에 몰려 있는 구조인데요, AI 시대에도 좋은 설계 원칙은 여전히 중요하다는 걸 보여줍니다.