코딩 편식을 하지 않으면 좋은 이유
필자는 편식을 한다. '떡볶이', '피자', '햄버거' 같은 초등학생에 어울리는 입맛을 가지고 있다. 장점은 무엇을 먹을지 고민이 줄어드는 점도 있지만, 건강에는 그리 좋은 생각은 아닌 거 같다. (다행히도 아직은 정상적인 몸무게와 건강을 유지하고 있다.) 그렇다면 코딩은 어떨까? 편식을 해도 괜찮을까? 다행히 코딩은 편식이 꼭 나쁜 선택은 아니다. 하나의 언어에서 깊은 이해를 가지고 편식하여 깊게 파는 방법은 특정 분야에서 전문가가 될 수 있다. 그러므로 꼭 편식이 나쁜 거라고 말할 수 없다.
반대로 편식하지 않고 다양한 코딩을 공부하는 것은 어떨까? 개발자는 각자의 상황에 맞게 새로운 언어를 배워야 하는 경우가 있다. 예를 들면 모바일 게임에는 'C#'을 많이 사용하고 데이터 과학에서는 '파이썬'을 자바스크립트는 '웹'에서 많이 사용한다. 그런데 "하나의 언어에 대한 충분한 투자를 하였는데 또 다른 언어를 배워도 될까?"라는 고민이 들 수도 있다. 하지만 프로그래밍은 그림과 같다. 만약 '자바'라는 붓을 평소에 사용해 왔다면 '코틀린'이라는 새로운 붓도 사용하는데 금방 익숙해질 수 있다. 그렇게 붓의 종류는 하나둘씩 늘려 나간다면 더 많은 붓으로 그림을 그리기 때문에 좀 더 다양하고 진화된 그림을 완성할 수도 있을 것이다.
예를 들면 파이썬 개발자가 고성능 병렬 프로그램이 짤 때는 'GO'를 쓰는 경우가 있다고 한다. 이는 파이썬으로 멀티프로세싱이 어려움이 있기 때문이다. 필자는 자바스크립트로 게임을 만들어 본 적이 있다. 간단한 조작부터 하나하나 코드로 만들다 보니 시간과 노력이 많이 필요로 했다. 그 후에 '유니티 3d'를 접하고 게임 이렇게 재밌고 신속할 수 있구나라는 감탄을 자아내게 했다. 물론 질적인 부분 또한 유니티로 만든 것이 훨씬 좋았다. 이렇듯 다양한 언어를 공부하게 되면 그만큼 할 수 있는 것도 많아진다.
그렇다면 필자의 코딩은 편식일까? 다양한 섭식일까? 필자는 코딩만큼은 다양한 언어를 골고루 섭취하고 있다. 물론 하나의 언어만 깊게 파는 전문가도 나름의 장점이 있지만 여러 언어를 골고루 배울 때 따라오는 현실적인 이득 또한 많기 때문이다. 그래서 그 이유를 한번 나열해 보겠다.
한국에서는 취직 시에 어떤 언어를 할 수 있는지가 가장 중요한 선발방법이다. 기 사용하던 언어에 대해 무관하게 뽑는 곳도 있지만 아직은 더 많은 업체들이 주언어가 회사의 언어와 동일한지를 중요하게 본다. 취업사이트에 또한 개발자 구인 카테고리에 프로그래밍 언어를 분류하고 하여 구인을 할 수 있게 시스템화해놓았다. 만약 다양한 언어를 능숙하게 구현하고 또한 경력까지 갖추고 있다면 취업에서 좀 더 높은 확률로 일자리를 찾을 수 있을 것이다.
만약 '닷넷'을 사용하는 회사가 있다고 하자 그리고 회사에 개발자로 닷넷 전문가가 되었다. 그런데 어느 날 회사 시스템을 '자바'로 전환을 한다고 한다. 그러면 어떻게 해야 할까? 변화에 발맞춰 수긍한다면 '자바'로 언어를 바꾸어 대응하겠지만 한 가지 언어에 대한 깊은 고집이 있는 사람이라면 회사를 바꿔야 할 경우도 생길 것이다. 그런데 방금 말한 예시는 실제상황에서 자주 발생한다. 유행처럼 새로운 기술스택들이 개발되고 변화를 주도하기 때문이다. 그러므로 여러 언어에 대한 학습으로 대비하고 즐겨한다면 이러한 회사에 대응에도 발빠르게 대처가 가능하다.
음식도 편식을 오래 하면 질린다. 코딩도 그렇지 아니한가? 최소한 필자는 그렇다. 언어가 어느 정도 레벨에 도달하면 배움을 찾는 것도 일이 된다. 그렇게 되면 자연스럽게 학습 시간도 줄어들고 일명 질리는 학습이 될 수 있다. 하지만 다양한 언어를 배우면 참 재밌다. 기존에 배우던 언어와 비교하면서 하나, 둘씩 튜토리얼을 따라 하다 보면 처음 코딩을 배웠던 그 시절에 재미를 느낄 수 있다. 그래서 필자는 다양한 언어를 학습하려고 한다. 그래야 오랫동안 컴퓨터 앞에 앉아 공부를 할 수 있기 때문이다.
필자는 앞서 말한 것 처럼 음식은 편식 왕이지만 코딩만큼은 편식하지 않는다. 최근에는 '플러터'라는 구글이 출시한 크로스 플랫폼 GUI 애플리케이션 프레임워크를 열심히 공부했다. 그리고 그걸로 PHP로 만들어진 홈페이지를 해당 언어로 변경해서 새롭게 리뉴얼했다. 그 과정에서 플러터를 통해 한 스타트 기업과 새로운 인연이 닿게 되었고 도움을 주는 관계로 거듭났다. 이렇듯 다양한 언어를 공부하고 활용하는 것을 즐기다 보면 코딩도 재밌고 커리어도 늘고 좋은 기회도 생길 수 있다고 믿는다. 그러므로 이 책을 읽는 독자 여러분들도 여러 코딩 언어들을 배우는 즐거움을 알았으면 한다.
"코딩을 편식하지 않는 용기"