Introduction
2023년부터 소프트웨어 개발 세계는 AI의 거대한 변화의 물결을 맞이했습니다. 이제 2025년, 우리는 그 파괴적 혁신의 한가운데 서 있습니다. "AI가 개발자를 대체할 것이다"라는 공포에서 "AI는 개발자의 슈퍼파워가 될 것이다"라는 새로운 패러다임으로 빠르게 전환되고 있는데요.
하지만 모호한 이야기는 이제 지겹습니다. AI가 소프트웨어 개발을 '어떻게' 변화시키고 있는지 구체적인 사례가 필요한 시점입니다.
그래서 BigCommerce부터 Meta, Adobe, Pinterest까지 11명의 현업 엔지니어링 리더들에게 직접 물었습니다.
"실제로 여러분의 팀은 AI를 어떻게 활용하고 있으며, 그 결과는 어땠나요?"
놀랍게도 대부분의 기업에서 AI 도구를 도입한 이후 생산성이 40-50% 향상되었다고 보고했으며, 한 기업의 CTO는 아예 엔지니어링 팀 규모를 두 배로 늘린 것과 같은 효과를 얻었다고 밝혔습니다.
그렇다면 이 엔지니어링 리더들은 정확히 어떤 AI 도구를 어떻게 활용했을까요? Github Copilot과 Cursor AI 중 어떤 툴이 더 효과적이었을까요? AI 도입 과정에서 맞닥뜨린 함정은 무엇이었을까요?
Gregor Ojstersek의 How to use AI to increase Software Development productivity를 번역해 가져왔습니다.
개발자로서 피할 수 없는 AI 물결 속에서, 10개의 실전 사례를 통해 여러분의 개발 워크플로우를 완전히 바꿀 수 있는 통찰을 얻어가시길 바랍니다.
AI를 활용하여 소프트웨어 개발 생산성을 높이는 방법
11명의 엔지니어링 리더에게 AI를 활용해 소프트웨어 개발 생산성을 높이는 방법에 대한 인사이트를 공유해 달라고 요청했는데요. 아래 엔지니어링 리더 분들이 스타트업부터 중견기업, 그리고 빅테크까지 다양한 규모의 회사에서 일한 경험을 바탕으로 인사이트를 공유해주셨습니다.
이 글에 기여한 분들:
- Chris Ruddel, BigCommerce의 팀 리드
- Moiz Imran, Tintash의 시니어 엔지니어링 매니저
- TJ Musser, Illumina의 XD 개발 매니저
- Jordan Cutler, Pinterest의 시니어 소프트웨어 엔지니어
- Sidwyn Koh, Meta의 스태프 소프트웨어 엔지니어
- David Garcia Berenguer, Cense AG의 엔지니어링 헤드
- Deyan Genovski, Appolica의 CTO
- Shaun Wallace, Signal AI의 엔지니어링 디렉터
- Sumit Jaju, Kinsale Insurance의 테크니컬 매니저
- Nawaz Sheikh, Adobe의 시니어 엔지니어링 매니저
- John Stearns, Roo의 CTO
이 리더들은 10가지 다른 사례를 공유했으며, 각각 고유한 인사이트와 교훈을 담고 있습니다.
소프트웨어 개발 생산성 향상에 관심이 있다면 꼭 읽어봐야 할 글이예요.
바로 첫 번째 사례부터 살펴보겠습니다.
1. AI를 사용하여 엔지니어가 작성한 코드 변경사항 검토하기
BigCommerce의 팀 리드인 Chris Ruddel이 공유한 내용입니다. 그는 코드 변경사항(풀 리퀘스트 diff)을 LLM에 보내는 스크립트를 만들었고, 이를 통해 4가지 측면에서 변경사항을 분석했습니다:
- 변경사항이 무엇인지 요약
- 잠재적 버그 식별
- 잠재적 보안 위험 식별
- 변수와 함수 이름이 명확하고 간결한지 판단
그들이 얻은 결과는 다소 복합적인 양상을 보였습니다. AI가 현재 코드와 새 코드의 차이만 보고 있어 전체 맥락이 부족하기 때문인데요.
이로 인해 실제로는 버그를 수정하는 PR인데도 AI가 이를 잠재적 버그로 오인하는 등의 이슈가 종종 발생했다고 합니다. 그러나 이 역시 PR 리뷰의 일부로 보면 추가적인 맥락을 얻는 데 도움이 되었다고 하네요.
그는 또한 코드 변경 크기에 제한을 설정했는데(비용 절감을 위해), 이로 인해 코드 변경 규모가 더 작아지는 긍정적인 효과도 있었습니다. 이것은 그에게 이미 성공으로 여겨지고 있습니다.
2. 리서치부터 목업 제작까지 AI 활용하기
Tintash의 시니어 엔지니어링 매니저인 Moiz Imran의 사례입니다. 그는 여러 프로젝트에 분산된 팀을 관리하고 있어 팀원들의 역량 향상에 어려움이 있었습니다.
그들은 3단계로 AI를 도입했는데요:
- Stack Overflow를 ChatGPT로 대체하는 기본적인 방법으로 시작했습니다.
- Github Copilot, Codeium, Cody 등과 같은 코드 제안 도구를 사용하기 시작했습니다.
- Cursor를 사용하여 생산성을 더욱 향상시켰습니다.
현재 그의 팀의 모든 엔지니어가 정기적으로 Cursor를 사용합니다. 계획 수립에는 o1-mini, 코드 생성에는 claude sonnet을 권장합니다.
이외에도 데이터베이스 설계, 쿼리 생성, 코드 리팩토링 등에 역시 사용한다고 하네요.
3. AI를 사용하여 한 프레임워크에서 다른 프레임워크로 컴포넌트 마이그레이션하기
Illumina의 XD 개발 매니저인 TJ Musser가 공유한 내용입니다. 그는 더 큰 Experience Design 팀의 일부인 UX Platform 팀의 5명의 프론트엔드 엔지니어를 책임지고 있으며, 매니저와 리드 엔지니어 역할을 모두 수행합니다.
그들은 약 100개의 웹 컴포넌트를 유지 관리하고 있으며, 이 컴포넌트들은 원래 Angular로 구축되어 Angular Elements를 사용해 변환되었습니다.
현재 그들은 컴포넌트를 Lit Elements로 마이그레이션하는 과정에 있는데요.
Cursor AI는 특히 Angular 컴포넌트를 Lit으로 마이그레이션하는 데 유용했습니다. 이는 특히 Lit에 익숙하지 않은 일부 엔지니어들에게 작업 속도를 크게 향상시켰습니다.
그는 IDE에 통합된 Cursor와 여러 파일을 한 번에 편집할 수 있는 에이전트 기능을 좋아합니다. 며칠이 걸릴 수 있는 작업이 몇 시간으로 단축되었기 때문이죠.
또한 문서화(storybook) 생성, 종속성 관리, 전반적인 작업 속도 향상에도 긍정적인 영향을 미쳤습니다.
그러나 주의사항 역시 공유했는데요:
"이것은 매우 유용한 도구이지만, 경험이 부족한 엔지니어들에게는 우려되는 점이 있습니다. 경험이 적은 사람들이 발견하기 어려운 여러 함정이 있으며, 주니어보다는 경험이 풍부한 시니어 엔지니어에게 더 많은 혜택이 될 수 있습니다."
4. Cursor AI를 사용하여 사이드 프로젝트 생산성 향상하기
Pinterest의 시니어 소프트웨어 엔지니어인 Jordan Cutler와 Meta의 스태프 소프트웨어 엔지니어인 Sidwyn Koh의 사례입니다.
그들은 WriteEdge라는 사이드 프로젝트를 구축하는 데 Cursor AI를 사용하고 있습니다.
그들은 Cursor AI를 사용하여 많은 코드를 작성하고 스캐폴딩합니다. 업무 시간 외에 사이드 프로젝트를 진행하고 시간이 많지 않기 때문에 이 도구가 그들에게 큰 도움이 되었습니다.
그들은 주로 다음 세 가지 목적으로 Cursor AI를 활용합니다:
- 코드 스캐폴딩(시간 50% 단축)
- 스택 트레이스 이해(시간 30% 단축)
- 버그 찾기(무한한 가치), 코드에서 버그를 지속적으로 스캔하기 때문
5. 테스팅과 코딩 지원을 위한 AI 사용
Cense AG의 엔지니어링 헤드인 David Garcia Berenguer의 사례입니다. 그는 2024년 중반에 GitHub Copilot을 팀에 처음 소개했고, 팀은 부분적으로 이를 사용하기 시작했습니다. 그들은 AI 어시스턴트의 주요 이점이 코딩 자동완성을 통해 보일러플레이트를 줄이고 테스트를 작성하는 데 있다고 했는데요.
하지만 결과는 그리 좋지 않았습니다. 새로 도입된 버그를 수정하는 데 꽤 많은 시간이 소요되어 특히 시니어 엔지니어들이 사용을 줄였거든요.
2024년 12월, 그들은 Cursor AI를 한 달 동안 평가하기 시작했습니다. 목표는 일상적인 개발에 어떻게 포함할 수 있는지 확인하는 것이었죠.
미들급 개발자들은 즉시 이를 수용했고 큰 도움이 되었습니다. 반면, 시니어 엔지니어들은 의심을 해소하는 데 더 많은 시간이 필요했습니다.
확실히 여러 문제를 해결하고, 프로젝트에 대한 더 나은 맥락을 바탕으로 더 정확한 해결책을 제안하는 데 매우 유용했습니다. 그러나 복잡한 문제 해결에는 여전히 효과가 제한적이었다고 하네요.
그럼에도 Cursor의 채팅 기능이 그들에게 매우 유용했다고 하는데요. 이들은 외부 API 문서를 평가하고, 기존 맥락을 제공하여 새로운 통합을 개발하는 좋은 방법을 제안했습니다.
생산성 향상 측면에서:
- 코딩에서는 작업에 따라 다르지만 특정 코드베이스에서 평균적으로 최소 10%, 특정 사례에서는 최대 40-50%의 생산성 향상을 보았습니다.
- 테스팅은 AI에 많이 의존하는 영역으로, 자동화된 테스트 생성 시간을 쉽게 50% 단축했습니다.
6. 소프트웨어 빌딩, 리뷰 및 배포의 핵심 부분으로 AI 사용하기
Appolica의 CTO인 Deyan Genovski의 사례입니다. 그들은 소프트웨어를 빌드, 리뷰, 배포하는 방법의 핵심 부분으로 AI를 도입했습니다. 간헐적으로 AI 도구를 사용하는 대신, 코드를 더 빠르게 작성하고, 품질을 향상시키고, 반복적인 작업을 자동화하기 위해 워크플로우에 완전히 통합했습니다.
1. AI 기반 코딩 지원에서 가장 큰 개선: 이들은 Copilot, Codeium, Tabnine 등 다양한 도구를 테스트했지만, 그 중 Cursor가 가장 효과적이었다고 합니다.
Cursor를 사용하는 엔지니어들은 생산성이 4-5배 향상되었다고 하네요.
가장 큰 차이를 만든 것들:
- Cursor는 보일러플레이트 코드 작성 시간을 최대 80% 줄여주고, 완전한 함수 구현과 리팩토링 옵션을 제안합니다.
- 디버깅은 엔지니어가 수동으로 문제를 해결하는 대신 Cursor가 실시간으로 수정사항을 제안하기 때문에 60% 더 빠릅니다.
- 문서 검색은 Cursor가 IDE 내에서 맥락에 맞는 가이드를 제공하므로 50% 더 빠릅니다.
AI의 실시간 지원 덕분에 엔지니어들은 반복적인 코딩 작업에 시간을 덜 쓰고 실질적인 문제 해결에 더 집중할 수 있게 되었습니다.
2. 더 빠른 코드 리뷰: AI 도입 전에는 수동 코드 리뷰가 시니어 엔지니어 시간의 상당 부분을 차지했습니다. 이제 AI가 PR의 잠재적 이슈를 자동으로 플래그하여 수동 리뷰에 필요한 시간을 60% 줄였습니다.
가장 큰 개선 사항:
- 인간 리뷰어가 코드를 보기도 전에 보안 위험, 코드 스멜, 불일치에 대한 즉각적인 피드백
- 코드베이스를 깨끗하고, 확장 가능하게 유지하는 데 도움이 되는 AI 제안 리팩토링 권장사항
- AI가 초기에 일반적인 실수를 잡아내므로 엔지니어와 리뷰어 간의 소통이 줄어듦
이는 병목 현상이 적고, 코드 승인이 더 빠르며, 시니어 엔지니어가 사소한 수정보다 아키텍처 결정에 집중할 수 있는 시간이 더 많아짐을 의미합니다.
3. 문서화 자동화를 위한 AI 사용: 엔지니어들은 문서 작성을 즐기지 않는 경향이 있어, 프로세스의 70%를 자동화하기 위해 AI를 사용합니다. 이제 AI는:
- 코드 변경에서 API 문서를 자동 생성하여 문서가 항상 최신 상태를 유지하도록 합니다.
- PR 토론과 결정을 요약하여 팀이 변경 이유를 추적하기 쉽게 합니다.
- 맥락에 맞는 지식 검색을 제공하여 엔지니어가 답변을 찾는 데 50% 적은 시간을 소비합니다.
이는 또한 새로운 엔지니어의 온보딩 시간을 30% 단축시켰습니다. 오래된 문서를 뒤지지 않고도 빠르게 업무 속도를 올릴 수 있기 때문입니다.
7. AI를 활용하되, 복잡한 데이터나 파이프라인 설계 문제에 의존하지 말 것
Signal AI의 엔지니어링 디렉터인 Shaun Wallace가 공유한 내용입니다. 그들은 Claude, GitHub Copilot, Cursor 등 다양한 도구를 사용했으며, 많은 이점과 함께 주목할 만한 한계도 발견했습니다.
위에서 언급된 일부 사례와 마찬가지로, 더 적은 타이핑, 문서화 지름길, 보일러플레이트 생성, 설정 작성, 테스트 케이스 생성, 데이터 파싱 등으로 생산성이 향상되었습니다.
그러나 복잡한 도메인에서의 과신과 많은 검증 필요성(더 어려운 문제를 해결하는 데 시간 절약이 전혀 없을 수 있음)과 같은 한계와 함정도 있었습니다.
그들의 집단 경험을 바탕으로 다음과 같은 가이드라인을 개발했습니다:
- 코드 제안, 변수 이름 변경, 모듈 가져오기, 보일러플레이트 생성에 AI를 활용하세요.
- 더 나은 구현을 위해 Python에서 타입 어노테이션을 사용하여 AI를 안내하세요.
- 복잡한 데이터나 파이프라인 설계 문제에 AI를 의존하지 마세요.
- 코드 스니펫을 작성하거나 데이터 구조를 수정할 때 주의해서 사용하고, 항상 출력을 검증하세요.
8. AI를 사용하여 문서화 생성을 완전히 자동화하기
Kinsale Insurance의 테크니컬 매니저인 Sumit Jaju의 사례입니다. 그의 팀은 내부 API 개발 및 UI 개발을 위해 IntelliJ와 Visual Studio Code 내에서 GitHub Copilot을 사용합니다.
그의 팀은 Copilot을 사용하여 보일러플레이트 코드를 생성하는데 10%의 생산성 향상을 보았습니다. Copilot은 또한 단위 테스트 사례 및 API 통합 테스트 자동화를 돕고 있습니다.
그들이 AI를 사용한 또 다른 영역은 코드 문서화의 자동화입니다. 문서를 생성하기 위한 특정 원칙과 프롬프트를 개발했습니다.
많은 엔지니어들에게 지루할 수 있는 부분(문서를 최신 상태로 유지하는 것)을 자동화할 수 있었다고 합니다.
9. 개발자 경험(DevX)을 개선하기 위한 AI 사용
Adobe의 시니어 엔지니어링 매니저인 Nawaz Sheikh가 공유한 내용입니다. 그들은 DevX와 전반적인 개발 생산성을 향상시키기 위해 Cursor AI 탐색을 시작했습니다.
평가 중인 항목:
- 레거시 플로우를 역공학하여 플로우 다이어그램이 포함된 문서 작성
- 테스트 커버리지 개선
- 외부 기술 프레임워크 문서를 Cursor 설정에 연결하여 엔지니어가 프레임워크 관련 질문이 있을 때 IDE 내에서 채팅할 수 있도록 함
10. AI를 사용하여 모바일 앱의 일부를 구축하고, AI 주도 개발 여정에 영감을 받음
Roo의 CTO인 John Stearns가 공유한 내용입니다. 그들은 약 6개월 전에 뜻밖의 눈이 번쩍 트이는 순간으로 AI 주도 개발 여정을 시작했습니다.
그들의 CEO는 ChatGPT를 실험하던 중, 새 디자인의 스크린샷을 업로드하는 것만으로 모바일 앱의 일부를 재구축할 수 있었습니다.
이 진행 상황을 John과 제품 담당 임원에게 공유했을 때, AI가 단순히 개발을 지원하는 것 이상으로 소프트웨어 구축 방식을 혁신할 잠재력이 있다는 것이 분명해졌습니다.
그래서 그들은 단계별로 AI 주도 개발 여정을 시작했습니다.
1단계: Cursor AI로 AI 지원 개발 수용하기
그 깨달음은 그들에게 엔지니어링 프로세스를 재고하게 했습니다.
첫 번째 주요 단계는 Cursor를 IDE로 표준화하는 것이었습니다. 이를 AI 지원 코딩의 중요한 촉진제로 보았습니다.
전환은 어려움 없이 진행되지 않았습니다. 일부 엔지니어는 VSCode보다 IntelliJ를 선호했고, 일부는 AI 생성 코드의 품질에 회의적이었으며, 일부는 새 워크플로우가 번거롭다고 생각했습니다.
적절한 도입을 위해, 처음부터 수동으로 코드를 작성하는 대신 프롬프트를 먼저 작성하는 접근법으로 코딩 작업을 시작하도록 엔지니어들을 독려했습니다.
처음에는 도입이 느렸기 때문에, 기술 부채 스프린트 중 하나에서 엔지니어들이 Cursor로 개선사항을 생성하여 가장 많은 기술 부채를 해결하는 경쟁을 소개했습니다.
PR은 복잡성과 영향에 따라 점수가 매겨졌으며, 팀이 AI 생성 코드에 편안함을 느끼는 데 도움이 되는 재미있고 경쟁적인 환경을 조성했습니다.
2단계: 자체 AI 개발 에이전트에 투자하기
한 달 후, 그들의 제품 담당 임원은 Cursor를 스테로이드로 강화한 것처럼 보이는 오픈소스 AI 에이전트인 Cline을 발견했습니다.
그들은 신속하게 사람-루프 승인 단계를 제거하고 자율적으로 단위 테스트 커버리지를 생성하도록 실험했습니다. 이는 팀 내에서 광범위한 흥미를 불러일으켰습니다.
곧 이 개념을 더 발전시킬 수 있다는 것을 깨닫고 Cline을 포크하여 "Roo Cline"을 만들었고, 나중에 "Roo Code"로 리브랜딩했습니다. 소규모 팀이 Roo Code 작업을 시작하여 기능을 세분화하고 확장했습니다.
또 다른 AI 기반 개발 도구의 내부 채택을 촉진하기 위해, 다른 기술 부채 경쟁을 시작했습니다. 이번에는 OpenRouter 토큰 사용량을 측정하여 각 팀이 Roo Code를 얼마나 효과적으로 활용해 기술 부채를 해소하고 있는지 추적했습니다.
결과는 놀라웠으며 수만 줄의 코드 개선으로 이어졌습니다.
3단계: AI 주도 코드 리뷰 및 주요 제품 재구축
그들의 다음 발견은 AI 지원 코드 리뷰였습니다. Ellipsis라는 도구를 도입했고, 이는 리뷰 품질과 처리 속도를 크게 향상시켰습니다.
AI 주도 개발 관행이 성숙해짐에 따라, 일반적으로 시도하지 않을 프로젝트를 시작했습니다: 웹과 모바일 모두에서 검색 경험의 완전한 재구축입니다.
전통적으로 이러한 완전한 재구축은 위험하지만, AI가 효율성을 크게 향상시켜 저위험 고수익 기회로 봤습니다.
불과 몇 달 만에 AI의 도움을 받은 소규모 엔지니어 팀이 성공적으로 출시된 고품질 오버홀을 제공했습니다.
4단계: AI로 확장하기 – 엔지니어링 생산성 두 배로 늘리기
2025년 계획이 시작되면서, 그들은 AI가 팀 내에서 무엇을 가능하게 했는지 돌아보았습니다.
AI 도구를 효과적으로 활용함으로써, 엔지니어링 인력을 크게 늘리지 않고도 제품 스쿼드 수를 두 배로 늘릴 수 있다는 것을 깨달았습니다.
기존의 34개 팀을 운영하는 대신, 이제 8개의 제품 스쿼드를 계획하고 있으며, 각 스쿼드는 AI의 도움을 받는 단 12명의 엔지니어로 구성됩니다.
앞으로 그들은 AI 네이티브 기업이 되는 데 집중하며, AI 주도 개발의 경계를 계속 넓혀갈 것입니다.
향후 이니셔티브는 다음과 같습니다:
- AI 생성 Cypress 통합 테스트 및 자율적 버그 수정을 통한 QA 자동화
- shadcn과 같은 AI 친화적인 프론트엔드 프레임워크로 전환
- 개발 워크플로우를 더욱 최적화하기 위한 AI 규칙 및 코딩 표준 세분화
마치며
소프트웨어 개발 생산성을 높이기 위해 AI를 어떻게 활용하는지에 대한 인사이트와 경험을 공유해 준 모든 엔지니어링 리더들에게 특별한 감사를 전합니다.
다양한 사람들의 인사이트를 모아 공유하는 이 특별판 뉴스레터 기사를 즐겁게 읽으셨기를 바랍니다. 의견이 있으시면 댓글로 알려주세요!
👥 더 나은 데브필을 만드는 데 의견을 보태주세요
Top 1% 개발자로 거듭나기 위한 처방전, DevPill 구독자 여러분 안녕하세요 :)
저는 여러분들이 너무 궁금합니다.
어떤 마음으로 뉴스레터를 구독해주시는지,
어떤 환경에서 최고의 개발자가 되기 위해 고군분투하고 계신지,
제가 드릴 수 있는 도움은 어떤 게 있을지.
아래 설문조사에 참여해주시면 더 나은 콘텐츠를 제작할 수 있도록 힘쓰겠습니다. 설문에 참여해주시는 분들 전원 1개월 유료 멤버십 구독권을 선물드립니다. 유료 멤버십에서는 아래와 같은 혜택이 제공됩니다.
- DevPill과의 1:1 온라인 커피챗
- 멤버십 전용 슬랙 채널 참여권
- 채용 정보 공유 / 스터디 그룹 형성 / 실시간 기술 질의응답
- 이력서/포트폴리오 템플릿
의견을 남겨주세요
신태림
안녕하세요. 글 항상 잘 보고있습니다. 글 출처를 함께 남겨주시면 좋을 것 같습니다. 감사합니다.
데브필 DevPill
@신태림 안녕하세요, 댓글 감사합니다. 글 번역 과정에서 출처가 빠졌네요. 해당 부분 수정해놓겠습니다. 앞으로도 항상 인사이트 드릴 수 있게 노력하겠습니다. 감사합니다 :)
의견을 남겨주세요