💻AI와 미래

소프트웨어 엔지니어 · 현대 사회를 움직이는 코드를 작성하고 테스트하고 유지보수하는 직업이며, AI가 자기 일상 업무를 자동화하는 모습을 가장 먼저 지켜보는 직업 중 하나다.

소프트웨어 엔지니어링은 이 사이트에서 대규모 언어 모델의 자동화를 직접적으로 체감하는 최초의 직업 중 하나다. 원재료—엄격한 규칙을 따르는 텍스트—가 바로 이 모델들이 만들어진 목적이기 때문이다. 코드를 작성하고 자동완성하고 검토하는 도구는 이미 미래의 시나리오가 아니라 대다수 전문 엔지니어의 일상 워크플로 일부다.

그렇다고 이 일이 쓸모없어지는 것은 아니다. 오히려 이 일에서 가치 있는 부분이 더 좁고 더 집중된 것으로 바뀐다. 아래 섹션들은 이미 자동화되고 있는 부분과, 지금까지 모델에 넘기기 훨씬 어려웠던 부분을 구분한다.

63 / 100
높음

기계가 대신할 수 있는 업무의 비율

한 엔지니어가 한 주 동안 작성하는 코드의 상당 부분—상용구, 초안 테스트, 반복적인 번역—은 이미 언어 모델이 견줄 만한 속도로 만들어낼 수 있다. 자동화하기 여전히 어려운 부분은 무엇을 만들어야 할지 결정하는 것, 그럴듯해 보이는 변경이 은근히 잘못된 방식을 찾아내는 것, 그리고 그것이 프로덕션에서 실패했을 때 책임을 지는 것이다.

직함이 아니라 업무 단위로 산정했다. 낮을수록 안전하다.

AI가 대체하지 못하는 직업 →

기계가 가져가지 못하는 것

출시된 결과물에 대한 책임

90

프로덕션이 무너지거나 보안 구멍으로 데이터가 유출되거나 시스템이 유해한 결정을 내렸을 때 누군가는 답해야 한다—모델은 그 책임을 질 수 없다.

모호한 요구를 명세로 옮기기

83

무엇을 원하는지 스스로도 아직 모르는 사람들에게 올바른 질문을 던져, 막연한 비즈니스 요청을 정밀하고 실행 가능한 계획으로 바꾸는 일은 여전히 필요하다.

전체 시스템 아키텍처

77

수십 개의 서비스, 팀, 데이터 저장소가 어떻게 맞물려야 하는지 결정하고 그 결정과 함께 몇 년을 사는 것은 함수 하나를 작성하는 것과는 다른 능력이다.

선례 없는 장애 디버깅

74

일치하는 포럼 게시물도 학습 예시도 없는 참신한 프로덕션 장애는 여전히 사람이 압박 속에서 가설을 세우고 검증해야 한다.

팀 간 협상

80

지름길의 비용을 어느 팀이 떠안을지, 상충하는 두 마감 중 어느 쪽을 늦출지 결정하는 것은 정치적이면서 동시에 기술적인 판단이다.

이미 가져가고 있는 것

상용구와 접착 코드

82

CRUD 엔드포인트, 폼 검증, 표준 설정처럼 잘 이해된 패턴을 엮는 일은 이제 직접 타이핑하는 것보다 생성해서 확인하는 편이 흔히 더 빠르다.

초안 단위 테스트

70

어시스턴트는 함수를 읽고 그럴듯한 초기 테스트 케이스 세트를 빠르게 만들어낼 수 있지만, 그것이 올바른 것을 테스트하는지는 여전히 누군가 판단해야 한다.

일상적인 코드 리뷰 코멘트

60

풀 리퀘스트에 대한 스타일, 네이밍, 뻔한 버그 피드백은 점점 자동화된 린터와 AI 리뷰어에게 맡겨지고, 사람 리뷰어는 설계 수준의 코멘트에 집중한다.

언어 간 코드 이식

65

함수나 작은 모듈을 다른 언어나 프레임워크로 옮기는 일은 언어 모델이 이미 꽤 안정적으로 해내는 패턴 매칭 작업이다.

일이 변해가는 방식

코드를 타이핑하던 것에서 검토하는 것으로

엔지니어의 하루 중 점점 더 많은 시간이 빈 파일부터 모든 줄을 직접 작성하는 대신 모델이 제안한 코드를 읽고 테스트하고 고치는 데 쓰인다.

더 작은 팀, 더 넓은 범위

예전에는 여러 엔지니어가 필요했던 제품 영역을 이제는 한두 명이 맡을 것으로 기대하며, 나머지 산출량의 부족분은 AI 도구로 메운다.

정밀한 명세 작성이 핵심 스킬이 되다

한때 시니어 엔지니어의 머릿속에 암묵적으로만 남아 있던, 시스템이 무엇을 해야 하는지를 모호함 없이 서술하는 일이 이제는 직접 가르칠 가치가 있는 기술이 되었다.

검증이 병목이 되다

생성된 코드가 옳아 보이면서도 은근히 잘못될 수 있기 때문에, 테스트 규율, 코드 리뷰, 모니터링이 순수한 코드 생산에 비해 위상을 얻고 있다.

갈라져 나오는 새 직업들

AI/ML 엔지니어

주변 애플리케이션이 아니라 모델 자체를 만들고 미세조정한다. 전통적인 소프트웨어 엔지니어링과 크게 겹치지만 통계에 더 기댄다.

프롬프트/컨텍스트 엔지니어

LLM 기반 기능을 출시할 만큼 신뢰할 수 있게 만드는 검색, 도구, 프롬프트 구조를 설계한다. 2020년대 초 이전에는 거의 존재하지 않던 분야다.

AI 레드팀/안전 엔지니어

모델과 AI가 작성한 코드를 프로덕션에 도달하기 전에 보안 구멍, 편향, 실패 양상에 대해 테스트한다. 더 큰 보안 팀 안에서 떠오르는 전문 분야다.

사이트 신뢰성 엔지니어(SRE)

이미 존재했지만, 점점 더 스스로 코드를 작성하고 테스트하고 배포까지 하는 시스템에 대해 책임을 지는 사람으로서 상대적 중요성이 커지고 있다.

전망

소프트웨어 엔지니어링은 앞으로 십 년간도 높은 보수와 높은 수요를 이어갈 가능성이 크지만, 신입 직무의 모습은 이미 바뀌고 있다. 순전히 반복 코드를 생산하기 위해서만 존재하는 자리는 줄어들고, 주니어 엔지니어는 거의 즉시 AI가 생성한 작업을 검토하고 테스트하고 책임지도록 요구받는 자리가 늘어난다.

유리한 위치는 점점 더 문제를 명확히 규정하고, 시스템 전체를 사고할 수 있고, 유창하게 들리지만 잘못된 제안이 어디서 틀렸는지 잡아내는 엔지니어에게 돌아갈 것이다—대규모 언어 모델 이전에도 중요했던 바로 그 판단력이, 이제 더 빠르고 더 큰 규모로 적용될 뿐이다.

계속 탐색하기

공학·기술 분야의 다른 직업