Cursor 전사 도입 6개월: 이후 변화들

JetBrains 해지, Cursor 전면 전환

Mong • Engineer

  • 엔지니어링

안녕하세요, 채널톡 엔지니어 Mong입니다

AI가 코딩의 판을 바꾸고 있는 요즘, 우리 팀은 Cursor를 도입하며 새로운 변화를 맞이했습니다. 전사에 Cursor 도입을 제안한 시점부터 지금까지의 경험을 공유해보려 해요.

도입을 위해 직접 실험하며 얻은 인사이트들과, Cursor 도입 이후 채널톡의 일하는 방식이 어떻게 바뀌었는지 전해 드리려고 합니다.

1. 어떻게 Cursor를 도입했나? 온보딩 프로젝트에서의 깨달음

Cursor 도입의 시작은 웹팀 리더로서 온보딩 과제를 설계하는 과정에서 부터였어요. AI 코드 에이전트가 세상에 막 알려지기 시작할 때 쯤, 저는 실험적으로 Cursor를 써봤습니다. 그때 AI 도구의 가장 큰 걱정은 "이걸 실무에서 쓸 수 있을까?"였어요. 단순한 코드 제안(Tab Suggestion)이 아니라, 실제로 코드를 수정해주는 Composer 기능이 Cursor의 차별점이었죠. 하지만 요즘 유행하는 "Vibe Coding"처럼만 코드를 작성해야 한다면 실무에 도입 했을 때 제대로 쓴다고 말하기는 어렵다고 판단했어요.

실무 레벨에서 요구되는 코드는 단순히 동작하는 코드가 아니라, 버그 없고 스케일링 가능한 구조, 유지보수성 높은 설계, 등 고민해야 할 지점들이 많습니다. 이게 제 미션이었습니다:

AI가 이런 실무 수준의 코드를 만들 수 있을까?

그래서 도전한 것은 'React로 Vector Editor Canvas 만들기' 프로젝트예요. 해당 프로젝트의 목표는 간단했어요.

내가 코드 한 줄도 작성하지 않고 완성해보자!

이 과제는 꽤 어렵습니다. TypeScript, React, Konva를 써서 벡터 그래픽 에디터를 만들려면 MVC/MVVM, Abstract Factory, Command 같은 디자인 패턴을 잘 섞어야 해요. 객체 생성, 멀티 셀렉트, 속성 편집, z-order 조절, undo/redo까지... AI만 써서 이 프로젝트를 잘 해낸다면, 충분히 도입 해 볼 만 하다고 판단했습니다.

직접 해보는 과정에서 얻은 인사이트가 컸어요. AI에게 꽤나 마음에 드는 코드를 받아낼 수 있었습니다. 이 경험을 바탕으로 보안 검토와 리더십 설득 과정을 거쳤고, 2주 만에 도입을 결정했습니다. 도입 이후 Cursor 활용성을 끌어올리기 위해 모든 엔지니어를 찾아다니며 세션을 진행했어요.

이제부터 그 당시 진행했던 세션의 내용을 공유해 보도록 하겠습니다!

2. AI와 함께하는 개발, 이렇게 시작하세요

시작점: 마인드셋 전환하기 "AI가 코딩의 주체"

가장 중요한 건 기존 개발 방식에서 완전히 벗어나는 거예요. AI에게 최대한 많은 것을 위임하기 위한 노력을 해야 해요. 저는 도입 초반에 내가 쉽게 할 수 있는 작업이더라도, 80%의 코드를 AI에게 시키는 연습을 꾸준히 진행했어요.

실제 훈련 방법

  • 간단한 유틸 함수도 AI에게 맡기기

  • 내가 5분이면 할 수 있는 작업도 AI와 15분 토론하기

  • "이건 내가 더 빨라" 생각이 들어도 참고 AI에게 위임하기

이런 연습을 통해 AI와의 협업 패턴을 체득할 수 있었어요.

즉, 패러다임 전환이 필요해요

  • 기존 방식: "AI가 내 코딩을 도와준다"

    • Tab으로 자동완성 받기

    • 막힐 때만 AI에게 질문하기

    • 여전히 내가 코딩의 주체

  • 새로운 방식: "AI가 코딩 주체, 나는 설계자이자 리뷰어"

    • AI에게 전체 구현을 맡기기

    • 내가 하는 일: 문제 정의 → 아키텍처 설계 → AI 결과물 리뷰

    • 손으로 직접 코딩하는 시간 최소화

실제 변화 사례

Vector Canvas Editor 프로젝트에서 제가 직접 경험한 변화예요.

  • Before: "Rectangle 컴포넌트 어떻게 만들지?" → 직접 코딩 시작

  • After: "벡터 에디터에서 도형 객체들을 어떻게 설계하는 게 좋을까?" → AI와 토론 → 구현 일임

이 차이가 엄청나게 큰 결과를 만들어냈어요. 단순히 빨라진 것 뿐만 아니라, 마치 피어 엔지니어와 토론하면서 더 좋은 구조를 고민하고, 미리 아키텍트를 그리고 작업을 할 수 있어서 충분히 좋은 코드를 작성할 수 있었습니다.

예시와 팁

Plaintext
### 다음은 내가 답변받고 싶은사항들
@ManagerAbilityAuthenticator.java 를 리팩토링 하고싶음
- 이 코드의 사용처를 코드베이스에서 확인해보고 이 클래스가 어떤 책임과 역할을 가지고 있는지, 어떤 비스니스 로직을 수행하고 있는지 파악해서 알려줄 것.
- 이 코드의 문제점을 파악해서 알려줘
- 이 코드를 어떤 식으로 리팩토링하면 좋을지 적용가능한 순서대로 리팩토링 단계를 순차적으로 제안해줘
### 다음은 백그라운드 사항들
내가 생각하는 문제점.
1. if문이 너무 많아서 saml 관련 조건들을 볼려면 너무 볼 곳이 많아. 한눈에 조건들이 들어오지 않아.
### 현재 생각하고 있는 리팩토링 방향성
1. 100번 라인에 있는 ipAccessChecker 처럼 한줄로 인증 관련 로직을 다 처리하면 편할수도?
### 다음은 답변을 줄 때 고려해야 할 사항들
- 내가 코드 작성을 요청하기 전까지 절대 코드를 작성하지 말 것
- 이해하기 어려운 지점 혹은 책임과 맥락 관점에서 추가적으로 고려해야 할 사항이 있다면 질문 줄 것, 그러면 답변 주겠음
- 일반적인 클린코드 원칙들
- 디자인 패턴을 적용한 제안들
- 테스트 코드 작성의 용이성

구조화된 프롬프트 작성법

복잡한 작업을 요구할 때는 마크다운, XML 등으로 구조화해서 작성하세요. 위 예시처럼 "답변받고 싶은 사항들 / 백그라운드 사항들 / 고려사항들"로 나누면 AI가 맥락을 정확히 파악할 수 있어요. 하나의 채팅에서는 하나의 맥락만 다루는 것이 중요합니다.

첫 질문에서 절대 하지 말 것

무작정 "코드 짜줘"라고 요청하지 마세요. 위 예시처럼 반드시 "내가 코드 요청 전까지 절대 코드를 작성하지 말 것"이라고 명시하고, 먼저 문제 분석과 설계 단계를 거치도록 해야 합니다.

사람과 AI의 문제 인식 동기화

이 과정에서 가장 중요한 건 사람의 문제 인식과 AI가 인지한 문제 인식을 최대한 동일하게 만드는 것입니다. 작업 설계 및 작업 순서를 미리 다듬는 것만으로도 사람의 의도를 충분히 포함하게끔 설계를 수정할 수 있고, 실제로 작업을 시킬 때에도 더 좋은 결과물을 뽑아낼 수 있습니다.

예를 들어, 위 리팩토링 예시에서 "if문이 너무 많다"는 문제를 AI가 단순히 "조건문 정리"로 이해할 수도 있지만, "SAML 관련 조건들을 한눈에 보고 싶다"는 본질적인 의도를 명확히 전달하면 훨씬 더 적절한 해결책을 제시합니다.

디자인 패턴으로 소통하기

특히 효과적인 방법은 디자인 패턴을 활용하는 것입니다. 디자인 패턴은 사람과 AI가 모두 잘 이해할 수 있는 공통 언어이기 때문이에요:

Plaintext
"Strategy 패턴을 사용해서 각 인증 방식(SAML, OAuth, Basic)을
별도 클래스로 분리하고, 런타임에 적절한 전략을 선택하도록
리팩토링해줘"

이렇게 구체적인 패턴을 제시하면 AI가 정확히 어떤 구조를 원하는지 이해하고, 일관성 있는 코드를 작성할 수 있어요. Factory, Builder, Command, Observer 같은 패턴들도 마찬가지로 명확한 의도 전달에 매우 유용합니다.

다이어그램 활용하기

Plaintext
AS-IS와 TO-BE 구조를 class, sequence, state 다이어그램 중 적절한 걸로 그려줄 것.
그러면 내가 대차대조 해보고 추가적인 코멘트 제공하겠음.

이런 식으로 다이어그램 작성을 요청하면 AI가 정말 훌륭한 시각적 설계를 제공해줍니다. 특히 리팩토링할 때 현재 구조(AS-IS)와 개선된 구조(TO-BE)를 비교해보면 어떤 부분이 개선되는지 한눈에 볼 수 있어요.

AI에게 역질문 받기

"이해하기 어려운 지점 혹은 책임과 맥락 관점에서 추가적으로 고려해야 할 사항이 있다면 질문 줄 것"이라고 명시하세요. 이렇게 질문하도록 요청하면 불명확하게 전달한 맥락을 추가로 AI에게 주입할 수 있고, 설계 상으로도 놓칠 수 있는 포인트들을 짚어줘요.

단계별 작업 요청하기

큰 작업은 반드시 단계별로 쪼개서 진행하세요. "리팩토링 단계를 순차적으로 제안해줘"라고 요청하면 AI가 체계적인 플랜을 제시합니다.

Plan & Act 사이클

각 단계마다 "Plan & Act" 방식으로 계획을 세우고 실행하는 것을 반복하면 훨씬 안정적으로 작업을 진행할 수 있어요:

1. Plan: "다음 단계에서 구체적으로 뭘 할지 상세히 설명해줘"

2. Act: "위에서 논의한 대로 실제 코드를 작성해줘"

3. Review: "작성된 코드에서 놓친 부분이나 개선점은 없을까?"

4. Next: "다음 단계로 넘어가자"

이런 식으로 진행하면 AI가 맥락을 잃지 않고 일관성 있게 작업할 수 있어요. 필요하면 산출물을 레포지토리에 저장하여 맥락을 꾸준히 유지하기도 합니다.

3. 6개월 후, 이런 변화들이 일어났어요

2024년 11월 도입 이후 6개월 동안 우리 팀에 일어난 변화들을 영역별로 정리해봤어요.

생산성 변화: 숫자로 보는 놀라운 성장

AI가 장성하는 코드 작성량이 급격히 증가하고 있어요

위 그래프는 4월부터 7월 10일까지 인당 Cursor Chat(Agent) 으로 발생한 코드라인 변경수 추이예요. 4월에는 인당 250줄 정도를 AI로 작성했다면, 7월 10일 기준 인당 1000줄 정도를 작성 하고 있어요.

도구 전환의 과감한 결정

채널팀 전체적으로 JetBrains를 해지했어요. Cursor 사용을 강제하여 AI와 협업하는 경험을 최대한 늘리기 위한 전략적 선택이었죠. 처음엔 "정말 이거 하나로 충분할까?" 걱정했지만, 지금은 되돌아갈 생각이 없어요.

AI 생태계 구축: 도구를 넘어 워크플로까지

Cursor 도입이 단순히 에디터 하나를 바꾼 것이 아니라, 개발 프로세스 전체를 AI 중심으로 재설계하는 계기가 되었어요.

다양한 AI 도구들의 적극적인 도입

Cursor 뿐만 아니라 생산성 향상을 위한 여러 AI 도구들을 적극적으로 실험하고 있어요:

  • Codex: 백그라운드 코드 작업 에이전트

  • Claude Code: CLI code agent 도입 실험

  • n8n 워크플로우: 반복 작업 자동화

  • CodeRabbit: AI 기반 코드 리뷰

  • Linear MCP: 프로젝트 계획 구체화

  • Figma Integration: 디자인 시스템 기반 React 컴포넌트 자동 생성

4. 채널톡 개발팀의 AI 생산성 증진 사례

Cursor 도입 이후 우리 팀은 단순히 코딩 도구를 바꾼 것이 아니라, 개발 프로세스 전체를 AI 중심으로 재설계 해 나가고 있습니다. 실제 업무에서 이뤄낸 성과들을 소개 해 드릴게요. 아래 사례들은 최근에 진행되었던 채널톡 CHANNEL DEV TALK 에서 발표 되었으니, 유튜브를 참고해 주세요!

백엔드: 버그 대응과 PR 리뷰 시간 90% 단축

기존에 몇 시간씩 걸리던 버그 대응과 PR 리뷰 과정을 Cursor와 MCP(Model Context Protocol)를 활용해 자동화했습니다. 복잡한 코드베이스에서 문제를 찾고, 관련 컨텍스트를 파악하는 작업이 AI의 도움으로 극적으로 빨라졌어요.

👉🏻 백엔드 팀의 자세한 경험담 보기

  • 버그 트래킹: 에러 로그 분석부터 원인 파악까지 자동화

  • 코드 리뷰: 잠재적 이슈 사전 탐지 및 개선 제안

  • 컨텍스트 분석: 대규모 코드베이스에서 영향도 분석 자동화

프론트엔드: 디자인부터 구현까지 완전 자동화

"UI를 꼭 사람이 짜야 할까?"라는 질문에서 시작된 실험이 놀라운 결과를 만들어냈습니다. Figma 디자인 명세를 입력으로 받아 실제 동작하는 React 컴포넌트까지 프롬프트만으로 생성하는 워크플로를 구축했어요.

👉🏻 프론트엔드 팀의 혁신적 접근법 보기

  • 디자인 토큰 추출: Figma에서 스타일 가이드 자동 변환

  • 컴포넌트 생성: 디자인 명세 기반 React 코드 자동 생성

  • 상태 관리: 인터랙션 로직까지 포함한 완성도 높은 구현

우리가 만들어가는 새로운 개발 문화

이러한 변화는 단순한 생산성 향상을 넘어 개발 문화 자체를 바꾸고 있습니다.

  • 중요한 문제에 집중: 반복 작업은 AI가, 우리는 본질적 문제에 몰입

  • 빠른 실험과 검증: 아이디어를 빠르게 프로토타입으로 만들어 검증

  • 지식 공유 활성화: AI 활용 노하우를 팀 전체가 공유하며 성장

마무리: AI 시대, 우리 엔지니어의 이상향

채널톡 CTO 클샌이 말씀하신 "기초에 충실한 개발"처럼 AI 시대에도 기본기(자료구조, 문제 정의)가 핵심입니다. AI는 도구일 뿐, 고객 문제를 해결하는 건 우리예요. Cursor 도입으로 우리는 더 빠르고 창의적으로 성장 중입니다. 클샌은 이런 시대일수록 "어떻게 구현할까?"보다 "무엇을 구현할 것인가?"가 더 중요해졌다고 말씀하시며, 문제를 쪼개고 정의하는 능력의 중요성을 강조하셨어요.

채널톡이 추구하는 개발 문화와 함께하고 싶은 개발자상에 대한 더 자세한 이야기는 채널톡 CTO가 말하는 함께 하고 싶은 개발자 에서 확인하실 수 있습니다.

채널톡 개발팀과 함께 AI 시대의 새로운 개발 경험을 만들어가고 싶다면, SWE 채용 공고를 확인해보세요!

We Make a Future Classic Product