ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백엔드, 풀스택, 프런트엔드의 여정
    해외취업이야기 2019. 5. 7. 19:21

    React & Typescript

    새로운 팀에서 일한 지 1년이 다 되어 갑니다.

    서버사이드 쪽 프로젝트만 고집하다가, 몇 년 전 스타트업에 조인하게 되는 좋은 계기로 프런트엔드에 점점 손을 대기 시작했고, 아마존에 입사할 때는 풀 스택 엔지니어로 입사했었습니다. 비록 프런트엔드는 아마추어 수준이었지만 비교적 UI 요구사항이 심플했던 프로젝트였기에 별문제 없이 ReactJS, Ruby-On-Rails 등으로 프런트엔드를 함께 만질 수 있었습니다.

    그렇게 조금씩 프론트엔드에 손을 대다가, 결국 프런트엔드만 하는 일에 뛰어든 게 1년 전입니다. 처음 시작했던 팀에서 별로 좋지 못한 경험을 하고 새로운 프로젝트를 찾던 중 평소에 관심이 많던 React를 매우 심도 있게 다뤄야 하는 팀이 있다고 해서 지원했습니다. 그 팀은 바로 아마존 프라임 비디오의 Playback UI 팀입니다.

    Playback UI팀이 만드는 앱은  PC나 모바일에 돌리는 앱은 아니고, 스트리밍 디바이스, 셋탑박스, 스마트TV 등에서 아마존 프라임 비디오를 시청하기 위해 설치하는 앱입니다. 수많은 다양한 장치를 더 유연하게 지원하기 위해서 ReactNative를 사용하여 UX와 Native를 분리하는 등의 프로젝트를 1년간 진행해 왔고, 그에 기반한 새로운 React UI도 거의 완성되었습니다.

    1년 동안 React Native, Typescript로 앱을 만들면서 느낀 점을 한마디로 표현하자면

    "재밌다".

    C++에 오랫동안 목매달고 살아서 그런지, 그 외의 모든 언어는 쉽고 재밌게 느껴질 때가 많습니다. 특히 Python, Javascript, Ruby 등을 다룰 때 묘한 경쾌한 즐거움(?) 이 들 때가 있습니다. 심지어 Java로 코딩할 때도 어떠한 편안함과 안도감이 들더라고요. (이게 C++ 만 10년 판 대가인가.. ㅜㅜ)

    Javascript라는 언어 자체의 접근성과 편리성이 ES6와 async/await을 통해서 10차원 정도 향상되어, 이제는 자바스크립트의 아성을 무너뜨릴 언어가 10년 안에는 나올 수 없을 것이라는 강한 확신을 갖게 되었습니다. 사실 이 모든 게 React + Typescript + ES6의 조합이라서 가능한 것 같습니다. 웹 프로그래밍하면 떠오르는 "스파게티 코드"가 나올 수 없도록 막는 강력한 "장치"가 생긴 덕분에 모든 것이 시너지 효과를 보게 되는 것 같습니다.

    사실 UX나 Device 관련 일을 제대로 해본 적이 없었지만 소프트웨어 개발이 거기서 거기겠지 하며 뛰어들었습니다. 그런데 생각보다 많이 달랐습니다. 비단 개발 언어나 프레임워크의 차이를 뛰어넘어 문제에 대한 접근 방식, 특유의 개발 문화, 릴리즈 방식, stakeholder 와의 소통 방식 등 많은 것들이 새로웠습니다. 덕분에 단말 쪽 일을 해본 적이 없어서 막연하게 상상만 했던 것들에 대해서 조금 더 자세히 알게 되었습니다. 이 경험으로 서비스 개발에 발목을 잡는 여러 가지 상황들에 대해서 조금 더 깊은 인사이트를 가질 수 있게 된 것 같습니다.

    백엔드와 프런트엔드는 떼려야 뗄 수 없는 관계이고, 최고의 결과물을 내기 위해서는 서로 긴밀하게 협조하는 것이 필요합니다. 하지만 현실적으로는 쉬운 문제가 아니지요. 어떠한 기능을 추가하거나 문제를 해결하려고 할 때, 서버에서 하느냐 단말에서 하느냐는 늘 논쟁거리입니다. 서버팀은 서버팀 나름대로, 단말팀은 단말팀 나름대로 핑곗거리가 있게 마련인데 이를 어떻게 조율하고 결정 내리느냐는 프로젝트의 성패에 정말 큰 영향을 미칩니다. 서버사이드, 클라이언트 사이드, 그리고 풀 스택 모두 겪어본 경험이 이런 부분에서 많은 도움이 됩니다.

    저도 언젠가는 개발 프로젝트 전체에 영향을 미칠 수 있는 포지션에서 일하게 되길 꿈꿔봅니다. 꾸준히 가치를 높이다 보면 언젠가는 한국에서도 러브콜을 해주겠죠? ^^

    댓글

Designed by Tistory.