대한민국에서 영알못 개발자로 산다는 것

몇일 전 재밌는 일이 있었다. 최근 한동안 React와 관련 기술들에 대해서 공부하고 있었는데, 글만 보는 것 보단 직접 만들어 봐야 이해를 하는 스타일이라, 공부도 할 겸 혼자 끄적 끄적 React와 Redux를 이용한 작은 프레임 워크를 만들어 보는 중이었다. 당연히 저장소는 Github을 사용했다. 내 Github계정은 팔로워도 몇 명 없고 거의 아는 사람들 뿐이라, 평소에도 저장소가 필요하면 마구잡이로 프로젝트를 만들었다 지웠다 했기 때문에, 이번에도 역시 그 누구도 신경쓰지 않을거라고 생각했다. 그리고 실제로도 그러했다. 한동안은…그런데 저장소를 만든 지 몇일 후 부터 갑자기 낯선 사람들이 별을 누르고 가는 일이 생겼다. 어디다가 올린적도 없고 이야기 한 적도 없는데 이 정체 불명의 외국인들은 어떻게 알고 와서 별을누르고 간걸까…뭐 React나 Redux가 워낙 요즘 관심사이다 보니 관련 키워드들로 검색을 하다가 들어 왔으려나…싶어서 저장소 이름으로 구글링을 해봤다. 아뿔싸…이런 녀석이 있을 줄은 상상도 못했다. npm에서 모듈이 publish 될 때 마다 트윗으로 알려주는 bot이라니... 시험삼아 publish 해봤던 것이 트위터에 노출 되었고, 그걸 보고 사람들이 찾아 들어왔던 것 같다. 심지어 다운까지 받았네. (안 돌아갈텐데…) 그날 이 후로 가끔 누군가 와서 살포시 별을 누르거나 이슈를 등록하고 가곤 했다. 하지만 어차피 공부 목적으로 만들던 것, 누가 뭐라든 신경 쓰지 않고 혼자서 짬날 때 마다 꾸역 꾸역 만들어 가고 있었다.

그러던 어느날, 새로운 이슈가 등록되었다. 그런데 으잉? 등록한 사람이 낯이 익다. Redux를 개발한 Dan Abram*v였다. 코드 작업량을 보면 Node 진영 초창기의 TJ Holowaychuk이 떠오르고 블로그 집필 활동을 보면 RoR쪽의 D.H.H가 떠오르게 하는, React 쪽 커뮤니티에서는 마치 락스타와 같은 젊은 개발자다. (그 활동 덕분에 최근엔 Facebook에 입사한 듯.) 이슈 내용은 내가 작성한 Readme가 Redux나 Flux를 처음 접하는 사람들에게 오해를 심어줄 수 있으니 수정해줬으면 좋겠고, 내가 구현한 방식은 요구사항 변경에 취약하니 권장하지 않는다는 내용이었다. 읽어보니 맞는 말인 것 같았고, 나도 그에 동의해서 고맙다는 인사와 함께 답변을 달았다. 그런데 그 이슈 내용을 자기 트위터에 공유까지 했네. 나로서는 뭔가 ‘여기 개알못이 실수 했으니 니들은 조심하렴.’ 하며 동네방네 소문내는 것 같아서 썩 유쾌하진 않았지만, 내가 잘못 알고 있었던 것은 사실이니 그저 ‘재밌는 경험이었군.’ 하고 넘어갈 수 밖에. (그나저나 어떻게 알고 들어온 걸까…트위터를 보니 파워 유저 같던데 아마도 저 놈의 봇 덕분이 아닐까…)

(등록 된 이슈를 처음 봤을 때 나의 심정)

철 없이 어릴 때는 내가 잘못해 놓고도 니가 맞니 내가 맞니 하며 우기기도 했었던 것 같은데, 시간이 지날 수록 자존심인지 자신감인지 하여간 뭔가가 점점 줄어드는 건지 요즘은 누가 뭐라 그래도 그러려니 하고 넘어가게 된다. 하지만 이번엔 좀 아쉬운 마음이 들었다. 나도 나름 벌써 개발 일을 한지 5년이나 흘렀고, 좋은 코드, 좋은 구조에 대해서 라면 하고 싶은 말이 한 그득 있는데, 말을 꺼낼 엄두도 내지 못했다. 그가 유명해서 주눅든 것도 아니고, 내 이야기가 틀릴 까봐 걱정 된 것도 아니다. 내 영어 실력이 나의 생각을 모두 표현할 만큼 좋지 못했기 때문이다. Dan과 전 세계의 수 많은 개발자들이 트위터와 Github으로 의견을 나누며 많은 것들은 만들고 변화시키고 있는데, 요즘의 나는 고작 그 내용들을 따라가는 것 조차 벅차하고 있는 중이었다. 그런 내가 무슨 이야기를 더 할 수 있었을까. 그렇다고 내가 영어를 아예 못하거나 하는 건 아니다. 저장소의 Readme도 모두 영어로 쓰려고 노력하고 있고, 간단한 의사소통은 가능한 수준이니까. 하지만 그렇다고 잘하는 것도 아니다. (영어를 잘 한다는 것에 대한 기준이 모호할 수 있으니, 여기서 잘 하는 것의 조건은 ‘영어를 모국어 수준으로 구사하는 것.’ 정의 하겠다.) 일단 영어라는 언어를 받아들이면 내 머리속에서는 한번의 컴파일을 거쳐야지만 입력이 되고, 출력 역시 마찬가지이다. 마냥 편하게 지낼 수 있는 녀석은 아니라는 말이다. 오히려 예전엔 영어를 기피하기까지 했다. 나에게 Visual Studio 2005가 신세계 였던 것은 한글 메뉴를 지원하기 시작했기 때문이었고, eclipse도 한글패치 없이는 사용하지 못했으니까. 사실 메뉴가 한글이 아니어도 쓸 수는 있었다. 일본어도 모르면서 일본어로 된 RPG게임들을 클리어 한 주제에, 영어로 된 프로그램을 사용하지 못한다는 게 말이 안되지… 그저 불편했던 거다. 하지만 개발자와 영어는 죽어도 떨어질 수 없는 사이다. 일단 대부분의 프로그래밍 언어 자체가 영어를 기반으로 하고 있고, 개발을 하기 위해 봐야 하는 자료들의 대부분도 영어이니… 개발을 한다면서 영어를 거부한다는 것은 개발을 하지 않겠다는 말이다. 그랬기에 영어를 불편하게 여겼던 나라도, 먹고 살기위해 이리저리 부딪히고 깨지다 보니 어느 새 예전보다는 덜 불편한 상태까진 온 것 같다. 제작년 부터는 공부삼아 영어 문서들을 번역해보기도 하면서 불편함을 점점 더 덜어갔다. 가끔은 내가 조금은 잘 하는게 아닌가 싶은 착각이 들 정도로. 하지만 이번에 확실히 깨달았다. 나는 아직 영알못(영어 알지도 못하는)이다. 나는 내가 옳다고 생각 하는 것에 대해 자신 있게 영어로 이야기 하지 못한다. 아니 할 수 있더라도 한번이라도 반박 당한다면 그대로 백기를 들 것이다. 덕분에 나는 영어권에서는 또한 개알못(개발 알지도 못하는)이기도 하다. 아무리 많은 것을 알고있고 생각한다고 해도 표현하지 못한다면 상대방에겐 모르는 것이나 마찬가지이니까. 개발자는 코드로 이야기 하면 되는 것 아니냐, 라고 이야기 할 수도 있지만, 그건 말을 못하는 것을 모두 상쇄시킬 정도로 개발 실력이 월등할 때나 가능한 이야기다. 그렇다보니 세계에서의 한국 개발자들의 위치에 대해서 다시 한번 생각해보게 되었다.

작년에 출장으로 실리콘밸리에 잠깐 다녀올 수 있었다. 출장을 가기 전에 실리콘 밸리의 이미지는 마치 위대한 항로, 챔피언스 리그, 천하 제일 무술대회 같은 이미지였다. 전 세계에서 모인 괴물 개발자들만 득시글 거릴 것만 같은… 하지만 실제로 느꼈던 실리콘 밸리는, 여기와 똑같이 그저 사람 사는 곳이었다. 다만 그 출신들이 다양하고 회사들도 더 다양할 뿐, 일하는 사람들은 크게 차이나지 않는 것 같다고. 그런데 이번 일로 생각이 조금 바뀌었다. 기본적으로 영어권에서 살아가는 개발자들은 그렇지 않은 개발자들보다 (거의 반칙 수준으로) 월등히 좋은 조건에서 일 하고 있는 것이 아닌가 하고. 영어권에서 지낸다면 당연히 영어에 대한 습득력이 더 좋을 것이고, 그들은 우리가 SNS에서 짤방과 인터넷 뉴스를 소비하는 것과 비슷한 수준으로 개발에 대한 새로운 정보들을 소비할 수 있을 것이다. 물론 Hacker News나 Tech Crunch 같은 뉴스형 미디어는 한국의 매체와 비슷한 수준으로 받아들일 수 있을지도 모르지만, 새로운 개념과 패러다임을 소개하는 컨텐츠의 경우, 모국어가 아니라면 이해하는데 오랜 시간이 걸릴 수 밖에 없다. (심지어 어려운 책들은 번역이 되어 있어도 한번에 이해하기 어려운데…) 하지만 영어권 개발자들은 훨씬 빠르고 수월하게 같은 내용들을 받아들일 것이다. 처음부터 다른 라인에서 달리고 있었던 것이다.

대한민국에는, 이 좁은 땅에서 잘난 개발자가 너무 많다. 개발자들 중엔 자존심이 강하거나 또는 자신만의 가치관이 투철한 사람들이 적지 않다. 그러다보니 갑론을박이 벌어졌을 때 의견 굽히는 것을 싫어하는 경우가 많다. (나쁘다는 것이 아니다. 오히려 순수해서 그런 것일지도 모른다.) 국내 개발 커뮤니티들을 보면 댓글 배틀이 하루가 멀다하고 벌어진다. 트위터나 Github에서도 역시 세계 각지의 개발자들의 댓글 릴레이가 매일같이 이어진다. 하지만 한쪽의 댓글들은 주로 자존심 싸움일 때가 대부분이고, 다른 쪽의 댓글들은 어떻게 하면 더 재밌는 것을 만들까, 더 좋은 것을 만들까에 대한 이야기들이다. 어떤 사람들과 이야기를 나누고 싶은가? 누군가를 말로서 꺽어버리는 것에서 인생의 무엇과도 바꿀수 없는 쾌감을 느낀다면 어쩔 수 없지만, 한 개인으로 더 나은 개발자가 되길 원한다면 결론은 불보듯 뻔하다. 좁은 울타리 안에서만 인정받아봤자 더 넓은 세상에선 개알못일게 뻔하고, 여기서 아무리 오랫동안 많은 경험을 했다고 하더라도 사실은 타국의 어린 개발자에게도 미치지 못하는 실력을 가지고 있을지도 모른다. 라는 걸 이번 경험을 통해 다시 깨달았다.

한국말이라면 좀 그만하라고 할 정도로 할 말이 많은 사람인데, 영어로는 과묵한 이가 되어버리는게 답답하고 아쉬웠다. 뭐 잡담이야 어떻게든 손짓 발짓 섞어가며 계속 할 수도 있겠지만, 정말 하고 싶은건 더 가치있고 생산적인 이야기니까. Dan에겐 고맙게 생각한다. 덕분에 새해 초 부터 좋은 자극이 되었고, 개발도, 영어도 더 열심히 해야겠다는 마음이 들게 해줬으니까. 미물들 끼리 너 잘 났니 나 잘 났니 하지 말고 우리 모두 더 넓은 곳에서 놀자. 어떻게 시작 하냐고? 일단 Github 저장소를 하나 파고 npm publish를 매일 해보자. React, Flux, Redux, Rx 같이 힙한 키워드가 이름에 들어있으면 더 좋을 것 같다. Readme나 주석을 어설픈 영어와 어설픈 지식으로 정성들여서 써보자. 그럼 누가 와서 틀렸다고 바로 잡아 줄 것이다. 많은 개발자들은 참견쟁이들이니까.