이 글을 쓴 샘 매커피(Sam McAfee)는 디지털 변혁을 추진 중인 기업을 위해팝업 인큐베이터를 구축하는
블랙윌로우 스튜디오(Blackwillow Studios)의 공동 창립자입니다.
이 글의 견해는 저자 개인의 것으로 GE리포트와 다를 수 있습니다.

(이미지 제공: Getty Images)
이제 웹 프로그래밍 분야에도 로봇이 진출했다. 어쩌면 학생들에게 코딩 교육을 할 필요도 없어질지 모른다. 자동화가 점차 확대되면서 기술 자체가 대부분의 기술직을 대체하게 될 것이라고 엔지니어들조차 인정하고 있는 추세다.
소프트웨어 공학 분야에서 도구와 자동화 기술은 얼마나 발전했을까? 응용 프로그램 개발 분야의 경우 가까운 미래에 단 두 종류의 직무, 즉 사용자경험(UX, User Experience) 디자인과 데이터 과학 분야만 살아남고, 이를 제외한 나머지는 모두 자동화될 것이라고 전망하는 전문가도 있다. 이런 예측에 동의하는 사람도 점차 늘고 있다.
닷컴 열풍이 불기 시작한 이래, 웹 개발 분야에는 세 가지 전문 직무가 있었다. 엔지니어링, 제품 관리, UX이다. 엔지니어링 분야에서는 주로 데이터와 기능 레이어를 다루었고, UX 분야에서는 사용자 인터페이스를 구축했다. 두 분야 사이의 협력과 사업 전반을 책임지는 역할은 제품 관리자들이 맡았다. 학교에서 프로그래밍/코딩을 배운 졸업생들은 이런 방식으로 생각하도록 교육 받았고, 이 구조를 반영하는 웹 어플리케이션을 개발해왔다.
하지만 오늘날 우리 눈 앞에는 다른 그림이 펼쳐졌다. 이제 웹 어플리케이션 프로그래밍은 대부분 구성 작업(Configuration)으로 이루어진다. 툴, 인프라, 프레임워크를 주로 브라우저를 통해, 혹은 소스 제어 방식으로 구성하는 것이다. 과거에 수동으로 일일이 개발하던 요소들이 이제는 패키지 형태로 제작된다. 결국 개발자의 역할은 모든 요소를 하나로 연결하는 것뿐이다. 어떻게 기술이 이 정도 수준으로 발전한 것일까?
최근 5년 동안 웹 구조에 변화가 일어나기 시작했다. 인터넷 연결성을 높여주는 접착제 역할을 API(Application Programming Interface, 링크)는 이제까지 전례가 없던 규모로 데이터 공유와 어플리케이션 생태계가 이루어지도록 만들었다. 현대의 어플리케이션은 이제 타 시스템과 데이터를 공유하도록 명확하게 설계된다. API 개발자들이 의도하지 않은 방식으로 확장되도록 설계되는 경우도 있다. 이는 명실공히 새로운 단계로 진화한 진정한 ‘오픈 소스’라고 할 수 있다.
지난 15년 동안 사람들을 괴롭혔던 투박한 언어, 자바 스크립트는 2010년대에 접어들어 부흥기를 맞았다. 현재는 이 자바 스크립트가 웹 어플리케이션 구성 방식에 혁명을 일으키고 있다. 구글(Google)의 ‘AngularJS’, 페이스북(Facebook)의 ‘ReactJS’ 같은 프레임워크(참고) 덕분에 개발자들은 유연한 요소를 활용해 웹 어플리케이션을 을 개발하여 UX 기능 요소를 쉽게 이동시킬 수 있게 되었다. 이를 통해 모듈식이면서도 확장 가능한 웹 어플리케이션이 탄생한다.
참고 – 어플리케이션 프레임워크
애플리케이션 프레임워크(Application Framework)는 프로그래밍에서 특정 운영 체제를 위한 응용 프로그램 표준 구조를 구현하는 클래스와 라이브러리 모임이다. 간단하게 프레임워크라고도 부른다.
재사용할 수 있는 수많은 코드를 프레임워크로 통합함으로써 개발자가 새로운 애플리케이션을 위한 표준 코드를 다시 작성하지 않아도 같이 사용된다. 애플리케이션 프레임워크는 그래픽 사용자 인터페이스(GUI)의 구현에 일반화되었다. 그 까닭은 GUI 응용 프로그램의 기본 구조의 표준화를 촉진하는 경향이 있기 때문이다. 응용 프로그램의 기본 코드 구조가 명백하므로 표준 프레임워크를 사용하면 자동으로 GUI 툴을 만드게 된다. 프레임워크의 구현은 객체 지향 프로그래밍 기법이 사용되고 있는 응용 프로그램 고유의 클래스가 프레임워크의 기존 클래스를 상속할 수 있다.
아마존 웹서비스(AWS, Amazon Web Services, 링크) 같은 클라우드 서비스는 어느 개발팀이든 자체 IT 인프라를 구축하고 맞춤화할 수 있게 해준다. 데브옵스(DevOps, 즉 개발과 운영의 합성어이자 기본적으로는 ‘우리 스스로 운영한다’라는 의미의 약칭, 링크)가 등장하면서 IT운영 전담 부서의 필요성도 사라지고 있다. 과거에는 기술직이라고 하면 컴퓨터 책상 아래로 기어 들어가 컴퓨터 네트워크 케이블이나 서버를 다루던 턱수염을 기른 남자를 상상하곤 했다. 하지만 이제 이런 모습은 빠른 속도로 사라지는 중이다. 과거의 기술담당자들은 어플리케이션 개발자들이 코드 생성을 배치하는 시기와 방법을 관리하며 개발자들에게 게이트 키퍼 역할을 해주곤 했지만, 이제는 AWS 콘솔을 이용해 모든 것을 제어할 수 있다.
엔지니어에게는, 브라우저 기반 구성 시스템 상에서 드래그와 드롭만으로 필요한 요소들을 서로 끼워 맞춰 단 몇 분만에 어플리케이션을 만드는 미래를 상상하는 것이 그리 어렵지 않다. 어플리케이션 개발용 ‘IFTTT(링크)’나 ‘재피어(Zapier,링크)’라고 생각하면 쉽다. 이런 미래에는 기존의 주문형 웹 어플리케이션 개발 시장은 더 이상 존재하지 않을 것이다.
현대적 컴퓨팅이 등장한 이래로 엔지니어링 혁신의 물결을 한 번씩 거칠 때마다 단순한 업무가 조금씩 자동화되어 왔다. 시간이 흐를수록 고도의 수작업 업무까지도 결국 단순 업무와 모듈로 변할 것이다. 우리는 어셈블리 프로그래밍에서 일반 프로그래밍 언어로, 절차적 프로그래밍에서 객체 지향 프로그래밍으로, 수작업 구성 서버에서 가상 현실화 및 클라우드 컴퓨팅의 시대로 발전해왔다.
이제 우리는 또 다시 한 단계 더 나아가고 있다. 어플리케이션 개발 분야에서 인간이 처리할 업무는 데이터 과학과 사용자경험 디자인만 남게 될 날이 얼마 남지 않았다. 그 외에 모든 업무는 범용 상품화될 것으로 보인다.