AI 엔지니어링 스킬 맵을 소개하게 되어 기쁩니다. AI 덕분에 우리는 2022년과는 매우 다른 방식으로 소프트웨어를 구축할 수 있게 되었고, 이러한 변화를 활용할 수 있는 스킬을 갖춘 모든 사람에게는 수많은 흥미로운 프로젝트와 취업 기회가 열려 있습니다. 하지만 혼란스럽고 과대광고가 난무하는 AI 정보 환경 속에서, 여러분이 배워야 할 가장 가치 있는 스킬은 무엇일까요? 저는 팀과 함께 AI 엔지니어링 스킬 맵을 종합·정리해 왔으며, 이를 통해 (i) 개발자들이 무엇을 우선적으로 배울지 결정하고, (ii) 고용주들이 숙련된 개발자를 채용하는 데 도움을 주고자 합니다.
10,000개 이상의 채용 공고 분석, AI 전문가·채용 관리자·리크루터와의 수십 차례 구조화 인터뷰, 설문 조사를 통한 데이터 수집, 그리고 다른 온라인 데이터의 종합을 바탕으로, 가장 중요한 네 가지 AI 엔지니어링 스킬은 다음과 같습니다:
- AI 애플리케이션 구축 및 배포
- 소프트웨어 엔지니어링 기초
- 코딩 에이전트 활용
- 빌드 설계
이 과정을 대략적으로 말하자면, 방대한 채용 공고와 전문가 인터뷰 데이터셋에 클러스터링을 실행하여 현재뿐만 아니라 가까운 미래에도 중요한 스킬을 식별하는 것과 비슷합니다.
용어에 대한 참고: 저는 'AI 엔지니어'라는 역할(직업적으로 AI 시스템을 구축하는 사람)보다 'AI 엔지니어링 스킬'이라는 표현을 사용합니다. 전자가 훨씬 더 포괄적이기 때문입니다. 오늘날 모든 개발자는 클라우드로 작업하는 방법을 알아야 하지만 '클라우드 엔지니어'라는 직함을 가진 사람은 소수뿐입니다. 마찬가지로 모든 개발자(풀스택 엔지니어, 데이터 엔지니어, DevOps 엔지니어, 머신러닝 엔지니어, 그리고 물론 AI 엔지니어까지)에게는 AI 엔지니어링 스킬이 필요할 것입니다.
AI 애플리케이션 구축 및 배포.** AI 애플리케이션과 비-AI 애플리케이션의 핵심 차이는 전자의 출력값을 예측할 수 없다는 점입니다. LLM에 프롬프트를 입력하면 어떤 응답이 돌아올지 알 수 없습니다. 딥러닝 알고리즘을 학습시킬 때도 새로운 예시에 대해 어떤 예측을 내놓을지 알 수 없습니다. 반면 전통적인 소프트웨어는 훨씬 더 예측 가능하게 동작합니다.
AI 애플리케이션 구축 및 배포에 능숙한 사람들은 AI의 구성 요소(LLM, 컨텍스트 엔지니어링, RAG, 에이전틱 워크플로우, 머신러닝, 딥러닝 등)를 이해하고 있으며, 더 중요한 것은 AI 시스템이 더 예측 가능하게 동작하도록 측정·조정·관리하는 통계적 기법을 활용하는 방법도 알고 있습니다. 이를 위한 핵심 스킬은 체계적인 평가(evals)와 오류 분석 루프를 운영하는 방법을 아는 것입니다.
소프트웨어 엔지니어링 기초. 소프트웨어가 어떻게 동작하는지 깊이 이해하면 훨씬 더 효과적으로 구축할 수 있습니다. 소프트웨어 엔지니어링에는 비용, 확장성, 안정성, 속도 등 사이의 트레이드오프(tradeoff)를 결정하는 능력이 필요합니다. 보안과 프라이버시는 여기에 추가적인 복잡성을 더합니다.
소프트웨어 기초를 이해하면 어떤 트레이드오프가 존재하는지 인식할 수 있습니다. 이를 통해 소프트웨어 스택 선택, 시스템 아키텍처 설계, 데이터 저장소 설계, 테스팅 등에서 더 나은 결정을 내릴 수 있습니다. 또한 코딩 에이전트가 어떤 트레이드오프를 선택하고 있는지도 모른 채 바이브 코딩(vibe coding)으로 솔루션을 만드는 경험 부족한 개발자보다 훨씬 더 나은 결과를 얻을 수 있습니다. 경험 부족한 개발자의 결과물은 종종 좋지 않은데, 그들은 코딩 에이전트에 어떤 컨텍스트를 제공해야 할지 모르기 때문입니다. 소프트웨어 엔지니어링 기초를 이해하면 소프트웨어 엔지니어링의 정확한 언어로 코딩 에이전트를 조종하여 좋은 트레이드오프를 선택할 수 있습니다.
코딩 에이전트 활용. 에이전틱 코딩(agentic coding)을 효과적으로 사용하는 것은 이제 모든 개발자에게 핵심 스킬이 되었습니다. 이 스킬을 갖추면 에이전트가 어떻게 동작하는지에 대한 좋은 멘탈 모델을 가지게 됩니다. 에이전트의 한계와 이를 해결하는 방법을 이해하고, 얼마나 개입하고 얼마나 맡겨둬야 하는지 알면서 신속하게 에이전트를 조종하여 과도한 시간이나 토큰을 낭비하지 않고 견고한 소프트웨어를 구축할 수 있습니다.
이를 위해서는 코딩 에이전트의 컨텍스트를 관리하는 방법, 계획과 실행 사이의 트레이드오프를 결정하는 방법, 그리고 검증기(verifier)나 평가(evals)를 제공하여 에이전트가 루프를 자율적으로 완결하도록 돕는 방법을 알아야 합니다. 또한 명확한 스펙으로 작업하는 방법(그리고 언제 굳이 그러지 않아도 되는지), 함께 협력하는 여러 에이전트를 조율하는 방법, 그리고 에이전트가 프로덕션 데이터베이스를 망가뜨리는 것과 같은 함정을 피하는 방법도 알아야 합니다. 에이전틱 코딩은 빠르게 진화하고 있기 때문에, 코딩 에이전트를 능숙하게 사용한다는 것은 최신 모범 사례를 아는 것뿐만 아니라 새로운 도구를 계속 시도하고 모범 사례가 바뀜에 따라 워크플로우를 진화시키는 루틴을 갖추는 것을 의미합니다.
빌드 설계. 명확한 스펙이 주어지면 코딩 에이전트는 그 스펙을 충족하는 능력이 빠르게 향상되고 있습니다. 따라서 엔지니어의 작업은 스펙에 무엇을 포함할지 결정하는 쪽으로 이동하고 있습니다. 엔지니어는 더 이상 픽셀 단위로 완벽한 디자인을 받아 구현만 하면 된다고 기대해서는 안 됩니다. 대신 효과적인 AI 엔지니어링에는 프로덕트 감각과 비즈니스 맥락 및 고객 목표에 대한 이해가 필요하며, 이를 통해 빌드의 방향을 설계하고 주도하는 데 참여할 수 있습니다.
AI는 또한 이전보다 더 큰 주인의식과 자율성을 가질 수 있는 기회를 제공합니다. 흥미로운 문제와 기회를 식별하고, 이를 책임감 있는 방식으로 활용하기 위해 실행에 옮길 수 있습니다. 이러한 기회를 활용하려면 프로젝트를 앞으로 추진하는 방법을 알아야 합니다. 예를 들어, 사용자 테스트를 위해 MVP를 빠르게 구축해야 하는 시점과 더 신중하게 구축하기 위해 속도를 늦추고 더 오랜 시간을 들여야 하는 시점을 아는 것입니다.
이 모든 스킬의 기반에는 지속적인 학습 마인드셋이 자리 잡고 있습니다. AI는 계속해서 빠르게 변화하므로, 우리 모두 새로운 모범 사례를 채택하기 위해 계속 배우고 스킬을 발전시켜 나가야 합니다.
DeepLearning.AI의 주요 초점은 개발자들이 이러한 AI 엔지니어링 스킬을 습득하도록 돕는 것입니다. 이 네 가지 스킬 각각에 대해 더 할 말이 많으며, 앞으로의 포스트에서 각각을 더 자세히 풀어내고 더 상세한 AI 엔지니어링 스킬 맵을 공유하겠습니다. AI 엔지니어링이 나아가는 방향을 바라보며, 우리 모두가 구축하게 될 것들에 대해 매우 기대하고 있습니다. 여러분도 이 미래에서 흥미로운 역할을 하게 되길 바랍니다.





