AI 시대 주니어 개발자의 역할은 무엇이 돼야 할까요?

코딩 에이전트가 가져온 변화

코딩 에이전트가 짧은 요청만으로 코드를 완성해 주는 시대입니다. 표준적이고 간단한 애플리케이션들은 비개발자도 하루 만에 만들 수 있습니다. 예컨대 간단한 웹앱은 30분 정도 교육받은 비개발자가 두어 시간 만에 만들기도 했습니다.

주니어 개발자의 역할이 달라지고 있습니다. 과거에는 시니어 개발자가 구조를 잡으면 주니어 개발자들이 부분을 맡아 개발했습니다. 주니어 개발자들은 작은 일들을, 시니어 개발자들은 무거운 일들을 처리했습니다. 이제 작은 일들을 순식간에 해치우는 AI 에이전트들이 주니어 개발자들의 역할을 대체하고 있습니다.

이것은 실제 개발 현장에서도 벌어지는 일입니다. 예전 같으면 주니어 개발자에게 맡겼을 법한 일들을 AI에게 맡겨 순식간에 처리하고 있습니다. 최근에도 따옴표 처리 기능 개발을 AI 에이전트에게 맡겼는데, 식사를 마치고 돌아오자 보고서까지 완비해 작업을 완료한 상태였습니다.

반면 시니어 개발자들의 자리는 주니어보다 덜 위협받고 있습니다. AI가 인간의 판단과 책임을 대신해 주지 않기 때문입니다. 시니어는 AI와 일하면서, 여러 에이전트의 여러 작업을 오가면서 계속 판단합니다. “그건 네가 잘못 안 거야. 우린 여전히 TCP만 다뤄”, “그건 너무 복잡하게 구현했는데? 그냥 오른쪽 정렬만 하면 되지 않아?”, “이번 작업은 보고서까지는 필요 없어”, “그 기능은 디버깅 때문에 만들었던 거니 삭제하자”, “새로 발견한 이슈까지 처리해” 등. 요즘 시니어로서 제 일은 보고서를 읽고, 새로운 일을 지시하고, 다시 보고서를 읽는 작업의 연속입니다.

그렇다면 주니어의 자리는 어디에 있을까요? 이제 주니어는 일종의 팀장이 돼야 합니다. 여러 AI 에이전트에게 조사와 구현, 테스트를 지시하고 그 결과를 검수해 최종 책임자에게 전달하는 역할로 직무가 전환돼야 합니다. 무엇을, 왜, 어떻게 만들지 설계하고, 어떤 기준으로 AI의 작업물을 합격시킬지 정하고, 에이전트가 엉뚱한 방향으로 가면 언제 멈추고 다시 지시할지 판단하는 사람이 돼야 합니다.

강조는 ‘여러’ AI에 있지 않습니다. AI를 하나만 쓰든 서브 에이전트까지 여럿을 쓰든 달라지진 않습니다. AI 에이전트 하나와 작업하면 사람 하나와 AI 하나, 이렇게 둘의 작업을 책임지는 ‘팀장’은 사람일 수밖에 없습니다.

한 책(《바이브 코딩 — 프로덕션의 원칙》)에서는 개발자의 역할 변화를 셰프와 조리원들의 비유로 설명했습니다. 그동안 시니어 개발자는 셰프였고, 주니어는 조리원이었습니다. 셰프가 지시하는 대로 재료를 손질하고, 불을 조절하고, 접시에 담아 내가는 역할을 했습니다. 이제 그런 일들은 AI가 합니다. 모든 개발자는 자신만의 작은 주방을 가지게 됐고, 셰프의 역할에 적응해야 합니다.

개발자에게 필요한 능력의 변화

각 개발자가 팀장이나 다름없게 되면서 이제 개발자에게 중요한 능력이 이동했습니다. 그동안 개발자들과 일반인을 가르던 중요한 차이 중 하나는 컴퓨터의 언어로 컴퓨터에게 일을 시킬 수 있는 능력, 즉 코딩 언어 능력이었습니다.

이제는 아닙니다. 컴퓨터는 이제 사람의 말을 알아듣습니다. 코딩 언어를 익힌 것은 물론 소통을 좀 더 원활히 하게 해 주는 장점이 있지만 이전처럼 대단한 장점은 아닙니다.

그러나 여전히 어떤 해결책이 적절한지, AI가 만든 결과가 요구를 충족하는지 판단하려면 코딩 능력뿐 아니라 개발에 관한 여러 지식이 필요합니다. 이런 개발 지식은 단순한 코딩 능력 이상입니다. 컴퓨터와 네트워크의 작동 방식, UI와 UX, 선택할 수 있는 여러 해결책들에 대한 이해, 전체 구조와 이번 해결책의 조화 등. 이제 그 지식을 문제 정의와 설계, 검수에 더 적극적으로 써야 합니다.

예컨대 한 비개발자는 Python으로 프로그램을 짠 다음 PHP 프로젝트에 그것을 기계적으로 얹었습니다. 기존 PHP 프로젝트 안에서 해결할 수 있는 일인지, Python 실행 환경을 추가할 이유가 있는지 확인하지 않고 AI의 제안을 받아들인 것입니다. 개발 지식은 이런 선택을 질문하고 판단하는 데 쓰입니다.

개발 지식은 이런 모든 과정에서 중요한 배경이 됩니다. 그중 단연 중요한 능력은 바로 문제를 정의하고, 해결책을 설계하는 능력입니다. 그동안은 시니어의 덕목으로 여겨졌고, 주니어가 서서히 익히면 되는 능력이었습니다. 이제는 아닙니다. 이제 주니어는 시니어가 설계한 조각을 받아 코드를 치는 사람이 아닙니다. 시니어처럼 문제를 정의하고 팀원인 AI에게 지시하는 역할을 맡아야 합니다. 다시 말해 주니어가 길러야 하는 능력은 기획과 설계 능력입니다.

더 무거워진 책임의 무게

또 한 가지 변화는 주니어 개발자가 져야 할 책임이 더 무거워졌다는 것입니다. 물론 기존에도 개발자는 자신의 코드에 책임을 졌습니다. 그러나 PR과 코드 리뷰를 통해 사람이 한 단계 거르는 장치가 있었습니다.

이제 AI 덕분에 코드 생산 속도가 훨씬 빨라졌습니다. 이러면 시니어의 검토는 병목이 됩니다. 사람이 코드를 작성할 때조차 종종 시니어는 병목이었습니다. AI 시대엔 일상적인 병목이 됩니다. 이런 작업 방식은 더 이상 유효하지 않습니다.

앞으로 주니어는 자신의 코드에 더 무거운 책임을 져야 합니다. AI와의 작업에 한해서는 팀장과 같은 책임을 져야 합니다. 다행히 AI들은 다른 AI의 작업에 대해서 검수도 잘합니다. 주니어는 AI들을 지휘해서 철저히 검수해야 합니다.

이를 위해 검수 절차를 체계화할 필요가 있습니다. 핵심은 완료 기준을 명확히 설정하고, AI에게 완료 입증 책임을 지우는 것입니다.

완료 보고서에는 과제에 맞는 검증 근거를 포함하게 해 가짜 보고를 최대한 막습니다. 화면에서 확인할 수 있는 기능은 작동 영상으로, 그 밖의 동작은 테스트 결과와 실행 기록 등으로 입증하게 합니다.

이를 위해서는 직접 코드를 작성하지 않은 검수 전용 AI를 돌려야 합니다. 서브 에이전트로 돌리면 효과적입니다. 검수 전용 모델을 고성능 고추론 모델로 하는 게 좋을 수 있습니다. 아예 다른 개발사의 별도 모델을 사용하는 것도 좋습니다. 알리바바의 Open Code Review 같은 에이전트를 활용하는 것도 좋습니다. AI 검수는 코드, 완료 보고서, 테스트 검증 측면에서 돌리고, 필요한 경우 2중 3중으로 돌립니다.

사람은 AI의 완료 보고서를 근거로 기준을 충족했는지 확인합니다. 전체 프로젝트의 지향과 다른 부분을 민감하게 감지하고, 모순을 발견하고 질문합니다. 개발자는 변경한 코드의 내용에 대해 AI에게 설명을 요구하고, 이해되지 않는 부분을 질문해야 합니다. 필요하면 코드를 훑어보거나 부분을 꼼꼼히 살펴봅니다. 그리고 또다시 질문합니다. 이렇게 검수를 완료하고 시니어에게 전달합니다.

시니어는 변경의 위험도에 따라 보고서와 기능 구현 결과를 확인하거나 코드를 직접 검토합니다. 이를 위해 주니어는 시니어가 변경 내용과 검수 근거, 추가로 확인할 부분을 판단할 수 있도록 최종 보고서를 작성해야 합니다.

중간 정리: 주니어는 AI 팀장입니다

주니어는 이제 ‘AI 팀장’입니다. 물론 판단이 서지 않을 때는 시니어와 상의해야 합니다. 그러나 AI 팀을 이끄는 경험 자체를 뒤로 미룰 수는 없습니다. 처음부터 소위 ‘팀장’으로 일하면서 ‘팀장’이 되는 법을 배워야 합니다. 사람을 관리하는 게 아니라서 실제 ‘팀장’보다는 쉽습니다. 그러나 AI 팀을 지휘하고, 그 결과를 책임진다는 점에서는 ‘팀장’입니다.

작업 방식(Workflow)

앞으로는 주니어 개발자에게 작은 구현 조각보다, 문제 정의부터 구현과 검수까지 맡을 수 있는 과제를 배분하는 방식이 필요합니다. 각자가 하나의 과제를 책임지고 AI 팀원들과 작업하는 방식입니다. 과제 사이에 함께 정해야 할 부분은 팀 차원에서 조율합니다.

AI에게 단순 구현을 지시하는 데서 끝나지 않고, 어떻게 만들지에 대한 기획이 중요한 일들, 또는 시간을 들여 철저한 점검을 해야 하는 일들을 맡기는 것입니다. 예컨대 사용자에게 정보를 어떻게 표시할지 결정하는 UI 작업은 사람의 기획이 중요한 일입니다. 예컨대 TTS 기능은 기획이 중요합니다. 검색은 점검이 매우 중요한 일입니다.

TTS 기능을 만든다면 청중과 품질 수준을 고려해 필요한 기능을 구상하고 기획안을 만들어야 합니다. 여러 기사를 어떻게 효과적으로 TTS로 구현할지, 이를 효과적으로 이용하게 하는 UI는 무엇일지, 온갖 영어 약자와 생소한 표현들을 어떻게 효과적으로 말하게 할지 등. 기획이 나오면 이를 팀과 상의하거나 회의 때 함께 논의합니다. 이후 AI를 활용해 구현, 검수하고 최종 책임자에게 넘깁니다.

결론적으로 좀 더 큰 단위로 개발자들에게 업무를 배분하는 방식이 필요합니다. 그러기 위해서는 시니어 개발자들도 기획적인 사고를 더 많이 해야 합니다. 시니어는 프로젝트에 필요한 과제와 우선순위를 정하고, 주니어는 맡은 과제의 문제를 구체화해 해결책과 완료 기준을 설계합니다. 물론 주니어 개발자들도 무엇을 만들지 제안할 수 있습니다.

투입 시간을 늘려야 하는 것은 아닙니다. 조사와 기획안 작성, 구현과 점검에 AI를 활용합니다. 사람은 프로젝트의 목적에 맞는 방향과 기획, 완료 기준을 정하고, 결과를 점검하는 데 시간을 더 많이 씁니다.

이런 역할 변화가 하루아침에 이뤄지는 것은 아닙니다. 충분한 교육을 받고, AI를 진정한 팀원으로 활용할 수 있게 되면 새로운 작업 방식을 함께 논의하고 확정할 수 있을 것입니다.

카테고리

17년차 풀스택 웹 개발자 Mytory입니다

웹 개발에서도 중요한 것은 개념입니다.
이 블로그에는 제가 개발하며 익힌 개념들을 정리합니다.

워드프레스를 오래 다뤄 왔고 강의도 두 편 찍었습니다.
– 인프런 “워드프레스 제대로 개발하기 어드민 편, 클라이언트 편”
– 클래스101 “누구나 할 수 있는 워드프레스 홈페이지 만들기 – 기획부터 출시까지 한 방에 OK”

유튜브 채널에 워드프레스 관련 팁들을 올리고 있습니다.

👉 소개 더 보기

대표글

댓글 남기기