소프트웨어 엔지니어링이 돌아왔다
Source: Hacker News
번역을 진행하려면 번역하고자 하는 전체 텍스트를 제공해 주시겠어요? 텍스트를 알려주시면 요청하신 대로 한국어로 번역해 드리겠습니다.
Introduction
나는 글을 자주 올리지는 않는다. 하지만 올릴 때는 내가 눈치챈 것을 크게 외치는 사람이 거의 없다고 생각하기 때문이다.
나는 제품을 처음부터 끝까지 직접 만들고 있다. “Next.js 템플릿을 만들었다”는 식의 얕은 의미가 아니라, 네트워크 구성부터 제품 설계, 가격 결정까지 전 과정을 말한다. 정말 엔드‑투‑엔드다. 그리고 나는 이 프로젝트와 풀타임 업무 모두에서 매일 몇 시간씩 프론티어 모델과 코딩 에이전트를 활용하고 있다. 나는 혼란과 과대광고를 피하려고 애쓰며, 실제로 가치 있는 것이 무엇인지 가려내고 있다.
2025년 12월 이후로 상황은 크게, 그리고 긍정적으로 변했다. 많은 사람들이 이를 눈치챘지만, 올바른 결론을 내리는 사람은 드물다.
Antirez는 이를 **“automated programming”**이라고 부르는 것을 좋아하고, 나도 그 표현이 마음에 든다. 이는 **“vibe coding”**이라는 얕고 거의 무시하는 라벨보다 본질을 훨씬 잘 포착한다. 자동화는 인류 역사의 대부분 혁명—인쇄기, 직조기, 조립 라인—의 핵심이었다. 이번 경우도 크게 다르지 않다.
내 작업 대부분은 여전히 존재한다. 나는 여전히 내가 만들고자 하는 것의 중요한 측면—아키텍처, 트레이드‑오프, 제품 결정, 새벽 3시에 문제를 일으킬 수 있는 엣지 케이스—에 대해 깊이 고민해야 한다. 사라진 것은 모든 코드를 일일이 타이핑하는 힘들고 지치는 수작업이다.
현재 모델과 도구를 깔끔하고 철저히 설정된 환경에 두면, 실제로 차이를 만들 수 있다. 나는 모든 벽돌을 깔고 모르타르를 바르는 일 없이도 설계자가 될 수 있다. 나는 모든 천 조각을 자르고 꿰맬 필요 없이 옷을 디자인할 수 있다. 하지만 나는 20년 동안 벽돌을 깔고, 모르타르를 바르고, 재단하고 재봉한 경험을 바탕으로 이 모든 일을 할 수 있다. 뭔가 마음에 들지 않으면, 들어가서 이해하고 원하는 대로 고칠 수 있다. 한 번만 지시하면 다음 번에 내 설정이 원하는 대로 동작하도록 할 수 있다.
Automated programming은 특히 내가 필요로 하는 도구를 순식간에 만들 수 있게 해준다. 이 정도면 지구상에 존재한 모든 대장장이가 부러워할 수준이다. 이제 그들은 진정으로 마음속에 품고 있던 것에 집중할 수 있다. 대장간의 땀 대신, 그들이 구상한 예술에 더 많은 시간을 할애할 수 있다.
이 생각이 내 머릿속에 굳어지기 시작한 지 몇 달이 되었다. 너무 명확해서 왜 모두가 세상에 외치지 않는지 이해할 수가 없다.
우리는 이제 모든 중간 작업을 없앨 수 있다. 수년간 눈감고 받아들였던 그 적응층의 쓰레기를 말이다. 웹, 모바일, 데스크톱 개발에서 소프트웨어 엔지니어링을 완전히 오염시킨 방대한 프레임워크와 라이브러리, 툴링이다. 의미 있는 것을 추상화하지도 못하고, 처음부터 없어야 할 문제를 해결한다는 명목으로 새로운 문제를 열 개씩 만들어내는 추상화의 층층이 쌓여 있다.
무슨 일이 있었는지 생각해 보라. 우리는 산업으로서 소프트웨어를 만드는 진정한 복잡성을 바라보는 대신, 사고를 날카롭게 다듬기보다 남의 생각을 그대로 사서 쓰는 길을 택했다. 부러진 다리를 비단으로 감싸듯 모든 것을 프레임워크에 감쌌다. 보기엔 멋지지만, 다리는 여전히 부러져 있다.
내 생각에, 자칭 목표 외에도 프레임워크는 세 가지 문제를 해결한다. 두 가지는 명시적이고, 하나는 명백하지만 결코 선언되지 않는다.
“Simplification”
소프트웨어 엔지니어들은 스스로 설계하는 것을 두려워한다. 그들은 목표에서 역으로 시작해 아이디어에 딱 맞는 정장을 만들기보다, 제품에 억지로 끼워 맞추어야 함에도 불구하고 남의 구조를 받아들이는 것을 선호한다. 마치 건축가가 다른 건축가의 청사진을 무조건 적용하고, 상황, 필요, 지형, 새로운 기술적 가능성을 무시하는 것과 같다. 우리는 복잡성을 없애기 위해 제품에 대한 우리의 정신 모델을 날카롭게 다듬는 대신, 원 사이즈 핏(one‑size‑fits‑all) 솔루션을 구매했다.
Source: …
all design and applying it everywhere. That is not simplification. That is intellectual surrender.
“Automation”
이것은 내가 실제로, 어느 정도 이해하고 받아들일 수 있는 유일한 점이다. 보일러플레이트는 지루한 작업이다. 나는 그것을 싫어한다. 그리고 나는 특히 중복되지만 필요한 코드를 없애기 위해 공부하고, 최신 상태를 유지하고, 취약점을 인지해야 하는 라이브러리를 사용하는 것을 싫어한다. ORM, CRUD 관리, 코드 생성, API 문서화 등을 생각해 보라. 아무도 하고 싶어 하지 않지만 모두가 필요로 하는 힘든 일이다. 충분히 이해한다. 하지만 여기서 모든 것이 바뀌는 바로 그 지점이다.
“Labour cost”
이것은 조용한 부분이다. 회의 슬라이드에 절대 올리지 않는 부분. 기업 입장에서는 Google, Meta, Vercel이 제품을 어떻게 만들고 코드를 배포할지 결정해 주는 것이 훨씬 낫다. 그들의 프레임워크를 채택하라. 락‑인 비용을 지불하라. 클라우드‑관리형 솔루션에 매료되어 호스팅, 배포, 스토리지를 맡기라. 그리고 엔지니어링과는 무관한 기능을 얻게 된다: 더 이상 소프트웨어 엔지니어를 고용할 필요가 없다. React 개발자를 고용한다. 교육이 필요 없다. 플러그 앤 플레이. 교체가 쉽다. 다른 사람이 설계한 시스템을 유지하고, 다른 사람이 설계한 아키텍처를 관리하며, 다른 사람이 정의한 문제를 해결하는 기계의 한 부품이다. 이것은 엔지니어링이 아니다. 이것은 운영이다.
내 의견으로는 진정한 소프트웨어 엔지니어링이 다시 돌아왔다는 것이다.
나는 단지 내 의견만을 말하는 것이 아니다. 나는 지금까지 거의 완벽하게 2년 넘게 이런 식으로 개발해 왔다. 하지만 진정한 혁명은 작년, 그리고 2025년 12월 이후로는 이를 주목하는 사람이라면 누구나 명확히 알 수 있다. 앞으로는 더욱 그렇다.
우리는 다시 한 번 쓸데없는 복잡성을 없애고 우리의 아이디어, 기능, 제품이라는 진정하고 환영받는 복잡성에 집중할 기회를 얻었다. 중요한 복잡성, 실제로 우리에게 속한 복잡성이다.
자동화와 보일러플레이트는 이제 극히 저렴하게 극복할 수 있다. 나는 같은 코드를 두 번 이상 쓰지 않는다. 나는 즉시 필요한 작은 도구를 목적에 맞게, 문제에 딱 맞게 만든다. 화려한 모노레포 관리자는 필요 없다. 간단한 Makefile 하나면 내 필요의 99 %에 해당하는 100 %를 충족한다. 상황이 매우 복잡해질 때—그리고 정말 복잡해질 때—그때 생각한다, 그때만. 그 전에는 전혀 생각하지 않는다. 이것이 엔지니어링이다: 회의 무대에서 누군가가 언젠가 겪게 될 문제를 말해주는 것이 아니라, 현재 내가 가진 문제를 해결하는 것이다.
에이전트는 기본 도구에 대해 매우 잘 준비되어 있다. 몇 달이 아니라 수십 년 동안 존재해 온 도구들이다. Bash는 1989년에 탄생했으며, 나보다 두 달 먼저였다. 현재 가장 평범한 모델조차도 사람보다 Bash를 더 잘 안다. Bash는 범용 어댑터다. 코딩 에이전트가 복잡하고 비싼 MCP 구성에서 Bash를 이용한 간단한 에이전트 루프로 전환하는 것은 우연이 아니다. 가장 오래된 도구가 가장 미래지향적이라는 증거다. 귀 기울인다면 교훈이 있다.
Really think about it.
왜 대부분의 사용 사례에서 10 % 정도만 활용하게 될 쓸데없고 비싸며 결함이 많고 종종 취약한 프레임워크와 그에 수반되는 라이브러리 무리를 사용해야 할까? 그와 관련된 모든 비용을 생각해 보라. 가장 “저렴한” 비용부터: Next.js 버전에서 다시 한 번 치명적인 취약점이 발견돼 모든 것을 최신 상태로 유지해야 하는 운영 비용. 가장 비싼 비용까지: 설계 선택에 대한 비용—보이지 않는 비용, 매일 무의식적으로 지불하는 비용, 너무 오래 지불해 자유가 어떤 느낌인지 잊어버린 비용.
이러한 트레이드‑오프를 계속 받아들인다면, 우리는 수십 년 만에 소프트웨어 엔지니어링에서 본 가장 큰 기회를 놓칠 뿐만 아니라, 스스로를 인식하지 못하게 된다.
(계속)
aziness in once again buying whatever the hyperscalers have decided for you. You’re letting Google, Meta, and Vercel be your architect, your designer, your thinker. And in exchange, you get to be their operator.
The tools are here. The models are here. The revolution already happened and most people are still decorating the old house.
Stop wrapping broken legs in silk. Start building things that are yours.
No posts
게으르게도 다시 한 번 하이퍼스케일러들이 당신을 위해 결정한 것을 사는 것이다. Google, Meta, 그리고 Vercel을 당신의 건축가이자 디자이너이며 사상가로 두고 있다. 그 대가로 당신은 그들의 운영자가 된다.
도구는 여기 있다. 모델은 여기 있다. 혁명은 이미 일어났지만 대부분의 사람들은 아직도 옛 집을 꾸미고 있다.
부러진 다리를 비단으로 감싸는 것을 멈추고, 당신만의 것을 만들기 시작하라.
No posts