
지도 끝에 그려진 괴물
옛날 지도를 보면 아직 탐험하지 못한 바다 끝자락에 바다뱀이나 괴물을 그려 넣곤 했어요. '여기서부터는 우리도 모르니 조심해라'라는 뜻이었죠. 'Here Be Monsters(여기 괴물이 있다)'라는 표현이 바로 여기서 나왔어요.
한 개발자가 이 표현을 빌려 블로그에 질문을 던졌어요. '에이전트가 일을 다 해주는 시대에, 우리는 여전히 무엇을 알아야 할까?' 요즘 주니어 개발자분들이 가장 많이 하는 고민이기도 하죠. 코드는 AI가 짜주는데 굳이 자료구조나 네트워크를 깊게 공부해야 하나 싶은 거예요. 오늘은 이 질문을 같이 풀어볼게요.
에이전트는 '최강의 추상화'예요
개발의 역사는 추상화의 역사예요. 어셈블리 대신 C를, C 대신 파이썬을, SQL 대신 ORM을 쓰게 됐죠. 코딩 에이전트는 그 끝판왕이에요. 자연어로 '로그인 기능 만들어줘'라고 하면 코드가 나오니까요.
그런데 2002년에 조엘 스폴스키가 정리한 유명한 법칙이 있어요. 새는 추상화의 법칙(Law of Leaky Abstractions)인데요, 이게 뭐냐면 아무리 잘 만든 추상화라도 결국 어딘가에서 아래층의 복잡함이 새어 나온다는 거예요. ORM이 대표적이에요. SQL을 몰라도 쓸 수는 있지만, 모르고 쓰면 목록 하나 띄우는 데 쿼리를 수백 번 날리는 N+1 문제에 빠지기 쉽거든요. 에이전트도 마찬가지예요. 평소엔 잘 돌아가다가 꼭 중요한 순간에 아래층의 괴물이 튀어나와요.
그래서, 무엇을 알아야 할까요?
핵심은 무게중심이 '코드를 쓰는 법'에서 이게 맞는지 아는 법과 어디서 터질지 아는 법으로 옮겨간다는 거예요. 구체적으로 정리해 볼게요.
1. 시스템 전체 그림 에이전트는 보통 지금 맡은 파일과 함수 단위로 일해요. 요청이 어디서 들어와 어떤 서비스를 거쳐 어떤 DB에 저장되는지, 전체 흐름을 머릿속에 들고 있는 건 여전히 사람이에요. 이 그림이 없으면 에이전트가 만든 '부분적으로 맞는 코드'들이 모여 전체적으로 틀린 시스템이 돼요.
2. 괴물이 사는 곳: 장애가 나는 영역 동시성과 경쟁 상태, 트랜잭션 격리 수준, 캐시 무효화, 네트워크 타임아웃과 재시도, 그리고 보안(인증·인가, SQL 인젝션, 비밀 키 관리)이 대표적이에요. 한국 개발자에게 익숙한 괴물도 있죠. EUC-KR과 UTF-8 인코딩 문제나, macOS에서 만든 한글 파일명이 다른 환경에서 자음·모음으로 분리돼 보이는 NFC/NFD 정규화 문제 같은 것들이요. 이런 건 평소엔 안 보이다가 운영 환경에서 터지거든요.
3. 검증하는 능력 코드 읽기, 테스트 작성, 디버거와 로그로 원인 추적하기가 여기에 속해요. 에이전트가 같은 실수를 반복하며 빙빙 돌 때 그 고리를 끊어주는 건 결국 사람의 디버깅 실력이에요.
4. 문제를 정의하는 능력 에이전트에게 일을 잘 시키려면 요구사항과 '완료의 기준'을 명확하게 써야 해요. 사실 좋은 시니어 개발자가 늘 해오던 일이에요.
자동화의 아이러니
1983년 심리학자 리산 베인브리지는 자동화의 아이러니(Ironies of Automation)라는 유명한 논문을 썼어요. 자동화가 쉬운 일을 가져가면 사람에게는 가장 어렵고 예외적인 일만 남는데, 평소에 손을 쓸 일이 없으니 정작 그 어려운 일을 해낼 실력은 점점 녹슨다는 내용이에요. 항공이나 공장 자동화에서 오래 논의돼 온 이 문제가 이제 소프트웨어 개발에 그대로 찾아온 셈이에요.
한국 개발자에게 주는 시사점
- 에이전트 결과물을 '설명할 수 있는지' 스스로 점검하세요. 설명하지 못하는 코드는 머지하지 않는다는 원칙만 지켜도 실력이 꾸준히 쌓여요.
- 가끔은 AI 없이 풀어보세요. 알고리즘 문제든 작은 사이드 프로젝트든, 근육을 유지하는 연습이 필요해요.
- 기초 공부의 목적을 바꿔보세요. 외우려고 공부하는 게 아니라, 괴물이 어디 사는지 지도를 그리려고 공부하는 거예요. 운영체제, 네트워크, 데이터베이스는 여전히 가장 좋은 지도예요.
- 채용과 면접도 바뀌고 있어요. 코드를 직접 짜는 능력보다, 코드를 읽고 리뷰하고 설계의 트레이드오프를 설명하는 능력이 점점 더 중요해질 거예요.
마무리
한 줄 정리: 에이전트 시대에 모든 걸 알 필요는 없지만, 내 지식의 경계가 어디인지, 그리고 그 너머 어디에 괴물이 사는지는 반드시 알아야 해요.
여러분이 생각하기에, 에이전트가 있어도 절대 놓으면 안 되는 지식은 무엇인가요? AI가 짠 코드에서 실제로 괴물을 만났던 경험이 있다면 함께 나눠주세요.
🔗 출처: Hacker News