hello

우리가 알던 고전적 소프트웨어 엔지니어링은 죽었다

Share
image

Product Engineering 시대와 AI 개발 패러다임 변화

1. 패러다임 변화: 코드 작성의 목적이 달라졌다

1972년 Dennis Ritchie가 C 언어를 발표한 이후, 소프트웨어 산업은 오랫동안 다음 요소에 집중해 왔다.

  • 코드 효율성 (시간·공간 복잡도)
  • 코드 길이 및 생산성
  • 가독성과 유지보수성

그러나 AI 시대가 시작되면서 기존 패러다임이 근본적으로 변하고 있음.

John Carmack은 “최고의 개발 도구는 곧 핸드코딩이 아닌 AI 코딩이 될 것”이라고 말했으며, 이는 개발자가 더 이상 코드 작성에 시간을 쓰기보다:

  • 제품 역량에 집중하고
  • 제품을 이해하고
  • AI를 통해 최고의 개발 환경을 구성하는 것

이 더 중요한 시대가 도래했음을 의미한다.

➡️ 이로써 전통적 소프트웨어 엔지니어링의 시대가 저물고, Product Engineering 시대가 시작됨.


2. Product Engineer란?

Product Engineer(PE) 는 _제품 관리자_와 _풀스택 엔지니어_의 특성을 결합한 역할이다. 제품 생명주기를 처음부터 끝까지 책임지고, 스스로 제품 성장을 만들어가는 사람이기도 하다.

주요 특징

  • AI 네이티브 AI/LLM을 보조가 아닌 기본 개발 도구로 사용.
  • T자형(육각형) 인재 강한 엔지니어링 역량 + 제품, 디자인, 데이터 전반의 폭넓은 이해.
  • 결과 중심 유지율, 전환율, 활성 사용자 등 핵심 KPI를 직접 책임.
  • 높은 자율성 아이디어 → 기획 → 설계 → 개발 → 배포를 거의 독립적으로 수행.

3. Product Team 구조

전통적인 방식에서는 프론트엔드·백엔드·인프라 등 기술 스택 중심 분업이었다. 그러나 Product Engineering 팀은 완전히 다르다.

Product Team의 특징

  • 스택이 아니라 제품·기능 단위(feature squad) 로 팀 구성
  • 한 명의 PE가 한 기능(온보딩/결제/알림 등)을 처음부터 끝까지 책임
  • 팀원 간 역할 이동이 자유롭고 극도로 린(Lean)한 팀 운영 가능
  • 팀은 크게 두 파트로 구성됨:
    • Product 파트: 제품 방향·전략·디자인·시장 이해
    • Engineer 파트: 실제 구현 및 기술적 실행

4. Product Engineer의 역할

4.1 Product 파트 역할

AI가 전사적으로 활용되는 시대에서 Product Engineer는 PM, 기획자, 마케터 역할까지 수행한다.

주요 Product 역량

  • 제품 아이디어 발굴 핵심 기능·가치·사용자를 정의
  • 마인드맵 작성 및 브레인스토밍
  • 디스커버리(Discovery) 고객 니즈 탐색, 시장 기회 조사
  • 기능 우선순위 결정
  • 시장 분석 & 사용자 리서치
  • 제품 디자인(UI/UX) 인터랙션 설계 및 사용자 테스트 포함

AI의 역할:

  • 인간의 창의성은 대체 불가
  • 대신 AI는 "이미 존재하는 문제 패턴 분석"과 "반복적 아이디어 개선"에 강함
  • 인간이 제품 비전을 정의하고, AI는 그 비전을 구체화하는 구조가 최선

4.2 Engineer 파트 역할

Engineer 영역은 AI 활용 비중이 가장 큰 분야이다. 목표는 Simple, Lovable, Complete 제품을 만드는 것.

주요 기술 역할

  • 소프트웨어 아키텍처 구조적 선택, 패턴 결정 등 미래 비용을 좌우하는 결정 수행
  • 시스템 설계 (System Design)
  • 프론트엔드 개발
  • 백엔드 개발
  • 데이터 모델링 및 DB 설계
  • 품질(테스트/모니터링/장애 대응)

5. Planning: AI를 잘 쓰기 위한 핵심 단계

AI가 제대로 동작하려면 컨텍스트(요구사항·의도)가 명확해야 한다. 즉, AI에게 전달할 명세서를 잘 만드는 것이 개발 생산성을 좌우한다.

예시(“Cline” 프로젝트 가이드라인 형태)

# 프로젝트 가이드라인

## 문서화 요구사항
- 기능 수정 시 /docs 업데이트
- README.md 최신화
- 변경점은 CHANGELOG.md에 기록

## 아키텍처 결정 기록 (ADR)
- 주요 변경 발생 시 /docs/adr에 ADR 작성
- 템플릿: /docs/adr/template.md

## 코드 스타일
- OpenAPI Generator 사용
- axios 기반 TypeScript 템플릿
- 상속보다 컴포지션
- Repository 패턴 사용
- 에러 핸들링 패턴 통일

## 테스트
- 비즈니스 로직: 단위 테스트
- API: 통합 테스트
- 핵심 사용자 흐름: E2E 테스트

6. Software Architecture

정의

한 번 결정되면 바꾸기 어려운 소프트웨어의 뼈대를 설계하는 일. (아키텍처 패턴, 의존성, 모듈 구조, 프로토콜, 확장 전략 등)

AI의 역할

  • 아키텍처 패턴 비교
  • 시스템 다이어그램 생성(Mermaid 등)
  • ADR 초안 작성
  • 가정에 대한 스트레스 테스트

인간의 역할

  • 도메인 전문성
  • 맥락 기반 판단
  • 트레이드오프 결정

➡️ AI 시대에도 아키텍처 역량은 더욱 인간 중심 기술로 남을 것


7. System Design

AI가 강점을 보이는 영역 중 하나.

System Design 구성 요소

  • API 및 서비스 경계 정의
  • 데이터 모델링
  • 비동기 워크플로우 설계
  • 상태 기계(State Machine) 구성
  • 장애 복구/에러 핸들링
  • 설계 문서 작성
  • 엣지 케이스 시뮬레이션

AI의 장점:

  • 명확한 기능 명세를 주면 설계 초안 생성 가능
  • 복잡한 흐름의 엣지 케이스 탐지
  • 상태 기계·API 인터페이스 설계 보조
  • 반복적 개선에 적합(“AI를 주니어 엔지니어로 활용하라”)

8. Frontend Engineering

AI가 가장 잘하는 영역 중 하나.

AI를 통한 프론트엔드 효율화

  • React/JS/Tailwind 등 풍부한 레퍼런스 기반
  • 브랜드 가이드라인(Figma 캡처 포함)을 AI에게 제공 → 일관된 UI 코드 생성
  • 이후 개발자가 리뷰하며 개선하는 방식 추천

9. Backend Engineering

AI가 잘하는 부분

  • 명확한 요구사항이 있을 때 API·비즈니스 로직 작성
  • 데이터베이스 스키마 설계 및 최적화
  • 반복적 비즈니스 로직 생성

활용 팁

  • Import documentation 프로젝트 문서를 통합하면 환각이 크게 줄어듦
  • Workspaces 활용 프론트+백엔드 전체 맥락을 AI에 제공하면 이해도 상승

10. Product Engineer를 위한 실전 팁

1) 항상 최신 모델을 사용하라

  • 최신 모델일수록 추론력·정확성·맥락 이해도가 높음.

2) Thinking Mode 활용

  • 답변 품질이 눈에 띄게 향상됨.

3) 매우 구체적으로 프롬프트 작성

예:

SignUp.tsx 폼에서 ‘Submit’를 클릭하면 sign_up_started 이벤트를 
trackEvent() 함수로 호출하고, email domain을 property로 포함하고,
debounce하여 중복 호출 방지하도록 구현해줘.

4) 시각적 맥락 제공

  • 스크린샷, Figma, 에러 로그 이미지 등 활용 → 디버깅 정확도 증가

5) 작은 단위 반복

  • 기본 기능 구현 → 개선 반복

6) 호기심 유지

  • 커뮤니티에서 새로운 AI 활용 팁을 지속적으로 탐색

11. AI 시대 엔지니어가 길러야 할 기술

1) CLI 도구 숙련도 (특히 Git)

  • AI가 생성한 코드 오류를 빠르게 되돌리기 위해 필수

2) 기본 엔지니어링 능력

  • 모듈화, DRY 원칙, 네이밍 센스 등
  • AI가 이를 완전히 대체하지 못함

3) 커뮤니케이션 능력

  • 명확한 프롬프트를 쓰는 능력은 최강의 능력
  • 팀 협업에서도 필수

12. AI 시대의 조직 변화

  • 개발 업무가 저렴하고 범용화될수록 “결과를 전략적으로 전달하는 능력”이 중요해짐
  • PM/엔지니어 구분이 흐려지고 제품 중심 포드 팀 구조가 확산
  • PE + AI 코파일럿으로 구성된 초린(ultra-lean) 팀이 새로운 표준이 될 가능성 높음
  • 전통적인 프론트/백엔드/인프라 팀은 사라지고 제품 기능 중심 구조가 대세

맺음말

AI는 개발 패러다임을 근본적으로 바꾸고 있으며, 이 변화 속에서 Product Engineer는 가장 영향력 있는 역할로 부상하고 있습니다.

  • AI를 잘 활용하는 능력
  • 제품을 처음부터 끝까지 책임지는 역량
  • 전략과 기술을 모두 다루는 능력

이 세 가지가 앞으로의 엔지니어를 결정짓는 핵심이 됩니다.

Read more

LLM 시대, 프롬프트 엔지니어링보다 '도메인 전문성'이 더 강력한 무기인 이유

최근 AI 도구들이 비약적으로 발전하면서 '프롬프트 엔지니어링'이라는 기술적 기법에 많은 관심이 쏠렸습니다. 하지만 실제 현업에서 LLM을 극한으로 활용해 고도의 결과물을 만들어내는 사람들의 공통점은 정교한 프롬프트 템플릿을 쓰는 능력이 아니라, 해당 분야에 대한 깊은 '도메인 전문성'을 갖추고 있다는 점입니다. 많은 이들이 LLM이 지식의 격차를 줄여준다고

By JHL

AI 코딩 에이전트 도입 시 고려해야 할 보안 제어 프레임워크: 속도와 안전의 균형 잡기

최근 Claude Code나 Kiro와 같은 AI 코딩 에이전트들이 단순한 코드 완성을 넘어, 자연어 프롬프트 하나로 수십 개의 PR을 생성하고 인프라를 수정하는 수준까지 발전했습니다. 하지만 이러한 생산성 향상은 '기계적 속도'라는 트레이드오프를 동반합니다. AI 에이전트는 조직의 보안 리스크나 컴플라이언스를 이해하지 못한 채 오직 '작업 완료'에만 최적화되어

By JHL

AI 벤치마크의 '포화 상태'와 평가 지표의 유효기간: 우리는 무엇을 믿어야 하는가

최근 LLM의 성능이 비약적으로 상승하면서, 역설적으로 우리가 모델의 성능을 측정하는 '자' 자체가 무용지물이 되는 현상이 가속화되고 있습니다. arXiv에 게재된 "When AI Benchmarks Plateau: A Systematic Study of Benchmark Saturation" 연구는 우리가 흔히 신뢰하는 벤치마크 점수가 왜 더 이상 모델 간의 변별력을 제공하지 못하는지, 그리고 이른바 '

By JHL

AI 에이전트 시대의 엔드포인트 보안: 실행 권한을 넘어 '행위 거버넌스'로

DevOps.com을 통해 Airlock Digital이 발표한 'Agentic AI Control & Governance' 솔루션 소식을 접했습니다. 이번 발표의 핵심은 단순히 '어떤 AI 소프트웨어를 실행할 것인가'라는 기존의 화이트리스트 방식(Application Control)을 넘어, 실행 중인 AI 에이전트가 '실제로 어떤 명령을 내리고 어떻게 행동하는가'를 실시간으로 제어하겠다는

By JHL