1.
저는 소프트웨어 엔지니어입니다.
지난 몇 년 동안, 코딩이라는 일이 AI에 의해 어떻게 바뀌어 왔는지를 가장 가까운 자리에서 지켜봐 왔습니다. 처음에는 자동완성 기능에 불과했습니다. 그다음에는 짧은 코드 조각을 추천해 주더니, 이내 함수 하나를 통째로 써 주기 시작했습니다.
물론 처음부터 믿을 만했던 것은 아니었습니다. 그럴듯해 보이는 코드를 만들었지만 실제로 돌려보면 틀리는 경우가 잦았습니다. 존재하지 않는 API를 지어내거나, 맥락을 놓치거나, 자신 있게 엉뚱한 답을 내놓는 일도 흔했습니다.
그래서 처음에는 이 변화가 위협적이라기보다, 그저 편리한 보조 도구 정도로만 느껴졌습니다. 편리하긴 하지만 결국 사람이 꼼꼼히 검토하고 고쳐야 하는 도구. 가끔은 도움을 받는 것보다 수정하는 비용이 더 큰 도구. 딱 그 정도였습니다.

모델의 성장은 점진적이었습니다. 새로운 모델이 등장할 때마다 답변은 조금 더 정확해졌고, 문맥을 더 오래 유지했으며, 코드의 구조와 의도를 더 깊이 이해하기 시작했습니다. 그 과정 자체가 극적인 변화처럼 보이지는 않았습니다. 매번 “이번에는 조금 더 낫네”라고 느꼈을 뿐입니다.
하지만 인간의 신뢰는 그렇게 선형적으로 쌓이지 않았습니다. 오랫동안 의심은 기본값이었습니다. 결과물이 그럴듯해 보여도 다시 읽고, 직접 실행해 보고, 틀린 부분을 찾는 것이 당연한 절차였습니다. AI가 작성한 코드는 참고할 대상일 뿐, 그대로 믿고 쓸 수는 없는 것이었으니까요.
그러다 어느 순간부터 검증의 방식이 달라졌습니다. '처음부터 틀렸을 것'이라고 의심하기보다, '일단 맞을 가능성이 높다'고 전제하고 검토하게 되었습니다. AI에게 온전히 맡길 수 있는 작업의 범위가 조금씩 넓어졌고, 되묻는 횟수는 줄었으며, 결과물을 폐기하기보다 적당히 수정해서 쓰는 일이 잦아졌습니다.

모델의 성능은 천천히 좋아졌지만, 제가 그것을 온전히 신뢰하게 된 순간은 갑작스럽게 찾아왔습니다. 변화는 완만한 경사로를 오르듯 진행되었어도, 체감은 한순간에 문턱을 넘는 것에 가까웠습니다. 정신을 차리고 보니, 한때 믿을 수 없던 도구는 어느새 제가 가장 먼저 손을 뻗는 도구가 되어 있었습니다.
그래서 더 서늘하게 느껴졌습니다. 위험은 한 번에 폭발하지 않았습니다. 오히려 매번 아주 조금씩 나아졌기 때문에 저의 경계심도 함께 무뎌졌습니다. 그리고 어느 순간, 저는 이미 AI를 제 사고 과정의 일부로 깊숙이 들여놓고 있었습니다.
취업 시장의 풍경은 훨씬 더 가파르게 변했습니다. 불과 몇 년 전만 해도 코딩 테스트를 통과하고 면접을 무난히 치르면 어딘가에는 갈 수 있다는 감각이 있었습니다. 하지만 지금은 서류 전형을 통과하는 것조차 쉽지 않습니다. 지원자는 늘었고 자리는 줄었습니다. 공채가 사라지고 있다는 말은 더 이상 소문처럼 들리지 않습니다.
2.
지식노동자는 결국 자신의 ‘사고’를 팝니다.
정보를 모아 압축하고, 나름의 판단을 거쳐 구체적인 산출물로 빚어내는 능력을 시장에 파는 것입니다. 소프트웨어 엔지니어도 예외는 아닙니다. 요구사항을 해석하고, 구조를 설계하고, 코드를 짜며 오류를 바로잡는 일련의 과정들. 우리가 시장에 내놓았던 것은 단순한 타이핑 노동이 아니라, 코드를 짜기까지 고민하던 그 생각의 과정들이었습니다.
그런데 이제 그 사고 과정의 상당 부분이 AI로 외주화되고 있습니다. 초안을 작성하고, 테스트 코드를 짜고, 문서를 정리하며, 반복적인 구현을 처리하는 일들이 모두 그렇습니다. 예전에는 주니어가 이런 업무를 도맡으며 맥락을 파악하고 판단력을 키웠습니다. 회사 입장에서도 비교적 낮은 비용으로 실무를 처리하면서 동시에 미래의 인재를 육성하는 합리적인 구조였습니다.
그 구조가 지금, 가장 먼저 흔들리고 있습니다.

주니어가 맡던 업무는 비교적 작게 쪼개져 있어 결과를 검증하기 쉽습니다. 간단한 기능 구현, 테스트 코드 작성, 버그 수정, 기존 코드의 요약과 문서화 같은 일은 AI가 가장 빠르고 쉽게 침투할 수 있는 영역입니다.
그래서 주니어가 가장 먼저 타격을 받는 것은 우연이 아닙니다. 이는 단순히 취업의 문이 좁아졌다는 뜻이 아닙니다. 처음 일을 배우고, 실수를 통해 맥락을 익히며, 작은 판단을 반복하면서 성장해 나가던 길 자체가 끊어지고 있다는 의미입니다.
물론 시니어 엔지니어들은 아직 같은 체감의 타격을 받지 않고 있습니다. 시니어의 일은 더 복잡하고, 훨씬 방대한 맥락을 요구하며, 결과에 따르는 책임도 무겁기 때문입니다. 문제를 정의하고, 여러 선택지를 저울질하며, 리스크를 판단하고, 조직의 제약 속에서 방향을 결정하는 일은 단순한 코드 생성보다 아득히 어렵습니다. 그래서 당장은 시니어의 자리가 더 안전해 보입니다.
하지만 저는 그 안전함이 영구적일 것이라고 생각하지 않습니다.
시니어의 일을 조금 더 나누어 보면, 그 안에는 서로 다른 층위가 섞여 있습니다. 하나는 실제 인지 작업입니다. 문제를 구조화하고, 대안을 만들고, 장단점을 비교하고, 실패 가능성을 예측하고, 설계와 구현 방향을 검토하는 일입니다. 다른 하나는 책임과 조율의 영역입니다. 최종 판단의 주체가 되고, 조직 안의 이해관계를 조정하며, 실패했을 때 그 비용을 감당하는 일입니다.
AI가 당장 두 번째 영역까지 온전히 가져가기는 어렵습니다. 조직적인 신뢰, 윤리적 책임, 사람 사이의 갈등 조율은 쉽게 자동화되지 않을 것입니다. 하지만 그런 결론을 내리기 위해 거쳐야 하는 분석, 비교, 설계, 검토, 예측 같은 첫 번째 영역은 이미 빠르게 쪼개지고 있습니다. 그리고 쪼개진 일은 언제나 자동화되기 쉽습니다.
주니어의 일이 먼저 대체되는 이유는 그것이 본질적으로 더 하찮아서가 아닙니다. 더 잘게 나눌 수 있고, 더 명확하게 검증할 수 있기 때문입니다. 반대로 시니어의 업무는 아직 덜 쪼개졌고, 덜 검증 가능하며, 더 많은 책임이 얽혀 있기 때문에 상대적으로 안전해 보일 뿐입니다.
하지만 AI가 진화하는 방향은 정확히 그 인지 과정 전체를 향하고 있습니다.

모델은 단순히 더 많은 코드를 외우는 쪽으로만 발전하지 않습니다. 더 긴 맥락을 한 번에 처리하고, 복잡한 요구사항을 스스로 분해하며, 다양한 선택지를 비교 분석하고, 오류를 스스로 점검하는 등 추론의 과정을 점점 더 정교하게 흉내 내고 있습니다. 다시 말해, 인간이 지식노동을 할 때 거치는 절차적 사고를 점점 더 정교하게 모방하고 있습니다.
그렇다면 시니어의 일도 하루아침에 사라지지는 않겠지만, 내부 구성은 크게 바뀔 가능성이 높습니다. 사람은 여전히 책임의 최종 주체로 남을 수 있습니다. 하지만 그 사람이 직접 수행하던 분석과 비교, 설계와 검토, 예측의 상당 부분은 점차 AI에게 넘어갈 것입니다.
시니어의 자리는 남더라도, 그 자리를 채우는 업무의 밀도와 성격은 달라질 수 있습니다. 한 사람이 더 넓은 범위를 관리하게 되고, 더 적은 인원으로 더 많은 산출물을 요구받게 되며, 인간에게 남는 일은 점점 더 ‘최종 판단’과 ‘책임’에 가까워질 것입니다.
차이가 있다면 조금 더 복잡한 영역에서, 조금 더 느린 속도로 압력을 받는다는 것뿐입니다. 하지만 속도가 느리다고 해서 그것이 영원히 안전하다는 뜻은 결코 아닙니다.
3.
AI는 완벽하지 않습니다.
기이한 곳에서 실패하고, 맥락을 완전히 놓치기도 하며, 엉뚱한 결론에 대해 강한 확신을 보이기도 합니다. 하지만 그 사실이 큰 위안을 주지는 못합니다. 사실 인간도 마찬가지이기 때문입니다.
인간도 어처구니없는 실수를 합니다. 맥락을 놓치고, 잘못된 전제를 붙잡고, 엉뚱한 확신을 갖습니다. 실수하지 않는 인간은 없습니다. 중요한 것은 실수 자체가 아니라, 그 실수를 얼마나 빨리 발견하고, 얼마나 낮은 비용으로 수정하고, 다시 같은 일을 반복하지 않도록 구조를 바꾸는가에 가깝습니다.

그런 의미에서 AI의 불완전함은 더 이상 치명적인 약점이 아닐지도 모릅니다. 완벽하지 않아도 충분히 싸고, 충분히 빠르고, 지치지 않고 무수한 시도를 반복할 수 있다면 시장의 무게중심은 필연적으로 그쪽으로 기울게 됩니다. 인간보다 모든 면에서 완벽할 필요조차 없습니다. 주어진 비용 구조 안에서 충분히 쓸 만하고, 실패했을 때 다시 시도하는 비용이 낮다면 그것만으로도 선택될 수 있습니다.
심지어 AI의 능력은 지금 이 순간에도 멈춰 있지 않습니다. 과거 단순한 보조 도구처럼 보였던 모델들이 이제는 점점 더 긴 맥락을 다루고, 복잡한 문제를 나누고, 스스로 오류를 점검하는 방향으로 진화 중입니다. 인간의 모든 지적 능력을 완벽히 복제한 것은 아니지만, 인간이 지식노동을 할 때 사용하는 인지 절차의 상당 부분을 점점 더 잘 흉내 내고 있습니다.
결국 우리가 던져야 할 질문은 "AI가 완벽한가?"가 아닙니다. "AI가 인간보다 충분히 싸고 빠르게, 현업에서 쓸 만한 판단을 무한히 반복해서 제공할 수 있는가?"입니다.
4.
솔직히 고백하자면, 저는 지금도 어느 방향으로 나아가야 할지 확신하지 못합니다.
거대한 흐름에 올라타 AI 쪽으로 더 깊이 뛰어들어야 할지, 아니면 변하지 않는 물리적 기반인 반도체 쪽이 더 안전할지, 그도 아니라면 지금 하던 일을 묵묵히 더 깊게 파고들어야 할지 명확히 알 수 없습니다. 지금 당장 정답처럼 보이는 선택지도 불과 1년 뒤에는 낡고 철 지난 조언이 되어버릴 것만 같은 위기감이 듭니다.
주변을 둘러봐도 흔들림 없는 답을 가진 사람은 드뭅니다. 누군가는 AI 모델 자체로, 누군가는 칩 설계 분야로, 또 누군가는 기존의 전문성을 더욱 뾰족하게 벼리는 쪽으로 각자의 길을 걷습니다. 다들 묵묵히 자기 자리를 지키면서도, 동시에 불안한 눈으로 다음 방향을 고민하고 있습니다. 저 역시 그들과 크게 다르지 않습니다.
다만 한 가지는 뼈저리게 느낍니다. 훌륭한 조직에 속하는 것은 여전히 가치 있는 일이지만, 예전처럼 거대한 시스템 안에서 주어진 길만 걷다 보면 자연스레 좋은 엔지니어가 될 거라는 안도감은 이제 버려야 합니다. 커리어의 운전대를 회사라는 울타리나 시장의 관성에 온전히 내맡기기에는, 지금 맞닥뜨린 변화의 속도와 파장이 너무도 거셉니다.


그래서 저도 제 나아갈 방향을 처음부터 다시 묻고 있습니다. 제가 지금까지 쌓아온 무기가 무엇인지, 그것이 앞으로도 유효한 경쟁력을 가질지, 그리고 다가올 몇 년 동안 어떤 능력을 새로 쌓아야 할지 고민하고 있습니다.
아직 완벽한 해답을 찾은 것은 아닙니다. 하지만 적어도 지금은, 반도체와 소프트웨어가 만나는 지점으로 방향을 틀어보려 합니다.
그 선택이 반도체가 영원히 안전한 영역이라는 믿음에서 나온 것은 아닙니다. AI가 소프트웨어를 바꾸고 있듯, 하드웨어 설계와 반도체 산업 역시 그 영향에서 자유로울 수는 없을 것입니다. 이미 설계 자동화, 검증, 최적화의 영역에도 AI는 깊숙이 들어오고 있고, 앞으로 그 흐름은 더 강해질 가능성이 높습니다.
그럼에도 제가 그쪽을 바라보는 이유는, AI가 거대해질수록 결국 그 아래에 놓인 계산의 기반을 이해하는 능력이 더 중요해질 것 같다는 생각 때문입니다. 많은 사람들에게 AI의 발전은 모델이 더 똑똑해지고, 서비스가 더 편리해지는 변화로 보입니다. 더 자연스럽게 대화하고, 더 긴 글을 이해하고, 더 복잡한 코드를 작성하는 모습이 먼저 눈에 들어오기 때문입니다.
하지만 그 편리함의 아래에는 전혀 다른 층위의 문제가 놓여 있습니다. 거대한 모델을 학습시키고, 추론시키고, 더 빠르고 저렴하게 서비스하려면 결국 그 연산이 어떤 구조 위에서 수행되는지를 이해해야 합니다. 병목은 어디에서 생기는지, 무엇이 비용을 키우는지, 메모리와 데이터 이동은 어떻게 성능을 제한하는지, 어떤 하드웨어적 제약이 가능성의 경계를 결정하는지 알아야 합니다.
제가 알고 싶은 것도 바로 그 지점입니다. 모델이 어떻게 답을 내는지에 그치지 않고, 그 답을 가능하게 하는 연산 구조와 메모리 구조, 그리고 시스템 전체의 병목이 어디에서 생겨나는지를 더 아래쪽에서 이해하고 싶습니다.

하드웨어 쪽을 택했다고 해서 소프트웨어를 완전히 등지겠다는 뜻은 아닙니다. 오히려 소프트웨어를 다루며 단련한 생각의 틀을 더 깊은 곳으로 끌고 내려가 보려는 쪽에 가깝습니다. 복잡한 문제를 추상화하고 잘게 쪼개는 일, 빡빡한 시간과 메모리의 제약 속에서 최적의 해를 찾아내는 일, 집요하게 병목을 쫓고 시스템을 통제 가능한 상태로 다루는 능력. 겉으로 드러나는 대상은 달라지더라도, 그 밑에 흐르는 문제 해결의 방식은 크게 다르지 않다고 느꼈습니다.
멀리서 보면 반도체는 완전히 이질적인 분야 같지만, 그 밑바탕에 깔린 질문들은 놀랍도록 닮아 있습니다. 한정된 전력과 면적, 제한된 구조 안에서 어떻게 연산 효율을 극대화할 것인가. 무엇이 시스템의 병목을 일으키고, 어떤 구조적 선택이 성능과 비용을 가르는가. 이런 고민들은 제가 소프트웨어 진영에서 쉼 없이 마주했던 문제 해결의 과정과 결코 동떨어져 있지 않습니다.
오히려 AI 시대에는 이 경계가 점점 더 흐려질 것이라고 생각합니다. 모델, 컴파일러, 메모리 시스템, 데이터센터 인프라는 더 이상 따로 떨어진 층이 아닙니다. 하나의 성능과 비용을 만들기 위해 서로 맞물리는 거대한 시스템입니다. 그 사이를 이해하고 연결할 수 있는 사람의 가치는 상대적으로 오래 필요할 것이라고 믿고 싶습니다.
물론 이것이 정답이라고 말할 수는 없습니다. 반도체 역시 자동화될 것이고, 그 안에서도 많은 업무가 AI에 의해 재구성될 것입니다. 하지만 적어도 그곳에는 제가 지금까지 길러온 소프트웨어적 사고를 다른 깊이로 확장할 여지가 있다고 느낍니다. 추상화, 분해, 검증, 최적화, 병목 분석. 제가 팔아왔던 사고의 방식이 완전히 무효화되는 것이 아니라, 다른 층위에서 다시 쓰일 수 있는 가능성을 보고 있습니다.
사고의 시장 가격은 이미 빠르게 재평가되고 있습니다. 저 역시 그 변화를 담담하게 받아들이며, 제가 가진 사고의 방식을 어디에서 다시 유효한 무기로 만들 수 있을지 찬찬히 찾아보려 합니다.
'근황' 카테고리의 다른 글
| 2025년 회고 (3) | 2025.12.23 |
|---|---|
| 코드포스 IGM 달성과 일상 공유 (6) | 2025.08.31 |
| 2024년 회고 - Part 2 : ps에 대한 회고 (0) | 2025.03.03 |
| 2024년 회고 - Part 1 : APAC 후기 (0) | 2025.03.03 |
| 2023년 회고 (6) | 2024.04.24 |