개발자가 코드를 안짜는 시대가 오고있다

안녕하세요 섭섭이분들. 이번에도 AI를 주제로 아티클을 작성해보았습니다. 이번 아티클은 이번 38기가 시작하기 전부터 이 주제로는 꼭 아티클 하나 써야겠다 생각하고 자료조사를 해왔었는데요, 이런 트렌드의 변화에 대해 많이 이야기 나누고싶어요. 추가적인 의견이나 공유거리가 있다면 언제든 편하게 공유해주세요!

서론

개발자가 코드를 직접 작성하지 않는 시대가 점점 현실이 되고 있습니다.

GitHub Copilot, ChatGPT, Cursor와 같은 도구를 넘어 이제는 AI 에이전트가 실제 개발 작업을 수행하는 단계로 진입하고 있습니다.

이제 기존의 개발자 생태계를 이끌었던 사람들은 AI가 단순 보조를 넘어 작업 단위 자체를 수행하는 존재로 쓰기 위한 시도들을 하고있습니다.

---

지금의 병목은 “작성”이 아니라 “사람”입니다

AI는 코드를 빠르게 생성합니다. 문제는 그 이후인데요.

인간은 생성된 코드를 이해하고, 검증하며, 신뢰해야 합니다. 결국 개발에서 가장 큰 병목은 AI가 짠 코드를 분석하고 검증하고 중간에 휴식까지 필요한 인간이 되었습니다.

---

AI 네이티브 개발 도구는 여러 방향에서 등장하고 있는데요.

몇가지 예시를 소개하려 합니다.

1. 맥락을 저장하는 레이어: Entire

---

https://entire.io/

Entire는 코드가 아니라 개발 과정 전체를 기록하는 것에 집중하는 도구입니다.

Entire가 흥미로운 이유는 전 Github의 CEO인 Thomas Dohmke가 설립한 회사라는 점인데요,

세계에서 가장 큰 개발자 플랫폼을 이끌었던 그가 이제는 본인이 이끌었던 기존 플랫폼의 한계를 지적하며 다음 단계를 제시하고 있습니다.

*사실, 이슈 관리부터 Git 저장소, 풀 리퀘스트, 배포에 이르기까지 우리가 사용하는 수동 소프트웨어 생산 시스템은 애초에 AI 시대를 위해 설계된 것이 아닙니다.

“자동차 회사들이 전통적인 수작업 기반 생산 시스템을 이동식 조립 라인으로 대체했던 것처럼, 이제 우리는 기계가 코드 생산의 주요 주체가 되는 세상에 맞춰 소프트웨어 개발 수명주기를 재구상해야 합니다.”

  • Thomas Dohmke Interview-*

예를 들어 로그인 버그를 수정한다고 가정해보겠습니다.

기존 Git에서는 다음과 같이 남습니다.

fix: login bug

하지만 실제로는 이런 과정이 존재합니다.

  • 사용자가 “로그인 실패 원인 분석” 요청
  • AI가 로그를 분석하고 JWT 만료 문제를 추론
  • 여러 수정 시도 후 해결
  • 테스트 코드 실행 및 검증

Entire는 이 전체 흐름을 다음과 같이 저장합니다.

checkpoint:
  - intent: 로그인 오류 원인 분석
  - reasoning: JWT expiration 처리 누락
  - attempts: 3회 수정 시도
  - tools: 테스트 실행, 로그 분석
  - result: AuthService 수정

즉, “이 코드가 왜 이렇게 되었는지”를 나중에 그대로 복원할 수 있습니다.

그리고 이것은 특히 기존의 플랫폼이 하지 못하는 것들을 할 수 있습니다.

  • 2주 뒤 다시 코드 이해해야 할 때
  • 다른 개발자가 작업 이어받을 때
  • AI가 동일한 작업을 다시 수행할 때

하지만 여기서 중요한 포인트는 단순 기능이 아니라.

Git을 만들고 확장해온 사람들이 이제는 “Git 위에 무엇이 더 필요하냐”를 고민하고 있다는 점입니다.

2. 협업 인터페이스의 변화: Codespeak

---

https://codespeak.dev/

Codespeak는 단순히 코드를 더 빨리 생성하는 도구가 아닙니다.

개발의 인터페이스 자체를 바꾸려는 시도입니다.

이 프로젝트는 Andrey Breslav이 참여한 것으로 알려져 있는데요.

Kotlin의 창시자가 이제는 “코드를 어떻게 더 잘 쓸 것인가”가 아니라 “코드 없이도 개발할 수 있는가”를 고민하고 있다는 점이 인상적인 프로젝트입니다.

---

기존 개발과 무엇이 다르냐면

기존 개발의 본질은 다음과 같았습니다.

의도 → 코드로 번역 → 컴파일 → 실행

이 과정에서 개발자의 역할은 명확했습니다.

의도를 코드로 번역하는 사람

---

Codespeak가 제안하는 구조는 다음과 같습니다:

의도 → AI → 코드 → 컴파일 → 실행

이 변화에서 가장 중요한 것은 단순히 AI가 추가된 것이 아닙니다.

의도를 코드로 번역하는 역할이 사람에서 AI로 이동했다는 점입니다

---

실제 사용 방식은 이렇게 바뀝니다

1. 기능 구현

기존 방식에서는 개발자가 직접 구현해야 했습니다.

- Controller 작성
- Service 로직 구현
- 예외 처리 추가
- 테스트 코드 작성

Codespeak에서는 이렇게 시작합니다:

개발자가 spec.md 작성
"로그인 실패 시 JWT 만료 여부를 확인하고,
만료라면 refresh 토큰으로 재발급 유도하고,
그 외에는 일반 에러로 처리해줘"

→ AI가 전체 코드 흐름을 생성

→ 개발자는 결과를 보고 수정
"프론트에서 분기할 수 있도록 에러 코드를 추가해줘"

Codespeak에서는 개발자는 코드를 작성하지 않습니다
대신 **정책과 흐름만을 설계합니다**

---

2. 리팩토링

"이 서비스가 너무 많은 책임을 가지고 있어.
DDD 기준으로 역할 분리해줘"

→ AI가 구조 분리

→ 개발자는 조정
"Transaction 경계는 Service에 남겨줘"

구현이 아니라 구조 설계와 판단이 중심이 됩니다.

3. 기능 추가

"회원 가입 시 이메일 인증 기능 추가하고,
인증 안 된 계정은 로그인 못 하게 해줘"

→ AI가:

- DB 구조 변경
- 인증 로직 구현
- 이메일 발송 처리
- 로그인 로직 수정
- 테스트 코드 작성

→ 개발자가 조정
"인증 토큰 만료 시간을 10분으로 줄여줘"

개발이 명세 → 실행 → 조정 흐름으로 바뀝니다

---

이미 AI를 사용해서 개발을 사용하시는 분들에게는 익숙한 흐름일 거라고 생각이 드는데요, CodeSpeak은 여기서 더 나아가 개발자가 코드를 작성하지 않는 흐름을 개발 표준으로 만드는 시도를 하고 있습니다.

이러한 변화에서

이 구조에서는 개발자의 역할이 달라집니다.

기존 개발자

  • 코드를 작성하는 사람
  • 구현을 담당하는 사람

Codespeak

  • 문제를 정의하는 사람
  • 의도를 명확하게 표현하는 사람
  • 결과를 검증하는 사람

Codespeak는 개발 과정을

“코드를 작성하는 과정”에서 “의도를 점진적으로 구체화하는 과정”으로 바꾸려는 시도를 하고있습니다.

3. 개발 환경 자체의 변화: Cursor

https://cursor.com/ko/home

Cursor는 개발 환경을 AI 중심으로 재구성합니다.

기존 IDE

  • 코드 작성 → 검색 → 수정 → 반복

Cursor:

“이 클래스 구조를 더 유지보수하기 좋게 리팩토링해줘”

→ 코드 전체 수정

“이 버그 어디서 발생한 거야?”

→ 코드 분석 + 원인 설명

즉, IDE 자체가 단순 편집기가 아니라 AI와 협업하는 인터페이스로 바뀝니다

---

이 모든 변화는 하나로 연결됩니다

각 도구는 다른 문제를 해결하는 것처럼 보이지만 실제로는 하나의 흐름을 구성합니다:

Codespeak → 의도 전달
Cursor    → 상호작용 환경
Entire    → 맥락 저장

그리고 이 흐름이 합쳐지면

의도 → 실행 → 상호작용 → 기록 → 재사용

이라는 새로운 개발 사이클이 만들어집니다.

---

그래서 앞으로는

개발의 중심이 코드에서 “맥락과 의도”로 이동하고 있습니다.

이제 중요한 것은 코드를 얼마나 잘 작성하는가가 아니라 어떤 의도를 얼마나 명확하게 전달하고 통제할 수 있는가입니다.

섭섭이 분들을 이 변화 속에서 어떤 역할을 준비하고 계신가요?

Ref

https://entire.io/news/former-github-ceo-thomas-dohmke-raises-60-million-seed-round

https://entire.io/blog/hello-entire-world/

https://codespeak.dev/

https://wikidocs.net/blog/@jaehong/9128/

https://jbzang2000.medium.com/spec-driven-development-codespeak-e24cc3a5c1e5