주니어의 질문: 코딩 에이전트를 주니어 개발자가 이길 수 있을까요?

코딩 에이전트의 시대에 주니어 개발자가 집중해야 할 세 가지: 기초 쌓기, 설계 능력 키우기, 프롬프트 엔지니어링 배우기

"강의 막판에 여러 코딩 에이전트를 소개해주셨는데요. 간단한 프롬프트로 몇초만에 웹사이트가 나오는 것이 신기하면서도 두렵게 느껴졌습니다. 저같은 주니어 개발자가 코딩 에이전트보다 더 잘할 수 있을까요?"

신한은행 신입행원 대상으로 진행했던 <생성형 AI로 ‘우리’가 더 똑똑해지기> 강의의 사후 설문에서 받은 또 하나의 질문. 이번에는 좀 무거웠습니다만, 최근 다른 시니어 개발자와 대화했던 걸 떠올리며 답해봤습니다. (이전 답변: AI에 대체되지 않을 직군이 있을까요, 도메인 지식을 어떻게 효과적으로 학습할까요)


X님이 우려하시는 바에 공감합니다.

확실히 최근 AI 기반 코딩 에이전트가 빠르게 발전하면서 "프롬프트 딸깍 한 번이면 앱 하나가 뚝딱 나오는 시대"라는 말이 더이상 농담으로 느껴지지 않게 됐죠. 이런 변화를 목격하며 개발자로서 내가 살아남을 수 있을까, 내 기술이 과연 앞으로도 필요할까 고민하는 분들이 많아 보입니다. 특히 X님처럼 이제 막 커리어를 시작한 주니어 개발자들이 더욱 그렇더군요.

한쪽에서는 아이디어 실행 사이클이 극도로 빨라진 덕분에 개발의 진입 장벽이 크게 낮아졌다고 환호합니다. 다른 쪽에서는 "이제 개발자의 시대는 끝났다"는 비관적인 목소리도 들려옵니다. AI 때문에 주니어 개발자들의 기본기 발전이 너무 더뎌 코파일럿을 못 쓰게 해야 하나 하는 고민을 하는 분도 있었습니다. 이런 혼란기에 주니어 개발자가 어떻게 살아남아야 할까요.

아직 잘 정제된 생각은 아니지만, 저는 문득 이런 질문을 떠올렸습니다.

프롬프트는 새 자바스크립트가 될까?

이 질문을 이해하려면 프로그래밍의 변화를 돌아볼 필요가 있습니다. 예전에는 프로그램을 제대로 만들려면 어셈블리나 C와 같은 저수준 언어와 더불어 깊은 하드웨어 지식이 필수적이었죠. 하지만 다양한 기술이 발전하고, 파이썬과 자바스크립트 같은 고수준 언어도 발전하면서 복잡한 작업도 상대적으로 간단하게 처리할 수 있게 되었습니다.

물론 저수준 언어를 다루는 사람들은 여전히 많이 필요하지만 어플리케이션 프로그래머보다는 그 수가 훨씬 적습니다. 역할 또한 특정한 영역으로 한정되어 있고요. 여느 대학의 기초 프로그래밍 과목도 C나 자바 대신 파이썬으로 바뀐지도 이젠 꽤 시일이 지났습니다.

저는 우리가 이러한 시대 변화의 과도기에 있지 않나 싶습니다. AI가 좀 더 발전하면 자바스크립트 - 프롬프트 의 관계가 어셈블리 - 자바스크립트의 관계처럼 되지 않을까 하는 거죠. 자바스크립트는 단순한 웹 개발 언어에서 출발했지만, 이제 프론트엔드, 백엔드, 심지어 머신러닝 라이브러리까지 아우르는 범용성을 가진 언어로 자리잡았습니다. 프롬프트도 이처럼 다양한 상황에서 활용되는 주요 도구가 될 가능성이 높아 보여요.

로봇청소기를 생각해봅시다. 우리는 로봇청소기의 원리를 몰라도 버튼 하나만 누르면 집안을 청소할 수 있습니다. 이와 유사하게, 멀지 않은 미래에는 대다수의 어플리케이션 프로그래밍이 '원하는 결과를 AI 에이전트에게 프롬프트로 전달하는 일'로 단순화될 가능성이 적지 않다고 봅니다.

그럼 다시 처음으로 돌아가서... 이미 Cursor에 룰만 잘 세팅해두면 웬만한 1-2년차 개발자만큼 한다는 이 시대에, 주니어 개발자는 앞으로 어떻게 해야 할까요?

코딩 에이전트의 시대에 주니어 개발자가 집중해야 할 세 가지

로봇청소기는 만능이 아닙니다. 매트가 깔려있으면 잘 못한다거나, 너무 좁은 곳은 못 들어간다거나 하는 제약조건 때문에 인간이 개입해서 적절한 환경을 만들어주거나, 다른 청소 도구를 활용해야 하죠.

마찬가지로 AI도 만능이 아닙니다. 적어도 당분간은 그럴 겁니다. 이런 점을 고려하여, 저는 주니어 분들에게 다음 세 가지에 집중해보길 조언하고 싶습니다. 어쩌면 진부한 조언일 수 있습니다 😅

1. (AI와 함께) 기초를 튼튼히 쌓기

좋은 도구가 주어지면 전문가와 비전문가의 격차가 빠르게 줄아들지만, 여전히 전문가의 퍼포먼스가 더 낫다는 연구가 있습니다. 특히 요즘 같은 과도기에는 AI가 실수했을 때 이를 바로잡고, 올바른 방향으로 이끌 능력은 기초가 튼튼한 개발자만이 가질 수 있는 장점입니다. 거꾸로 말하면, 기초가 튼튼할수록 AI도 더 잘 활용할 수 있습니다.

그리고 AI는 기초를 쌓는 데에도 아주 훌륭한 선생입니다. 이런 면에서는 몇 년 전의 주니어보다 훨씬 유리한 상황이죠. AI가 생성한 코드의 결과만 보는 대신, 왜 이런 코드가 나왔는지 비판적으로 생각하고 AI와 토론하며 학습하면 빠르게 기초를 쌓을 수 있을 거라고 봅니다. 저희 강의에서 '함께 똑똑해지는' 방법을 말씀드렸던 것처럼요.

2. (AI와 함께) 큰 그림을 그리는 설계 능력 키우기

AI의 장점은 '주어진 문제를 그럴듯하게 해결'하는 것이지 '어떤 문제를 해결할지 결정'하는 게 아닙니다. 프로젝트의 방향성과 구조를 기획하고, 최적의 의사결정을 내리는 능력은 이전보다도 더 중요해질 거예요.

따라서 주니어라고 해서 주어진 스펙대로만 개발하는 게 아니라, 본인이 CEO나 CTO가 된 것처럼 제품의 큰 그림을 이해하고 의견을 제안하는 연습을 하면 좋겠습니다. 이것 또한 AI와 함께 하면 더욱 효과적이겠죠.

3. AI와 효과적으로 협력하는 프롬프트 엔지니어링 배우기

앞서 말했듯 결국 코딩 에이전트는 더욱 강력해질 것이고, 프롬프트 엔지니어링이 프로그래밍의 영역을 상당부분 차지하게 될 거라고 봅니다. 그렇다면 새로운 프로그래밍 언어를 배우듯 프롬프트 엔지니어링을 배워야겠죠.

다행히 좋은 프롬프트의 조건은 우리가 기존에 알던 효과적 커뮤니케이션 방법과 크게 다르진 않습니다. 명확하게 목적과 요구사항을 전달하고, 예시를 주는 것처럼 말이죠. 프롬프트 엔지니어링을 잘 배울수록 사람과도 더 잘 일할 수 있게 될 거예요. 그리고, 1번/2번과 마찬가지로 AI를 더 잘 사용하는 방법 또한 AI에게 배울 수 있습니다.

맺으며

프롬프트가 새 시대의 자바스크립트처럼 될지, 코딩 에이전트가 프로그래머의 역할을 완전히 대체할지는 아무도 알 수 없습니다. 하지만 분명한 점은 위기가 언제나 새로운 기회를 동반한다는 것입니다.

기초를 다지고, 큰 그림을 그리며, 프롬프트를 배우는 일은 지금 당장은 어려울지 몰라도 앞으로의 커리어에 큰 자산이 될 겁니다. 셋 다 하기 어렵다면 일단 하나에만 집중하는 것도 나쁘지 않을 거예요. 주니어 개발자로서 호기심을 가지고, 변화 속에서 X님만의 가치를 증명해 보시길 바랍니다. 코딩 에이전트를 두려워하기보다는 적극적으로 활용해보며 지피지기하는 것도 아주 좋은 방법이라고 생각합니다.