웩. 웹개발자 눈에만 어썸한 것 같다. 세상의 눈엔 전혀 어썸하지 않다. 웹은 스마트폰이 나온 이후로 2등 시민이 됐었고, 퍼스트 클래스로 언제 올라올지 가망이 안보인다. 한참 세상이 모바일 퍼스트를 떠들던게 엊그제 같은데, 모바일 온리를 지나 AI 퍼스트도 이제는 지난 프렌차이즈이다. 물론 Node.js 덕에 자바스크립트의 위상이 올라갔고, 웹이 이제는 모바일이고 뭐고 다 때려잡는 시대가 왔지만 얄궂게도 웹 사이트보단 앱을 사람들은 사랑하고, 이 사랑은 좀 처럼 바뀔 기미가 보이지 않는다.
웹은 좀 처럼 못하는게 없다.(실제론 자바스크립트겠지만) 예전엔 안드로이드 하려면 자바 코드 몇 줄은 잡을 줄 알아야했고, iOS하려면 오브젝트C를 썼지만 이제는 리액트 네이티브나 플러터를 쓰면 된다. 우직하게 jQuery만 하던 사람들이 백엔드 개발자로 전직하고, 프론트 엔드 개발자로 진화할수 있게 됐다. 두 사이드를 다 다루는 세상이 됐다니... 한 술 더떠 모바일 앱도 뚝따리딲딱 만들기도 한다.(심지어 데스크탑 앱도 만든다...) 결국 웹 개발자는 자바스크립트와 Node를 이용해 모든게 가능한 세상을 맞이했다. 어쩌면 세상은 자바스크립트가 먹게되는건 아닐까? 뭐 이런 생각을 해봐도 여전히 웹은 관심 밖 영역이다. 홈페이지가 아무리 예뻐도 딱히 사람들을 불러모으지 않는다. 여전히 20년은 된 듯한 구수한 레이아웃이 인기를 끌고 있으니 어쩌면 웹은 구수함의 미덕을 알아햐 성공하는걸까?
하지만 내가 웹 개발자라 그런지 몰라도 웹은 점점 더 어썸해지는 것 같다. 분명 15년 전엔 지금과 같은 세상이 아니었다. 15년 전이면 내가 처음 웹개발을 시작한 시기기도 한데, 그때는 웹사이트를 만든답시고 그누보드나 제로보드, 구닥다리 워드프레스를 주물럭 거린게 다였다. 웹 호스팅하려면 AWS는 상상도 못했고, 몇만원에서 몇 십만원짜리 허접한 서버를 구하는게 전부였다. 하지만 지금은 미친듯이 바꿨다. 서버 비용은 당시와 비교하면 족히 20~100배 정도는 싸진게 아닐까 싶다. 특히 이전엔 상상도 못한 일들이 이젠 쉽게쉽게 할 수 있다. 가령 이미지를 CDN으로 처리하는 것. 아마 15년 전엔 CDN을 쓰겠다는 생각도 못했겠지만 지금은 다르다. 심지어 CDN이 더 싸고, 더 빠르다니. 전세계 엣지 로케이션에서 이미지를 알아서 가져오고, 캐싱한다니. 종이에 구멍뚫어 코딩하던 사람들은 이 맛을 절대 몰랐겠지.
그 뿐인가. 나는 요즘 서버리스 테크놀로지를 이해할수록 기가막힌 기술이라는걸 느낀다. 만들고 있는 서비스에서도 적용을 준비중인데 황당할정도로 간결하고, 강력하다. 예를 들어, 사용자가 이미지를 요청할 때 전달받은 디바이스 화면 사이즈에 따라 CDN에 캐싱된 이미지인지 확인한다. 만약 캐싱됐다면 캐싱된 이미지를 빠르게 보내준다. 그렇지 않다면 람다(AWS 서버리스 함수)가 이미지를 리사이징해서 CDN에 캐싱해둔다. 이러한 기술 덕분에 스토리지 서버에 휘발성이 강한 이미지를 여러 사이즈로 저장할 필요없이 만들어주고, 속도와 비용 모두 절감시켜준다. 당근마켓에서 이와관련한 글을 적어뒀는데 관심있으면 읽어보시길.
아마존, 마이크로소프트, 구글에서 제공하는 클라우드 서비스는 끝을 모르고 편해지고 있다. 개발자들을 위한 솔루션을 제공하다 못해, 이제는 그들이 앞다투어 "이게 힘들진 않아? 내가 도와줄께!" 하면서 도와주고 있다. 이제는 IDC도 필요없고, 서버 관리나, 스케일이나, 이전이면 사람들이 붙어서 하던 일을 모두 알아서 해준다. 가격도 말도 안되게 싸다. 사람 부르려면 한달에 못해도 250은 줘야할 일들을 거저나 다름없는 돈에 해준다니.... 돌아가신 할머니가 프로그래밍을 하셨다면 다시 일어나실만한 일이 펼쳐지고 있다. 하지만 얄궂게도 변화에 익숙해져서인지 웹개발자들은 이런건 당연하다고 느끼는 추세가 됐고, 그렇기에 속도가 얼마나 빠른지 체감하지 못하는 것 같다. 마치 850km로 달리는 비행기 안에서 고요하다고 느끼는 것처럼.
솔직히 다음을 아는 사람은 없을것 같다. 그렇기에 핫한 친구들을 두루두루 만나보고 있다. GraphQL이나 TypeScript. 함수형 프로그래밍이나 이것과 연결된 다른 라이브러리들. 또한 다트와 플러터. 5년 후를 예측하진 못하겠지만 적어도 2020년엔 Vue나 Node가 망하진 않을 것이고, TypeScript가 망해도 TypeScript가 제시한 개념에 대해 누군가 더 발전시키겠지.(안 망할 가능성이 더 커보이지만) 그런 면에서 나는 나이브한 가치관을 가지고 있다. 이제사 웹 개발의 최전선이라 할 수 있는 곳까지 왔으니 현재를 즐기고 있다. AWS의 온갖 서비스를 찰흙 만지듯 가지고 놀면서 사이드 프로젝트를 하는 일은 약간 장난치는 기분까지 든다. 세상이 너무 편해져서 하루만에라도 뭐든 만들 수 있는 기분이 든다. 간만에 24시간 프로젝트를 해볼만한 주말이 아닌가 싶다.