Agentic Engineer
우리의 전문성은 특정 기술에 고정되지 않고, 필요한 문제를 끝까지 풀어내는 데 있다.
1. Agentic Engineer란
Agentic Engineer는 문제를 맡겨주기만 기다리는 엔지니어가 아니라, 어떤 문제가 풀릴 가치가 있는지 스스로 판단하고 끝까지 전달하는 엔지니어입니다.
이들의 차별점은 특정 언어나 프레임워크를 잘 다루는 데만 있지 않습니다. 어떤 문제를 풀어야 하는지 정의하고, 필요한 기술을 선택하고, 결과가 실제로 작동하도록 만드는 데 있습니다.
오늘날 코드 작성 자체는 점점 더 자동화되고 있습니다. 하지만 목표를 정하고, 모호한 요구를 명확한 작업으로 바꾸고, 우선순위를 조정하고, 결과에 책임지는 일은 여전히 인간의 역할이 큽니다. Agentic Engineer는 바로 그 지점에서 가치를 만듭니다.
2. 범용성은 얕음이 아니다
엘리트 운동선수는 각자 전문 종목에서 최고 성능을 냅니다. 하지만 현실의 문제는 종목처럼 깔끔하게 분리되어 있지 않습니다. 제품을 만들다 보면 요구사항 정의, UI, API, 데이터 모델, 배포, 관측성, 비용, 운영 이슈가 한 번에 얽혀 들어옵니다.
이때 필요한 것은 모든 분야의 세계 최고가 되는 것이 아닙니다. 문제의 전체 흐름이 끊기지 않을 만큼 넓고, 병목이 생긴 지점에서는 충분히 깊게 들어갈 수 있는 역량입니다.
우리가 말하는 Agentic Engineer는 단순히 이것저것 많이 아는 제너럴리스트가 아닙니다. 문제를 끝까지 책임지기 위해 필요한 폭을 갖추고, 필요할 때는 깊이를 만들어내는 사람입니다. 넓음은 출발점이고, 깊이는 책임을 다하기 위한 도구입니다.
3. 왜 Agentic해야 하는가
좋은 회사, 높은 연봉, 유명한 팀은 분명 훌륭한 기회입니다. 다만 그 환경이 항상 개인의 실력을 증명해 주는 것은 아닙니다. 때로는 회사의 브랜드와 시스템이 개인의 판단력, 실행력, 책임감을 대신 가려 주기도 합니다.
반대로 어디서 일하든 신뢰받는 엔지니어는 다릅니다. 이들은 주어진 티켓만 처리하지 않습니다. 문제를 정의하고, 우선순위를 세우고, 작은 결과물로 빠르게 검증하고, 실제 가치를 전달합니다. 그래서 회사 이름이 아니라 자신의 역량으로 선택권을 얻습니다.
좋은 엔지니어링 역량은 자유를 만듭니다. 어떤 문제를 풀지, 누구와 일할지, 어떤 환경을 선택할지에 대한 선택권입니다.
AI 시대에 더 중요해지는 이유
AI는 코드 작성, 초안 생성, 반복 작업 자동화에서 빠르게 강해지고 있습니다. 그 결과 ‘코드를 빨리 쓰는 능력’만으로는 차별화가 점점 어려워지고 있습니다.
그래서 더 중요해지는 것은 문제 정의, 기준 설정, 우선순위 판단, 결과 검증, 책임 있는 전달입니다. AI를 잘 쓰는 것만으로는 충분하지 않습니다. AI가 낸 결과를 어떤 문제에 연결하고, 어디까지 책임질 것인지 결정할 수 있어야 합니다.
4. 이 가이드의 대상
이 가이드는 모든 엔지니어에게 같은 방식으로 권하지 않습니다. 특히 이런 성향을 가진 사람에게 더 잘 맞습니다:
- 자율성을 중시하는 사람: 누군가가 시키는 일보다 스스로 정의한 문제를 푸는 것을 선호하는 사람
- 불확실성을 감내하는 사람: 정해진 길보다 탐험을 선호하고, 실패 가능성을 수용할 수 있는 사람
- 불편함을 감수하는 사람: 성장을 위해 익숙하지 않은 영역에 뛰어들 준비가 된 사람
반대로, 안정적인 역할 분화 안에서 한 분야의 깊이를 극대화하는 커리어가 더 잘 맞는 사람도 있습니다. 그것 역시 훌륭한 선택입니다.
다만 이 글은 어떤 문제와 도전이 오더라도 기본적으로 대응할 수 있는 ‘준비된 엔지니어링 역량’을 기르고 싶은 사람을 위한 훈련 철학입니다.
5. Agentic Engineer의 3대 원칙
1) Adaptive Variance - 다양한 변수에 적응하기
한 가지 기술, 한 가지 구조, 한 가지 문제 유형만 반복하면 숙련은 쌓이지만 적응력은 줄어듭니다. 익숙한 도구 안에서는 빨라지지만, 낯선 조건 앞에서는 쉽게 경직됩니다.
Agentic Engineer는 의도적으로 다양한 변수에 자신을 노출합니다. 프론트엔드와 백엔드, 설계와 디버깅, 신규 개발과 운영 이슈, 성능과 사용성처럼 서로 다른 종류의 문제를 번갈아 다룹니다.
중요한 것은 랜덤하게 이것저것 해보는 것이 아닙니다. 서로 다른 실패 모드를 경험하며, 어떤 환경에서도 핵심을 빠르게 파악하는 감각을 기르는 것입니다.
2) Intentional Constraint - 의도적으로 제약 걸기
성장은 대개 익숙함의 바깥에서 일어납니다. 늘 하던 도구, 늘 하던 방식, 늘 하던 범위 안에서만 일하면 생산성은 유지될지 몰라도 학습 밀도는 낮아집니다.
그래서 Agentic Engineer는 스스로 제약을 겁니다. 제약은 창의성을 막는 장치가 아니라, 실력을 드러내고 약점을 발견하게 만드는 장치입니다.
예를 들면 이런 식입니다:
- 시간 제약: “2시간 안에 동작하는 프로토타입을 만든다”
- 도구 제약: “익숙한 스택 대신 처음 써보는 언어나 프레임워크로 구현한다”
- 범위 제약: “전체 제품이 아니라 핵심 사용자 흐름 하나만 만든다”
- 전달 제약: “로컬 데모로 끝내지 않고, 다른 사람이 직접 써볼 수 있는 형태로 배포한다”
여기서 범위 제약은 특히 중요합니다. 범위 제약은 더 많이 만드는 것이 아니라, 무엇을 하지 않을지를 먼저 정하는 것입니다. 작은 범위를 끝까지 책임지는 경험이, 큰 범위를 어설프게 벌려 놓는 것보다 훨씬 높은 학습 밀도를 만듭니다.
예를 들어 “인증 시스템 만들기” 대신 “이메일 로그인만 구현하고, 소셜 로그인·비밀번호 재설정·관리자 페이지는 제외한다”라고 정하면 범위가 선명해집니다. 그런 다음 그 작은 범위를 실제로 동작하고 검증 가능한 상태까지 밀어붙이는 것이 훈련입니다.
핵심은 이것입니다. 범위는 좁게, 책임은 끝까지.
3) Delivered Value - 전달된 가치로 끝내기
알고리즘 문제를 100개 푸는 것과 누군가가 실제로 써보는 결과물을 만드는 것은 다릅니다. 전자는 실력의 일부를 훈련할 수 있지만, 후자는 문제 정의, 우선순위, 마감, 품질 기준, 피드백 수용까지 함께 요구합니다.
그래서 Agentic Engineer의 훈련은 반드시 전달로 끝나야 합니다. 누군가가 실행해 볼 수 있고, 피드백을 줄 수 있고, 실제 문제 해결 여부를 확인할 수 있어야 합니다.
완벽해질 때까지 숨겨두는 태도는 대개 학습을 늦춥니다. 불완전하더라도 먼저 전달하고, 피드백을 받고, 다시 개선하는 사이클이 실력을 더 빠르게 키웁니다.
GitHub에 올려도 좋고, 블로그에 정리해도 좋고, 팀원에게 데모를 보여줘도 좋습니다. 중요한 것은 공개 그 자체가 아니라, 가치가 검증 가능한 형태로 바깥에 놓이는 것입니다.