본문 바로가기

책과 강연/개발 관련 도서

바이브 코딩 너머 개발자 생존법

 

 

바이브 코딩 너머 개발자 생존법 | 애디 오스마니 - 교보문고

바이브 코딩 너머 개발자 생존법 | AI가 코드를 다 짜준다? 이제 '진짜 개발자'만 살아남는다 AI 시대 개발자의 생존법으로 당신의 가치를 증명하라『바이브 코딩 너머 개발자 생존법』은 AI가 코

product.kyobobook.co.kr

 

한줄평 : 예상외로 큰 인사이트는 없을 수 없다. 다만, 잘 정리되어있다. 개발을 처음 시작하는 분에게는 추천한다.

 

솔직히 무섭고 불안해서 읽었습니다.


[ 주요 내용 ]

사실 이 책의 주요 내용은 크게 두 가지입니다.

 

Chapter1 : 바이브 코딩 과 AI

Chapter2,3 : AI로 인한 개발 프로세스의 변화 및 나아갈 방향에 대한 조언

 

Chapter1은 프롬프트 등 관련 용어, AI가 실제로 개발에서 어떻게 쓰이는 지, 모델 특성 등을 설명해줍니다. 

그리고 이를 기반으로 장/단점을 설명해줍니다.

 

AI 코딩의 장점

- 매우 빠르다.(매우 빠른 프로토타입 제작 가능)

- 방대한 지식을 바탕으로한 일관성과 표준화

 

AI 코딩의 단점

- 요구사항 해석이 의도와 다를 경우 결과물이 다르게 나옴

- 모델의 학습 시점에서 없던 문제 또는 보편적이지 않은 도구에 대해서 오답을 냄

- 코드 품질 등이 모호함

- 창의적인 UI /UX나 보편적이지 않은 답을 내기 어려움

- 편향 학습으로 인한 오답이 나올 수 있음

- 윤리적이지 못한 결과를 발생시킬 수 있음 (공유가 허락받지 않은 코드를 그대로 학습해서 사용자에게 제공)

 

결론적으로, "70% 문제"라는 현상이 발생합니다. 70퍼 문제는 AI 개발의 결과물은 프로덕션 레벨에 비해서는 70퍼센트 정도의 수준으로 프로토 타입 개발은 빠르지만 프로덕션 레벨에 비해서는 많이 부족한 결과 가 나오는 현상을 의미합니다.

 

chapter2는 장점을 잘 쓰는 방법, chapter3는 단점을 극복하기 위한 방법입니다. 

다만, 이 내용은 근본적으로 AI의 생산성이 압도적으로 빠르기 때문에 개발자는 기존과 다른 방향으로 나아가야하고 프로세스 자체가 바뀔거라는 내용이 주를 이룹니다.

 

사실 이 챕터의 아쉬운 점은 AI 사용법 및 장점은 이미 유튜브나 다른 매체에서 너무 잘 소개가 되어있다는 점. 단점은 모델 자체나 오픈소스들에서 극복을 이미 했다는 점입니다. 

 

[ 현시점 AI 모델 또는 도구가 제공한 해결책 ]

Q1. 요구사항 해석이 의도와 다를 경우, 결과물이 다르게 나옴

- 명확하게 작성하는 거 말고는 방법이 없으나, AI 모델이 대화형/플랜형으로 성장하여 의도를 명확히 하려는 방향이 이미 반영됨. 

- 책에서 나온 것처럼 생산성을 기반으로 테스트를 더 많이 작성하고 테스트를 제공해주면 의도의 방향에 맞게 유도할 수 있음

 

Q2. 모델의 학습 시점에 없던 문제 또는 보편적이지 않은 도구에 대한 오답

- 이제는 공식문서를 검색하고 진행하는 플러그인이나, md 파일을 이용하여 초기 학습 정보를 제공할 수 있음

 

Q3. 코드 품질 등이 모호함

- 책에서도 제공하지만 esLint와 같은 기존 도구와 결합하면 충분히 코드 품질을 유지할 수 있음

- 보안 이슈가 생기는 지점이 존재할 수 있으므로, 기존 도구를 잘 활용하면 좋음

 

[ AI로도 해결하지 못한 이슈 ]

*제가 현시점에서 모르는 걸수도 있습니다.

 

Q3. 코드 품질 등이 모호함

- 오버 엔지니어링이나 반대로, 성능 병목이 있는 코드를 만들 수 있습니다. AI는 문제 해결에 집중하기에 이런 선택을 할 수 있습니다. 전자는 유지보수를 어렵게, 후자는 장기적인 드리프트 문제를 만듭니다.

 

 Q4. 창의적인 UI /UX나 보편적이지 않은 답을 내기 어려움

- 창의성이 필요하거나 다른 해결책이 필요할 때, 복잡한 문제에 대해서는 개발자가 스스로 아키텍처를 그리고 문제를 해결해야합니다. 다만, 이 과정에서 AI에 도움을 받아서 해결하면 더 효율적입니다.

 

Q5. 편향 학습으로 인한 오답이 나올 수 있음

- 편향 학습도 그렇지만, 환각현상 등으로 인해서도 빈번히 발생합니다. 이 때도, 다른 방식을 개발자가 제안해야합니다.

 

Q6. 윤리적이지 못한 결과를 발생시킬 수 있음

- 최근에도 코드 유출이라든 지, 개인 정보를 학습하고 해당 정보가 나오는 이슈가 생길 수 있습니다. 이런 현상이 발생하지 않도록 잘 사용하고 결과물을 조율해야합니다.


[ 개발자의 프로세스 변화 ] 

위와 같은 결과에서 단점 및 해결해야할 이슈가 많아보이지만, AI의 생산성(장점)이 정말 압도적이기 때문에 앞으로 코드는 AI가 생성하게 됩니다. 하지만, AI는 도구에 불과합니다. 결국 코드에서 발생한 버그는 개발자가 책임져야합니다. 이 때문에 개발자는 생산성을 위해 AI로 코드를 작성하고 이에 대한 감독 및 책임의 주체로 변화하게됩니다.

 

즉, 개발자의 역활과 개발 프로세스가 아예 변화하게 됩니다.

 

개발 프로세스의 예상 변화점

- AI 생산성을 극대화하는 방향성

- AI의 실수를 최소화하는 방향성

- AI가 실수해도 롤백하고 수정할 수 있는 방향성

- 개발자가 언제든 개입할 수 있는 유지보수성 (클린 코드)

- 개발자가 검토(코드 리뷰) 할 수 있는 시스템 및 테스트

 

이에 따라서 개발자는 AI를 잘 다루는 능력과 코드를 잘 이해할 수 있는 지식과 실력이 더 많이 필요해지는 직군이 되는 것 같습니다.


[ 총평 및 개인 의견 ]

1. AI 학습은 이제 책으로 하기는 어렵겠다.

이 책은 6개월 전에 출판된 것으로 보입니다. (한국 시간으로는 4개월 정도)

책은 보통 쓰는데 1-2년이 걸리니 집필은 24년도에 했을 것입니다. 그래서 그런지 2023년 통계를 많이쓰고, 25년도 초반 내용이 많이 나옵니다. 하지만, AI와 그 도구의 성장이 너무 빨라서 현재는 더 발전한 내용이 이미 존재합니다. 더 이상 책으로는 AI의 개발 속도를 따라잡을 수 없을 것 같습니다.

 

다만, 개발자의 방향성 같은 철학적인 인사이트가 유효하기에 이 책은 조금 결이 다릅니다.

 

2. 요즘 AI의 방향성

요즘에는 생산성을 극대화하는 방향성이 많이 보이는 것 같습니다. 다만, 그 극대화가 저는 개인적으로 항상 한계를 본 것 같습니다.

- AI에게 모든 걸 위임하기 => 개발자의 존재가 필요없고 버그에 대해서 취약하나 생산성이 100-10000% 상승합니다.

- AI의 코드를 검토하기 => 개발자의 존재가 필요하나, 개발자가 병목이 되어서 생산성이 100-1000% 정도 상승합니다.

 

이 때, "AI에게 모든 걸 위임하기" 에 기울어지게 되는 이유는 항상 모델 자체가 더 발전했을 때 뿐이였습니다. AI의 생산성은 기존 시스템과 더 적합할 수 있게 변했을 때, AI가 특정 도구(vscode, terminal)를 사용할 수 있게 되었을 때가 컸던 거 같습니다. 자체적인 환각현상이 더 줄어서 위임할 수 있는 범위가 늘었다 생각할 때였습니다. 

 

현재 그것만으로 만들어진 생산성이 100- 1000%입니다. 언젠가 모든 걸 다 AI에게 맡길 수도 있지만, 그 날은 전 오지 않을 것 같습니다. 이미 특이점은 넘었고 AI는 가장 똑똑한 인간과 동일하고 가장 똑똑한 인간처럼 지속적인 실수를 합니다. 하지만 AI는 책임지지 않습니다. 책임을 질 수 있는 속도에서 리액트와 같은 AI 도구가 계속 생길 거라 생각합니다.

 

그런 아키텍처로 요즘 하네스 라든지여러가지가 나오는 것 같습니다. 그 도구를 만약 놓친다면 이제는 확실히 늦어질 수도 있을 것 같습니다.

 

그리고 어떤 도구든 그에 맞는 아키텍처와 책임을 질 수 있는 능력이 가장 중요하다 능력이라 생각이 됩니다.

 

3. 개발자의 직업에 대해서..

책에서 말한 것처럼 개발자는 코드를 통해서 제품을 구현하는 부분에서 이제 AI를 통해서 제품을 구현하는 직군으로 바뀔 것이라 생각합니다. 진공관으로 0,1을 표기하던 시대에서 어셈블리어로, 그 이후 다시 개발 언어로, 다시 자연어(+AI)로 진화하는 것 뿐이라 생각합니다.

 

개인적인 생각이지만, 개발자는 비슷하지만 엄청 가속화된 전문직이 될 것 같습니다.

 

개발자는 AI는 물론이고 DB도 프론트도 백엔드도 인프라도 아키텍처도 심지어 AI까지도 다뤄야할지도 모릅니다.

어쩌면 디자인도 도메인도 기획도 QA도 합쳐질 지도 모릅니다. 그정도의 생산성이 AI에서는 나옵니다.

 

다만, 그 중심은 항상 각 직업의 기초가 남아있을 거고 개발을 통해서 연결될 겁니다. (AI를 통해서 연결된다가 더 정확하겠네요)

어쩌면 이름은 개발자(software developer)가 아닌 단순히 product developer나 AI engineer 등 새로운 직업이 될 지도 모르겠습니다.

 

하지만, 결국 지금 AI에 밀접한 것이 저는 새로운 직업과 연결된다 생각하여 현재의 전문성을 계속 가진 T자형 인재가 된다면 계속 있을 것이라 생각합니다.