
맨 처음에는
맨 처음 컴퓨터를 프로그래밍하려면 기계어를 직접 입력해야 했다. 0과 1로 이루어진 명령어들. CPU가 이해하는 그 언어로. 인간이 아니라 기계를 위한 언어였다.
그다음엔 어셈블리어가 나왔다. 그나마 사람이 읽을 수 있는 형태로. MOV, JMP, ADD 같은 니모닉들. 그래도 여전히 기계에 가까운 언어였다.
그리고 진짜 고급언어들이 나왔다. FORTRAN, COBOL, 그리고 C. 사람이 생각하는 방식에 가까워진 언어들. 덕분에 수학자와 과학자들이 직접 컴퓨터를 다룰 수 있게 됐다.
그때도 그랬을 거다. “이제 누구나 프로그래밍할 수 있겠는데요?”
그다음은 더 쉬워졌다
Pascal, BASIC이 나왔다. 배우기 쉬운 언어들. 학교에서 가르치기 시작했다.
그러다 Java, Python 같은 언어들이 나오고 인터넷이 폭발했다. 수많은 라이브러리와 프레임워크들이 쏟아졌다. npm install 한 줄이면 수천 명이 만들어놓은 기능을 가져다 쓸 수 있게 됐다. 복잡한 걸 다 이해 안 해도 조립만 하면 뭔가 만들어지는 시대.
이미 있는 코드를 조립하는 거잖아. 개발이라고 할 수 있나? 개발자가 점점 필요 없어지는 거 아냐?
그다음엔 Scratch 같은 블록 코딩이 나왔다. 코드 한 줄 안 써도 된다. 초등학생도 게임을 만든다. 드래그 앤 드롭으로.
No-Code 툴도 나왔다. Bubble, Webflow, AppSheet 같은 것들. 코딩은커녕 개발 지식이 없어도 웹 서비스를 만들고 앱을 만들 수 있다. 기획자가 직접 프로토타입을 만들고, 디자이너가 직접 배포까지 한다. 개발자 없이.
그때도 했다. “이제 누구나 개발자가 되는 시대가 됐다”고.
패턴이 있다
새로운 더 쉬운 방법이 나온다 → 접근 장벽이 낮아진다 → 더 많은 사람들이 뭔가를 만들 수 있게 된다 → “이제 누구나 개발자 시대” → “개발자 필요 없어진다”
근데 정말 그랬나?
기계어 시대가 끝났다고 어셈블리가 사라졌나? 어셈블리 프로그래머는 아직도 있다. 임베디드, 펌웨어, 게임 엔진의 가장 깊은 곳. 아직도 거기엔 어셈블리가 있다.
C가 나왔다고 어셈블리가 없어진 게 아니다. Java가 나왔다고 C가 없어진 게 아니다. Python이 유행한다고 Java 개발자가 사라진 게 아니다.
더 높은 언어가 생겨도, 아래 언어들은 사라지지 않는다. 각자의 자리에서 각자의 일을 한다.
또 그 말이 나왔다
AI가 왔다.
자연어로 프로그램을 만들 수 있게 됐다. “이런 기능 만들어줘” 하면 코드가 나온다. 이보다 더 고급언어가 어디 있나. 인간의 언어 자체가 프로그래밍 언어가 된 거다.
그러니까 또 그 말이 나온다.
“이제 누구나 개발자”
“개발자는 AI로 대체된다”
“프로그래밍을 배울 필요가 없다”
매번 나온 그 말이다.
뭐가 달라졌나
새로운 언어나 도구가 나올 때마다, 더 많은 사람들이 뭔가를 만들 수 있게 됐다. 이건 사실이다. 파급력이 커진 것도 사실이다.
하지만 전문 개발 영역이 사라진 게 아니라, 더 깊어진 거다.
고급언어가 나올수록, 그걸 다루는 게 개발자의 일이 됐다. 기계어는 여전히 있지만, 일반 개발자가 기계어를 쓸 일이 없어진 것뿐이다. 어셈블리는 여전히 있지만, 대부분의 개발자는 어셈블리 없이 일한다.
마찬가지다. AI가 코드를 생성해 준다고 해서 소프트웨어 엔지니어링이 필요 없어진 게 아니다. AI가 만들어낸 코드를 이해하고, 검토하고, 수정하고, 통합하고, 유지보수하는 사람이 필요하다. 시스템이 커지고 복잡해질수록 더더욱.
고급언어가 될수록
사실 이건 당연한 구조다.
도구가 쉬워질수록 더 많은 사람들이 사용한다. 더 많은 사람들이 사용하면 더 많은 것들이 만들어진다. 더 많은 것들이 만들어지면 관리해야 할 것들이 늘어난다. 관리할 사람이 필요하다.
블록 코딩으로 게임을 만드는 초등학생이 늘어났다고 해서, 언리얼 엔진 개발자가 사라지지 않는다. AI로 앱을 뚝딱 만드는 사람이 늘어났다고 해서, 시스템 아키텍처를 설계하는 개발자가 사라지지 않는다.
언어의 추상화 레벨이 올라갈수록, 할 수 있는 사람의 범위가 넓어진다. 다만 전문가의 역할이 사라지는 게 아니라, 전문가가 다루는 문제의 복잡도가 함께 올라가는 거다.
AI는 그냥 더 고급언어가 된 거다. 더 많은 사람들이 프로그램을 만들 수 있게 됐다. 진짜 변한 게 있다면 그거다.
개발자가 사라지는 게 아니다. 개발자의 역할이 변하고 있는 거다. 그리고 그건 항상 그래왔다.