본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 15. 06:01

기계가 코드를 작성할 때 남는 것은 무엇인가

요약

LLM의 발전으로 도메인 지식, 디버깅, 아키텍처 설계 능력이 위협받는 상황에서 엔지니어의 새로운 가치를 탐색합니다. 기계가 대체할 수 없는 인간 엔지니어만의 핵심 역량으로 제품의 방향성을 결정하는 비전과 외부 세계와의 상호작용을 통한 아이디어 창출을 제시합니다.

핵심 포인트

  • LLM은 도메인 지식, 디버깅, 아키텍처 설계 능력을 빠르게 흡수 중
  • 기계는 코드 구조의 우아함에는 관심이 없으나 제품의 방향성은 판단 불가
  • 엔지니어의 새로운 가치는 제품의 비전과 사용자 경험을 결정하는 '외부적 취향'에 있음
  • 진정한 혁신적 아이디어는 모델 내부가 아닌 현실 세계와의 마찰에서 발생함

"LLMs are eroding my software engineering career, and I don't know what to do"에 대한 답글
아직 읽지 않으셨다면, 제 글을 읽기 전에 이 기사를 먼저 읽어보시길 권합니다.

저는 이번 주에 핀테크(fintech) 분야에서 10년 동안 근무하며 언어 모델(language models)에 의해 자신의 커리어가 공동화되는 것을 지켜보고 있는 한 엔지니어의 글을 읽었습니다. 그 글은 솔직하고 다소 가슴 아프며, 그가 묘사하는 내용이 틀렸다고 생각하지 않습니다. 하지만 엔지니어를 가치 있게 만드는 요소들에 대한 그의 목록에는 몇 가지 빠진 것이 있다고 생각하며, 그것들은 공통적으로 상자 속의 모델(model in a box)이 도달하기 가장 어려운 것들입니다.

그의 논거는 과거에 소프트웨어 엔지니어를 대체하기 어렵게 만들었던 세 가지 기둥에 기반하고 있으며, 그는 이 기둥들이 각각 모델에 의해 흡수되는 과정을 지켜보고 있습니다.
첫 번째는 **도메인 지식 (domain knowledge)**입니다. 결제 시스템, 원장 회계(ledger accounting), PCI 준수(PCI compliance)를 배우는 데 보낸 10년의 시간이 이제는 프롬프트(prompt)로 입력 가능한 것이 되었습니다. 모델이 학습 데이터로부터 이 모든 것을 그가 적용하는 것보다 더 빠르게 합성할 수 있기 때문입니다.
두 번째는 **디버깅 (debugging)**입니다. 그는 복잡한 분산 시스템(distributed system)을 풀어내는 일은 인간의 영역으로 남을 것이라고 가정했지만, 최신 모델들이 과거에 그에게 며칠이 걸리게 했던 운영 환경의 버그(production bugs)를 단 한 번에 해결(one-shotting)하기 시작했습니다.
세 번째는 **아키텍처적 취향 (architectural taste)**입니다. 코드베이스를 잘 조직하는 기술인데, 코드의 주요 독자이자 유지보수자가 구조가 우아한지 여부에 상관하지 않는 기계가 되면서 이 작업은 무의미하게 느껴지기 시작합니다. 글의 마지막에서 그는 목공이 더 안전한 직업이 아닐까 자문합니다.

저 또한 비슷한 감정을 느낀 적이 있습니다. 하지만 그 목록에는 없는 세 가지가 있습니다.

첫 번째는 취향(taste)이지만, 그가 말하는 의미의 취향은 아닙니다.

기사에서 말하는 취향은 건축적인 취향입니다. 즉, 코드베이스를 어떻게 구성할 것인가에 대한 문제입니다. A등급 구조와 C등급 구조 같은 것입니다. 물론 이런 종류의 취향이 기계가 코드를 주된 독자이자 유지보수자가 될 때는 중요도가 떨어지는 것은 맞습니다. 하지만 이것은 단지 한 가지 종류의 취향일 뿐이며, 가장 내재적인(internal) 취향입니다.

외부를 향하는 또 다른 취향이 있습니다. 그것은 제품이 어떤 느낌이어야 하는지, 그리고 어디로 나아가야 하는지에 대한 감각입니다. 제가 화면을 볼 때, 저는 그 뒤에 있는 코드를 평가하고 있는 것이 아닙니다. 그것이 실제로 사용할 사람에게 적절한지, 우리가 선택한 방향과 잘 맞는지 느끼고 있습니다.

모델은 결제 페이지의 10가지 버전을 생성할 수 있습니다. 하지만 어떤 버전이 귀하의 제품에 속하는지 말해줄 수는 없습니다. 왜냐하면 그 모델은 제품 자체가 없고, 방향성이 없으며, 이 사물이 어디로 향하고 있는지에 대한 이해관계(stake)가 없기 때문입니다. 이러한 판단은 버튼을 그릴 수 있는 능력에 관한 것이 아닙니다. 그것은 비전을 가지고 모든 것을 그 비전과 비교 측정하는 것에 관한 것입니다.

두 번째는 새로운 아이디어가 실제로 나오는 곳입니다.

코드베이스 내부나 모델 내부에서 나오는 것이 아닙니다. 현실 세계와의 마찰(friction)에서 나옵니다. 바쁜 오후에 자신만의 결제 시스템과 씨름하는 상인. 컨퍼런스에서의 대화. 경쟁사의 결제 흐름을 보고 느끼는 자신의 짜증. 실제 고객이 겪지만 방에 있는 누구도 상상하지 못했던 제약 조건 같은 것입니다.

지난주 저는 크라쿠프에서 열린 WordCamp Europe에 갔습니다. 무언가를 팔기 위해서가 아니라, 그 커뮤니티가 어떻게 생각하는지 느끼기 위해 그 공간에 있기 위해서였습니다. 그리고 저는 한 달 동안 독서로 얻을 수 있는 것보다 더 많은 제품 아이디어를 가지고 돌아왔습니다. 지금까지 쓰인 모든 것을 학습한 모델은 이미 존재하는 것을 재조합(recombining)하는 데는 비범합니다. 하지만 그것은 세상 속에 존재하지 않습니다. 가게를 운영하거나, 부스에 서 있거나,

이제는 누구나 모델에게 프롬프트(prompt)를 입력할 수 있습니다. 그것은 방금 막 저렴해진 부분이며, 이것이 바로 그 기사가 바닥이 꺼져 내리는 듯한 느낌을 주는 이유입니다. 만약 코드를 생성하는 것이 무료라면, 코더(coder)의 가치는 무엇인가 하는 점입니다. 하지만 결과물을 생성하는 것과 결과물을 전달할 것이라고 신뢰받는 것은 같은 것이 아닙니다. 희소한 기술은 더 이상 코드를 타이핑하는 것이 아닙니다. 그것은 모델에게 프롬프트를 입력하고, 모델이 돌려준 것을 미묘하게 잘못된 부분을 잡아낼 수 있을 만큼 날카로운 눈으로 읽어낸 뒤, 그 결과물에 자신의 이름을 거는 것입니다.

모델은 평판(reputation)을 쌓지 않습니다. 새벽 2시에 결제 흐름에서 트랜잭션(transaction)이 누락되었을 때 모델에게 책임을 물을 수는 없습니다. 사람은 가능합니다.

이 부분이 저를 걱정하게 만드는 지점이기도 하며, 앞서 언급한 모든 내용에 대한 가장 강력한 반론이기도 합니다. 제가 방금 설명한 세 가지 영역 모두 경험과 그 경험을 쌓는 전통적인 방식을 보상합니다. 신입 단계의 고된 업무(grind)는 바로 자동화되고 있는 부분입니다. 10년 차 경력자가 갖게 될 낙관론은 부분적으로 첫 1년을 버티려 노력하는 사람의 희생을 담보로 합니다. 이 논쟁의 솔직한 버전은 이를 분명히 말해야 합니다.

하지만 저는 이 영역들이 실제로 주니어들에게 닫혀 있다고 생각하지 않습니다. 이제는 도달하는 방식이 달라졌을 뿐입니다. 안목(Taste)은 순수하게 연차에 따른 함수가 아닙니다. 그것은 관심을 기울이고 수많은 작업물을 면밀히 살펴보는 데서 오며, 주의를 기울이기를 멈춘 시니어들보다 더 날카로운 제품 감각(product sense)을 가진 주니어들도 많습니다.
실제 세상과의 밀착성(Real-world embeddedness)은 전혀 연차의 문제가 아닙니다. 주니어 또한 세상 속에 살고 있으며, 종종 시니어가 나이가 들며 멀어진 맥락에 더 가까이 맞닿아 있고, 그들이 느끼는 마찰(friction)은 실질적인 신호(signal)가 되기 때문입니다.
평판(Reputation)은 정의상 실적(track record)을 의미하기 때문에 가장 어려운 문제입니다. 하지만 주니어를 위협하는 바로 그 도구들은 또한 주니어들이 우리 세대가 할 수 있었던 것보다 몇 년은 더 일찍, 혼자서 그리고 공개적으로 온전하고 실제적인 것들을 구축하고 출시(ship)할 수 있게 해줍니다. 10년 동안 티켓(ticket)을 처리하며 평판을 쌓기를 기다리는 대신, 결과물을 출시하고 모델이 생성하는 결과물을 신중하고 눈에 띄는 검토자(reviewer)가 됨으로써 당신의 작업이 견고하다는 증거를 지금 바로 구축할 수 있습니다.

제가 외면하지 않을 부분은 구조적인 문제입니다. 기업들은 과거에 단순 노동(grunt work)을 처리해야 할 필요성의 부수적인 효과로 주니어들을 교육하곤 했습니다. 만약 그 업무가 사라진다면, 많은 기업이 조용히 주니어를 건너뛸 것이며, 이는 10년 후 자신들의 시니어 파이프라인(pipeline)을 고사시키는 결과를 초래할 것입니다. 이것은 개인에게 주는 어떤 조언보다 더 큰 집단적인 문제입니다. 그리고 이에 대해 밤잠을 설쳐야 할 사람들은 바로 주니어를 건너뛰고 있는 당사자들입니다.

결론

저자는 목공이 더 안전할지 의문을 던지며 글을 마칩니다. 저도 그 기분을 이해합니다. 하지만 저는 키보드를 내려놓지는 않을 것입니다. 대신, 곧 더 뛰어난 존재에게 자리를 내어줄 코드 생성기 (code generator)로서 보내는 시간은 줄이고, 무엇을 만들 가치가 있는지 결정하는 사람, 세상으로부터 아이디어를 가져오는 사람, 그리고 그 작업물에 남겨진 이름이 여전히 무언가를 의미하는 사람으로서 보내는 시간을 더 늘릴 것입니다. 그 부분은 여전히 세상 속에 살고 있는 누군가로부터 나와야만 합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0