세미나

프로그래머로 살아남기

『프로그래머의 뇌』(펠리너 헤르만스, 2021)로 읽는
AI 전환기 개발자의 역량 변화

→ 다음 장 ↓ 더 깊이 Esc 전체 지도

이 발표의 길

다섯 정거장

출발점『프로그래머의 뇌』코드를 읽고 이해하고 협업하는 뇌
역사복잡성과의 투쟁패러다임은 인지 부하를 통제하는 무기였다
현재네 가지 변화읽기와 검증, 인지 부하, 시스템 설계, 오케스트레이션
현장일정표에서 악보로개발 일정의 무게 중심이 옮겨간다
결론코더에서 설계자 겸 리뷰어로

출발점

프로그래머의 뇌

코드를 작성하는 행위를 넘어,
코드를 읽고 이해하며 협업할 때 뇌에서 일어나는 인지 과정에 주목하는 책

  • 단기 기억
  • 장기 기억
  • 작업 기억
  • 청킹
  • 인지 부하

Felienne Hermans, The Programmer's Brain, Manning, 2021 / 한국어판 제이펍, 2022

출발점 목차

4부 13장

파트 1 코드 더 잘 읽기

  1. CH1코딩 중 겪는 혼란에 대해
  2. CH2신속한 코드 분석
  3. CH3프로그래밍 문법 빠르게 배우기
  4. CH4복잡한 코드 읽는 방법

파트 2 코드에 대해 생각하기

  1. CH5코드를 더 깊이 있게 이해하기
  2. CH6코딩 문제 해결을 더 잘하려면
  3. CH7생각의 버그

파트 3 좋은 코드 작성하기

  1. CH8명명을 잘하는 방법
  2. CH9나쁜 코드와 인지 부하를 방지하는 두 가지 프레임워크
  3. CH10복잡한 문제 해결을 더 잘하려면

파트 4 코딩에서의 협업

  1. CH11코드를 작성하는 행위
  2. CH12대규모 시스템의 설계와 개선
  3. CH13새로운 개발자 팀원의 적응 지원

굵게 표시한 장이 이 발표에서 다루는 장입니다.

출발점 왜 지금 이 책인가

AI가 코드를 쓰기 시작하자,
이 책의 목차가 미래가 되었다

LLM과 코딩 어시스턴트가 발전한 AI 전환기, 개발자의 역할은 이 책의 목차가 시사하는 방향으로 더욱 극적으로 바뀌고 있습니다.

역사

복잡성과의 투쟁

패러다임의 진화는 인간의 뇌가 감당해야 하는 복잡성과 인지 부하를 통제하려는 투쟁이었다

인텐트 기반 선언적 추상화 2020s ~
부작용 통제와 안전성 보장 2010s ~
상태와 데이터의 캡슐화 1990s ~ 2000s
제어 흐름의 통제 1970s ~ 1980s

역사 1970s ~ 1980s 구조적 프로그래밍

제어 흐름의 통제

위협GOTO 스파게티 코드컴퓨터의 실행 순서에 인간이 맞추던 시절
무기제어 구조와 함수if, while, for 그리고 함수 단위의 분해
성과첫 번째 복잡도 감소거대한 흐름을 논리적인 블록으로

역사 1990s ~ 2000s 객체지향

상태와 데이터의 캡슐화

위협순차 명령의 한계GW-BASIC식 나열로는 비즈니스 로직을 감당할 수 없었다
무기캡슐화와 다형성행위와 상태를 묶어 현실 세계를 모델링, C++과 Java
성과독립적인 부품 설계각 부품을 독립적으로 설계하고 교체

역사 2010s ~ 멀티/함수형

부작용 통제와 안전성 보장

위협동시성과 메모리멀티코어 시대의 공유 상태와 메모리 관리
무기상태 변경 최소화Modern C++의 람다, 뷰, 컨셉
성과컴파일 타임 안전성Rust의 소유권과 트레이트

역사 2020s ~ 로우코드와 AI

How에서 What으로

전환명령에서 선언으로어떻게 할지 지시하지 않고, 무엇을 원하는지 선언한다
무기로우코드와 AI 에이전트고속 장비 제어의 추상화, 컨텍스트를 주고 구현을 위임
성과아키텍처 조율자프로그래머는 추상화의 사다리를 오른다
개발 일정은 어떻게 바뀌나: 일정표에서 악보로

역사 정리

기계어에 가까운 구현에서
시스템 전체의 조율로

프로그래머의 역할은 추상화의 사다리를 타고 올라 왔습니다.

마인드맵으로 보기: 복잡성과의 투쟁

변화 1 파트 1 코드 더 잘 읽기

작성에서 읽기와 검증으로

과거CH3 프로그래밍 문법 빠르게 배우기문법을 빨리 익혀 처음부터 작성하는 능력
변화타이핑에서 검토로기본 타이핑과 보일러플레이트는 AI 에이전트가 상당 부분 대신한다

변화 1 생존 무기

AI가 쏟아낸 코드 속의 허점

CH2신속한 코드 분석방대한 생성 코드에서 논리적 허점을 찾아낸다
CH4복잡한 코드 읽는 방법처음 보는 코드를 읽어내는 것이 일상 업무의 중심이 된다

변화 1 심화 파트 2 코드에 대해 생각하기

그럴듯하게 틀린 코드

CH5코드를 더 깊이 있게 이해하기줄 단위를 넘어 의도와 설계 결정을 파악해야 책임질 수 있다
CH6코딩 문제 해결을 더 잘하려면문제를 머릿속에 모델링하는 힘이 결과를 판정하는 기준이 된다
CH7생각의 버그틀린 코드는 리뷰어의 오개념과 맞아떨어질 때 그대로 통과한다

변화 1 심화 역량

코드를 의심하기 전에,
내 생각을 먼저 의심하라

리뷰할 때 코드뿐 아니라, 내가 이 코드를 맞다고 믿는 근거를 함께 점검합니다.

이 변화가 일정에 미치는 영향: 일정표에서 악보로

변화 2 파트 3 좋은 코드 작성하기

인지 부하 관리

Modern C++, Rust, C#에 멀티 프로세스 고속 제어,
그 위에 AI가 쏟아내는 코드까지

  • 여러 언어
  • 멀티 프로세스
  • AI 생성 코드
  • 폭증하는 인지 부담

변화 2 무기

뇌가 감당할 수 있는 코드

CH9두 가지 프레임워크나쁜 코드와 인지 부하를 방지하는 두 가지 프레임워크
역량모듈화와 인터페이스인간의 뇌가 감당할 수 있도록 나누고 깔끔하게 잇는다
CH10복잡한 문제 해결인지 부하를 통제하는 사람만이 복잡한 문제를 더 잘 푼다

변화 2 연결

이 투쟁은
새로운 것이 아니다

구조적, 객체지향, 함수형, 인텐트 기반. 패러다임은 언제나 인지 부하를 통제하는 무기였습니다.

다시 보기: 복잡성과의 투쟁

변화 3 파트 4 코딩에서의 협업

대규모 설계와 문제 정의

변하지 않는 가치는 코딩이 아니라,
고객의 문제를 어떻게 정의하고 해결할 것인가

변화 3 인간의 몫

아키텍트의 시각

CH12대규모 시스템의 설계와 개선AI가 함수와 모듈을 도와도, 시스템의 설계와 개선은 인간의 몫
역량전체 아키텍처를 그리기도메인 지식으로 디지털 트윈, 로우코드 플랫폼, 기술 스택을 엮는다

변화 4 파트 4 코딩에서의 협업

새로운 팀원

CH13새로운 개발자 팀원의 적응 지원온보딩의 대상이 넓어진다
변화주니어 개발자 + AI 에이전트다양한 역할을 수행하는 에이전트가 팀원이 된다

변화 4 역량

오케스트레이션

역량컨텍스트 제공AI 팀원에게 프롬프트와 제약 사항을 준다
역량하네스 구축사람과 AI가 함께 일하는 개발 환경을 만드는 리더십

현장

일정표에서 악보로

WBS의 가장 큰 비중은 늘 구현과 그 M/M이었다.
이제 무게 중심이 작성에서 문제 정의와 검증으로 옮겨간다.

현장 비중 축소

상세 구현과 단순 타이핑

기존클래스와 함수 구현, 보일러플레이트, 단위 테스트전체 일정의 50% 이상
변화AI 초안으로 압축한 줄씩 타이핑하던 작업의 비중이 기하급수적으로 줄어든다

현장 비중 확대

새로운 무게 중심

확대고객 문제 정의AI는 How는 알지만 What과 Why는 모른다
신설컨텍스트 설계와 하네스도메인 지식, 제약 사항, 아키텍처 규칙을 세팅한다
확대아키텍처 통합AI는 숲을 보지 못한다
확대리뷰와 검증환각과 미세한 논리 허점, 가장 중요한 핵심 공수

현장 기존 WBS와 미래 WBS

일정표에서 악보로

기존선형 일정표

  1. 설계
  2. 100% 수동 구현전체 일정의 50% 이상
  3. 테스트

미래반복되는 악보

  1. 정확한 문제 정의
  2. 맥락 부여와 AI 생성
  3. 검증과 시스템 통합

처음으로 돌아가 빠르게 반복

마인드맵으로 보기: 일정표에서 악보로

결론

코더에서
설계자 겸 리뷰어로

복잡한 시스템의 방향을 잡고, AI를 오케스트레이션하며, 비즈니스와 도메인의 진짜 문제를 해결하는 사람.

결론 마지막 질문

우리가 진짜 풀어야 할
문제는 무엇인가

참고 문헌과 탐색 자료

  1. Felienne Hermans, The Programmer's Brain: What every programmer needs to know about cognition, Manning, 2021. 한국어판 《프로그래머의 뇌》, 제이펍, 2022.
  2. 마인드맵: 프로그래머로 살아남기, 복잡성과의 투쟁, 일정표에서 악보로
  3. 배경 삽화: Jacques Grasset de Saint-Sauveur, "Femme Sauvage du Canada", 《Costumes civils actuels de tous les peuples connus》, Paris: Pavard, 1787–1788. The New York Public Library Digital Collections. 퍼블릭 도메인.
  4. 슬라이드 엔진: reveal.js (MIT License, Hakim El Hattab)