RiotGames Korea – Dreaming for the Future 영원한 개발자를 향해서. 월, 13 1월 2025 13:44:09 +0000 ko-KR hourly 1 https://wordpress.org/?v=4.7 108384747 라이엇: 6년 3개월의 기록 /index.php/2021/11/13/footprints-in-my-riotgames-days/ Sat, 13 Nov 2021 13:31:32 +0000 /?p=870

Continue reading ‘라이엇: 6년 3개월의 기록’ »]]> 말그대로 파란만장했던 시간이었던 것 같다. 즐거웠던 기억도 정말 치열했던 기억도 다양하다.

좀 더 업데이트를 하겠지만, 그래도 그 시간의 추억을 기록해둬야 잊지 않을것 같아 남겨둔다.

2015년

배운것도 많았고, 좋은 사람도 만났던 네이버 시절을 마무리하고 7월, 라이엇에 입사했다. 글로벌 회사는 어떻게 일할까 싶은 기대를 안고 첫출근.

구글이나 마이크로소프트와 같은 글로벌 회사에 대한 환상이 있었던 것 같다. 약간의 실망? 걍 한국 회사네?

그럼에도 즐겁게 라이엇 생활을 시작했다. 입사 후 두달 채 안됐는데, 오리엔테이션 비슷한 교육이 본사에 있고 당근 다녀와야한다고 하네! 오!!!! 미국 출장을 가긴 가는구나~ 난생 처음 미국행 비행기에 올랐고, 함께 가는 친구들과 “우리가 언제 미국 본사에 와 보겠나?” 라는 생각으로 교육 후에 돌아볼 만한 명소들을 돌아봤던 것 같다. 사실 교육이기 때문에 뭐 그닥 업무라는 건… 본사 구경도 잘 하고 LA 구경도 잘 했다. 뭐 언제 또 출장을 오겠어.

10월에 월챔 웹 사이트를 급하게 만들어야 한다고 요청이 들어왔다. 글로벌 사이트가 있는데, 왜 이걸 다시 만들어야할까? 상황을 보니 만들어야 했다. 웃픈 현실이라고 해야할까?

처음으로 미국 친구들과 일을 시작했다. 처음에는 메일로, 그러다가 행아웃 채팅으로. 매우 재미있었던 건 영어로 말하는 사람이 제한적인 거. 다들 똑똑한 사람들이고 영어도 배울만큼 배웠는데 본인들 입으로 이야기하는게 아니라 다른 사람들 입을 빌려 이야기할까? 신박하달까? 직접 이야기하겠다고 말하고 본사 친구들이랑 작업을 했다. 시차라는거 정말 블러커다. 몇일 걸리지 않을거라고 생각했던 작업을 마무리하는데 한달이 걸렸다!!! 설마 여기와서 밤을 새겠어 했지만 시차때문에 몇일을 밤샜던 것 같다.

이후에 올스타 웹까지 만들어야 한다고 해서, 출장 다녀오겠다고 했다. (한국에서 작업하는거 힘드니 출장가는게 좋을거라고 꼬득인 친구… 얼굴 본지 오래됐네.) 무려 혼자! 혼자 뱅기타고 혼자 호텔에서 잠자면서 본사 친구들과 2주 동안 작업했다. 행아웃으로 이야기할 때 “싸가지없는 놈”을 실물로 봤고, 오해였다는 걸 알았다. 친절하고 착한 친구였다. 더불어서 서너명 eSports Web 담당하는 개발자 친구들과 PO를 사귀었다. 2~3주 이렇게 있다면 말 그대로 친구가 된다. 이때 사귄 호주에서 온 여전히 좋은 친구도 있다.

2016년

기술 부채 갚아나가기

급한 작업을 일단락 후 왜 이런 작업을 반복해왔는지 고민했다. 한국만의 특성이 과도하게 반영된 한국의 계정 체계가 만악의 근원이었다. 하지만 이걸 당장 고칠 수 있는 상황은 아니니 우선 인증 시스템부터 센트럴 시스템과 맞추자라는 생각했다. 여기서 발견한 또 다른 만악의 근원. “.co.kr” 도메인. 한국적이지만 시스템적인 통합에는 확실한 걸림돌이다. 형식이 아니라 내용과 진심이 전달되는게 정답이다. 이 정답을 향해 가자!

사실 문제가 이것뿐이겠나? 한국 시스템의 문제도 있었지만, 한국 요구 사항을 본사 시스템도 받아들이기에 아직 준비가 안됐다. 뭐 별수 있나? 또 비행기탔다. 새로운 친구들도 사귀고 두어번 관련 출장 이후에 한국에서도 미국쪽 인증 시스템을 사용할 수 있게 됐다. 과정에서 어떻게 하면 한국에서 운영하는 계정 시스템을 본사 시스템과 통합할지 생각하기 시작했다.

출장 후 돌아와보니 얼떨결에 팀장이 됐다. 개발만 할려고 왔던 건데…

핵과 욕설의 시대

2015년부터 커뮤니티에서 이슈가 되던 핵과 욕설이 본격적으로 무대로 올라왔다. 물론 그 전부터 문제를 인지했고, 해결 방안들을 내부적으로 계속 고민해왔다. 이정도면 대응이 가능하다고 한국 오피스 내부에서 계획을 수립하고 준비를 시작했다. 다만 글로벌 시스템들이 이미 있는데 “왜 그렇게까지 할 필요가 있냐?” 라는 본사 각 영역의 담당자들의 반대가 있었다. 아무리 글로벌 회사라고 하지만 플레이어들이 플레이하는 방식은 다르다. 어찌보면 그게 문화라고 지금도 생각한다. 하지만 글로벌 서비스를 통해 해결해야한다라는 취지의 반대가 크게 발목을 잡았다.

한국팀에서 서비스를 개발한다고 하더라도 센트럴 팀의 도움을 받아야 한다. 불행히도 도움받아야 할 서비스에 대한 오너십(Ownership)은 센트럴 팀들에 있었다. 대응 가능한 한국 서비스를 만들어가는 과정에서 이 컨텍스트(Context)를 이해시킬려고 안되는 영어로 정말 많이 노력했다. 하지만 오너십은 정말 큰 허들이었다. 한국 서비스를 접목시키기만 하는데 그 과정이 정말 치열(처절)했다. 많은 사람들의 노력으로 완벽하진 않지만 한국 시스템이 준비됐지만, 여전히 하나의 서비스를 거스르는 한국 시스템에 대한 반대는 남아있었다.

한국 리더십에서 이 문제를 풀려고 몇번이나 태평양을 왕복했지만, 결론은 앞으로 나아가지 못하고 공회전 상태였다. 결국 한국 리더십에서 결정했다. 물론 준비에 대한 확신이 있었지만 믿기지는 않는 결정이었다. 대단했다!! 한국 서비스 시스템들을 턴온했다. “일해라 라이엇!“의 핵심인 서비스들이 릴리즈됐다. 반응은 말 그대로 대박이었고, 롤을 접었던 플레이어들이 다시 돌아오기 시작했다.

2017년

치열함 이후의 평온함. 2017년은 평안했던 것 같다.

센트럴 개발팀 방문!

치고박고 겁나 싸우던 본사 개발팀이 한국으로 온단다. 엥? 사업팀이나 PO가 아니라 개발자들이 온다구?

사실 한국 오피스를 셋업된 이후에 본사 개발자들이 한국팀과의 협업을 위해서 방문한 첫번째 사례였다. 더구나 온전히 한국팀이 개발한 서비스에 대한 지식을 얻고, 협업을 목적으로 온다고 하니. 개인적으로 매우 신났다! 오기전에 한국팀에 궁금한 점과 한국팀에서 협업하고 싶은 부분들을 정리했다.

정말 회의에서 서로 욕하기 직전까지 갔던 친구들이 드디어 사무실에 등장했다. 역시나 얼굴보고 이야기해보니 달랐다. 문화가 다르면 접근하는 방법도 달라야 한다는 부분에 공감대가 생겼다.  비로소 그 친구들도 왜 우리가 이렇게까지 서비스 개발에 매달렸는지, 왜 한국 서비스가 글로벌 서비스보다 더 잘 동작하는지 이해했다. 그리고 2주간에 걸쳐서 한국 사무실에서 함께 작업을 했다. 물론 쏘주는 덤이었다. ㅎㅎㅎ

서로가 서로에게 쌓인 오해를 풀게됐고, 이 친구들 가운데 베프도 하나 생겼다. 나중에 출장갔더니 얻어먹었다고, 본인들 회식 자리에 데꾸가서 신박한 LA 음식 먹을 기회도 줬다는… (하지만 나에게는 역시 한식이…)

로열티, 숙원 사업을 시작하다.

한국의 비지니스를 담당하는 큰 축 가운데 하나가 PC방 사업이었다. 초기에 사업을 진행하기 위해 센트럴 팀이 이 시스템을 만들었는데… 비지니스는 한국에서 하는데 서비스 개발은 센트럴 팀에서 진행하다보니 많은 어려움이 있었다. 소통도 문제고, 시차도 문제고. 플레이어분들도 고통이고 업주분들도 고통이고 서비스를 운영하는 우리도 고통이었다. 이 고통을 센트럴 팀에 전달하는 것도 또 고통!!!

대차게 이 서비스를 한국팀에서 오너십을 가지고 재개발하겠다고 선언했다. 관련 팀들에게 이 프로젝트의 진행을 알렸다. 센트럴에서도 이 서비스에 대한 이해가 부족했고, 계속 문제가 발생됐던 영역이었기 때문에 반겼다. 계륵이라고 생각되던 서비스였기 때문인지 모르겠지만 순조롭게 한국팀의 오너십을 인정했고, 개발 팀을 셋업하고 2년이 넘는 긴 여정이 시작됐다.

2018년

새로운 준비의 시대가 도래했다.

LCK 그리고 앱!

LCK 리그의 격변이 시작되는 시점이었다. 종로에 경기장도 만들기로 했고, 자체 방송을 하는 것으로 결정됐다. 그리고 이걸 데이터 서비스의 형태로 만들어보자! 앱으로!!

전사 과제로 결정이 됐고, 앱을 개발할 수 있는 역량있는 개발자들도 뽑고… 9개월쯤의 긴 여정끝에 Ice Boxing하는 것으로 결론. 가장 결정적인 이유는 앱에 대한 전사(글로벌) 정책이었다. 앱이 한창 흥하던 시절이었고, 사내에서도 서비스 앱을 만들자는 것이 붐이었던… Awesome! 이라는 이야기를 많이 듣긴했지만. 무분별한 앱 개발에 대해 새로운 정책이 생겼다. 사실 우리만 앱을 개발할려는 건 아니었으니까. 이 정책을 비껴갈 수는 없었다. 라이어터니까.

이 프로젝트를 진행하면서 느낀 또다른 시사점은 오너십이었다. 본사와 매번 이 오너십때문에 치고박고 했는데, 정작 우리 스스로에게 요구되는 오너십에 대한 고민은 적었던 것 같다.

일을 하는데 오너십이라는 것으로 뭘까? 스스로 재미있는 일을 한다는 것과 결과를 만들어내기 위해 주도적으로 하고, 한 일에 대한 책임을 온전히 감당하겠다는 자세… 많은 생각이 들게 만들었다.

이 프로젝트는 중단했지만 이후 다른 프로젝트에 개발된 기술/경험들이 요모조모 사용됐으니까 만족한다.

롤 그 다음 게임

슬금슬금 롤 다음 게임에 대한 이야기가 나왔다. 한국에서도 본격적으로 멀티게임 시대를 위한 준비를 시작했다.

멀티게임 시대를 위한 첫번째 여정은 이를 감당할 수 있는 조직 만들기. 명목적으로만 존재하던 팟(Pod)이라는 조직을 구체화하고, 역할을 명시했다. 팟은 서비스 조직으로 서비스 중심으로 팟이 서비스 담당과 유지보수를 주도적으로 수행한다. 서비스가 없어지기 전까지는.

다음으로 필요한 것들은 적폐청산! 소위 기술 부채라 불리는 것들을 없애는 것이다. 운영이 급격하게 돌아가다보니 이 부분을 안고 갈 수밖에는 없었다. 하지만 새로운 게임이 출시됐을 때 이 부채들이 발목을 잡았다. 나아갈려면 먼저 이것들을 치워버려야했다. 청산해야할 적폐들이 어떤 것들이 있는지 파악했다. 쌓인 부채가 어마어마하기 때문에 한번에 이 부채들을 털어버릴 수는 없었다. 부채를 점진적으로 갑아나갈 방법과 그 사이에 이자를 어떻게 낼지등도 함께 고민해야했다.

신규 게임이 출시된 이후까지 이 기술 적폐 청산이 마무리되지는 않았다. 하지만 부채를 부채로 인식하고 갚아나갈려고 하는 노력을 시작했다는 것이 중요하다. 당장 할 수 없다고 안하면 결국에 부채가 이자 포함해서 어마어마한 눈덩이라가되어 굴러온다.

2019년

롤 다음 게임이 구체화되었다. 한국에서 여러 게임들을 운영한다고 했을 때 필요한 것들. 이것들을 정리하고 개발할거라고 선언하고.

정말 부지런히 태평양을 오고갔다. 소위 Game Agnostic Service 체계로 만들고, 특정 게임에 대한 의존성을 최대한 없애기 위해 노력했다. 여전히 가장 큰 어려움은 한국이라는 지역의 플레이어들과 운영의 특성을 함께 협업해야할 게임팀을 비롯한 플랫폼 영역의 팀들에게 이해시키고, 협조를 끌어내는 것이다. 부단히 노력했고, 로열티 서비스와 Anti-Addiction Service, 한국말로 하면 셧다운제? 를 기존 서비스들을 대체해서 여러 게임에 하나의 플랫폼으로 적용하도록 개발시켰다. 계정도 롤 기반 계정에서 라이엇 계정으로 한국 환경에서 운영되도록 만들고…

와중에 좌충우돌하는 다른 지역 팀도 좀 도와주고. ㅎㅎ 우리도 바빠 죽겠는데, 다른 지역을 도와주는게 실화냐고 욕도 좀 먹었다. 하지만 한국팀의 존재감을 다른 팀들에게 톡톡하게 보여줬고, 고맙다는 이야기도 들었다. 그럼 된거지.

버라이어티했던 것 같다.

그리고 롤 다음의 첫번째 PC 게임, “레전드 오브 룬테라” 서비스 준비를 마쳤다.

2020년

2019년 말에 코로나라고 하는 신박한 병이 발병하더니 전 지구를 휩쓰는 전염병이 되었다. 2월말에 이 와중을 뚫고 마지막 출장을 다녀왔다. 한국에서 본격적인 PC방 서비스를 제공할 “발로란트”의 운영 환경 준비를 위해.

모든 준비를 마치고 한국에서 이제 제대로 RiotGameS가 되었다. S의 무게감이 엄청 무거웠고, 정말 열심히 준비했던 것 같다.

  • 1월 – 레젠드 오브 룬테라 베타 시작.
  • 4월 – 발로란트 베타 시작. 레전드 오브 룬테라 정식 및 모바일 시작.
  • 6월 – 발로란트 정식 서비스 및 PC방 서비스 시작.
  • 7월 – 와일드리프트

이제 남은 기술 부채 해소에 전력을 기울여서 Seamless service environment를 만들어야 할 때다.

해야만 하는 일을 하는 시대를 끝냈다. 이제 우리가 할 수 있는 일들은 뭘까를 고민할 시점이다.

2021년

게임을 넘어서 다음 여정의 방향은 어딜까? 한국팀이 가지고 있는 서비스들의 역량을 강화하는 것이었다. 지속적인 서비스를 한국 플레이어들에게 제공하기 위해서는 반드시 필요하다. 한국은 사업과 개발이 정말 굉장한 시너지를 내고 있는 팀이었다. 이런 시너지가 계속 이어지게 하기 위해서는 “역량”이 필요하다고 판단했다.

우리가 개발한 서비스들은 한국 환경이라는 목적을 가지고 처음 개발이 시작되었지만, 이제는 다른 곳에서도 이걸 활용할 수 있는 여지도 생겼다.

명분, 기회, 가능성…

여러 단어들이 있을 수 있겠지만, 나의 여정은 여기까지.

10월의 마지막 근무일에 나의 라이엇 여정은 막을 내렸다.

이제 남은 사람들의 몫이다.

 

 

]]> 870
라이엇게임즈 코리아에서 개발자분을 모십니다. /index.php/2020/11/12/riotgames-korea-2020-hire/ Thu, 12 Nov 2020 08:05:16 +0000 /?p=809

Continue reading ‘라이엇게임즈 코리아에서 개발자분을 모십니다.’ »]]>

라이엇게임즈 코리아에서 개발자분(들)을 모십니다.

가 나가긴 했지만, 아무래도 “한국의 퍼블리싱 조직에서 뽑는 개발자가 하는 일이 뻔하지 않아?” 라고 생각하시는 분들이 많으실 것 같습니다.  이렇게 이야기하는 것에 대해 십분 공감합니다. 대부분의 글로벌 게임 회사의 국내 법인에서 개발이라고 하는 것들의 대부분이 퍼블리싱 용도의 웹 개발이 전부인 경우가 허다하니까요.

하지만 라이엇은 좀 다르지 않을까요?

네, 단언코 이야기하는데 라이엇 게임즈의 한국 개발팀은 다릅니다. 한국 개발팀에서는 한국에 특화된 플랫폼 서비스를 개발합니다. 게임을 직접 개발하지는 않지만, 운영을 지원하기 위한 필수 시스템들을 개발합니다. 여러분들도 아시다시피 한국의 법률 환경은 타 국가에 비해 보다 엄격한 규격 준수를 요구합니다. GDPR을 표방하는 유럽보다 더 강력한 규정을 정의하고 있습니다. 또한 한국만의 PC방 문화는 독특한 비즈니스 모델을 가능하게 합니다. 물론 한글의 다양성은 플레이어간의 채팅에서 여타의 머신러닝조차도 떨게 만들죠.

한국 개발팀은 이와 같은 한국만의 특징을 글로벌 시스템과 통합될 수 있도록 관련된 서비스들을 개발하고 글로벌 개발팀과 협력합니다. Microservice Architecture 기반의 서비스 개발을 지향하여 빠르고 유연한 시스템 개발을 진행하고 있습니다. AWS 및 자체 IDC를 통한 서비스 배포 및 운영 능력을 갖추고 있으며, 여타 게임 혹은 인터넷 포털에서 경험해보지 못한 대용량 Traffic을 무중단 서비스하는 환경에서 서비스를 개발합니다. 물론 국내 법규를 최대한 준수하면서 다양한 사업을 지속 가능하게 지원하기 위해 DI(Dependency Injection)와 IoC(Inversion of Control) 기술은 기본 덕목으로 활용하고 있습니다.

물론 퍼블리싱 조직이기 때문에 웹과 관련된 기능도 지원합니다. 대부분의 퍼블리싱용 웹 개발은 협력 파트너를 통해 개발됩니다. 한국 개발팀은 이렇게 개발된 웹 컨텐츠들이 담당 비즈니스 매니저의 결정에 따라 자동으로 퍼블릭 환경에 노출될 수 있는 환경을 개발합니다.

한국 개발팀에서는 다음의 분야에서 일해주실 개발자분을 모십니다.

  • Loyalty service(Full Time, Backend) – PC방 비즈니스를 위한 혜택 시스템 개발
  • Accounts serivce(Freelancer, Backend) – 한국 계정 운영 시스템 개발
  • Frontend Engineer(Freelancer) – 한국 및 기능 개발

Backend 엔지니어는 각 3년 이상의 경력과 Java 개발과 관련된 기본 역량이 필요합니다. 물론 객체지향과 SOA 개념은 필수입니다. Freelancer분은 1년(혹은 6개월, 본인 희망에 따라)이 기본 계약 기간입니다. 프리랜서분께는 경력 대비 업계 최고 대우를 해드릴 예정입니다.

아래 기술들은 현재 라이엇 코리에서 활용하고 있는 기술들이며, 해당 기술들에 익숙하거나 경험이 있다면 강점이 되실 수 있습니다.

  • Reactive Java
  • Kafka and asynchronous stream processing
  • Docker and K8S
  • NoSQL (MongoDB, DynamoDB 등)
  • ReactJS, Redux, Recoil, Jest and Serverside Redering
  • AWS 전반

라이엇게임즈 코리아에서 부탁드립니다. 프리랜서로 지원하실 분들은 지원시 “프리랜서 지원“을 꼭 표시해주시기 바랍니다.

 

]]> 809
개발자에게 좋은 직장 혹은 좋은 환경 /index.php/2018/12/31/good-company-or-good-environment-for-a-developer/ Sun, 30 Dec 2018 15:04:25 +0000 /?p=627

Continue reading ‘개발자에게 좋은 직장 혹은 좋은 환경’ »]]> 직업이 뭐냐고 물어보면 “개발자”라고 서슴없이 이야기한다. 개발하는 직장인으로써 “행복하십니까?” 라고 질문한다면 나의 답은 “행복합니다.” 이다. 하지만 “행복”이라는 단어에 고민이 있다. 나는 직장인으로써 행복한 것인지 아니면 개발자로써 행복한 것인지. 혹은 둘다에서 모두 만족과 행복을 얻고 있는 것인지.

전 직장인 네이버에서 일할때도 초반에는 이런 행복이라는 단어를 이야기했다. 그때도 개발자로 시작을 했지만, 성과를 인정받고 일을 리딩하는 팀장이 됐다. 리더는 이럴 것이다라는 나의 자화상과 팀원들의 기대를 섞은 형상이 되기 위해 최선을 다했다. 결론적으로 행복하지 못했다. 팀장, 리더라는 직책을 가진 직장인으로 행복하지 못했고, 개발할 시간을 1도 갖지 못한 개발자로써 행복하지 못했다. 더욱 심각한 문제는 나만 행복하지 못한게 아니라 함께 일하는 팀원들도 행복하지 못했다. 그리고 3년 반전에 현재의 라이엇 게임즈로 이직했다.

이직 후 현재까지 개발자로써 행복하다. 물론 라이엇 게임즈에서도 개발 리더의 역할을 하고 있다. 그리고 앞서 이야기한 것처럼 행복하다. 이 나이에 실제 코딩을 하고 있고, 과정에서 미처 몰랐던 것들, 새로운 것들을 계속 배우는 즐거움이 있다. 그리고 나이먹었다고 굳이 봐주지 않는 까칠한 동료들이 있다. 나는 내 기술과 경험과 코딩으로 사용자들이 실제 사용하는 시스템을 만들고 있고, 좋은 동료들의 도움으로 발전하고 있다. 더구나 새로움에 도전한다고 뭐라하는 말도안되는 거버넌스 같은 것들이 없다. 개발자에게 이만큰 좋은 환경이 있을까? 이렇든 저렇든 코딩을 직접하는 회사에서 이만큼의 행복한 조건을 찾을 수 있을까? 내가 보기에 감히 개발자에게 최고의 환경이다.

라이엇이 좋다고는 했지만 그럼 개발자에게 행복한 직장 환경은 뭘까?

개발이라는 직군(Discipline) 관점에서 살펴보자.

  • 능력이 아닌 실제 코딩 – 어떤 직책(Role)에 있던 개발 직군에 있는 사람은 코딩을 해야한다. 중요한 점은 할줄 아는 능력이 아니다. 실제로 코딩을 해야한다. 자, 먼저 여러분들의 주변을 둘러보자. 코딩보다는 문서를 만들고 있거나, 회의를 하고 있는건 아닌가? 혹은 의미없는 이메일 놀이? 본인의 시간을 코딩하는데 쓸 수 있어야 코딩을 할 수 있다. 그리고 코드를 통해 본인의 존재감을 인정해줄 수 있는 조직 문화가 있어야 한다. 회의에서 한마디 말을 하거나 문서/이메일 쓰레드에 자신의 필력을 발휘해야만 존재감을 인정받는다는 생각을 하는 소위 관료주의적 문화가 있다. 이런 문화는 개발자가 코드로 기여하기보다는 정치질하기 쉽다. 코드짤 시간도 인정하지 않고, 회의에서 말 한마디 못한다고 갈구는 분위기이고, 본인은 개발자로 남길 원한다면 그 조직에 오래 남을 이유는 없을 것 같다.
  • 피드백 줄 수 있는 동료 – 코딩은 글쓰기랑 비슷하다. 글쓰기 능력을 높이는 좋은 방법은 2가지 다. 첫번째는 많이 써보는 것이고, 두번째는 쓴 글을 다른 사람들과 돌려 읽는 것이다. 다른 관점에서 살펴본 피드백은 좋든 안좋든 본인이 작성한 내용을 뒤돌아보게 만든다. 코딩도 마찬가지로 피드백이 있을 때 더 빠르게 발전할 수 있다. 코딩의 피드백을 가장 잘 줄 수 있는 사람은 같은 일을 하는 개발자다. 같은 일을 하고 있기 때문에 코드의 목적을 공유하고 있고, 다른 관점에서 제대로 코드의 문맥이 제대로 읽히는지 봐줄 수 있다. 개발 시간은 3개월이더라도 완성된 코드는 6개월, 1년 혹은 몇년 동안 운영된다. 과정에서 변경은 필수이고, 변경할려면 제대로 읽혀야 한다. 제대로 읽히는지 피드백을 주는 동료가 있다면 그만큼 읽힐 수 있는 코드, 품질 높은 코드를 작성할 기회가 더 많아진다. 자신보다 잘하든 못하든 상관없이 진심으로 읽고 주는 피드백은 충분히 값어치를 한다.
  • 도전 – IT 환경만큼 빠르게 변화하는 세상이 없다. 개발 환경 뿐만 아니라 사용자 환경도 마찬가지다. A 기능이면 만족하던 사용자들이 AAAAA 기능이 아니면 안된다고 하루 아침에 돌변한다. 바뀐 환경에 대응할려면, 본인이 가지고 있던 밥그릇을 버려야 할 때도 있다. 어떻게 해야할까? 개발자라면 도전해야한다. 밥그릇이 아닌 접시를 원한다면 이제 접시를 만들러 가자. 새로움에 도전하는 사람이 있다면 응원과 관심이 필요하다. 성공하든 깨지든 과정의 경험은 도전한 사람에게 값진 경험으로 남는다. 도전이 일상이 될 때 혁신이 이뤄지고, 조직은 더욱 발전한다. 개인의 도전을 장려하고, 그 과정 혹은 결과를 조직 발전의 밑거름으로 삼으려는 조직에 있어야 개발자로써 더 나아갈 수 있다.
  • 성장 – 개발이라는 분야만큼 빠르게 변하는 동네는 없다. 자고나면 새로운 기술과 언어 그리고 프레임웍이 등장한다. 한국에서는 자바(Java)랑 스프링만 해도 충분해… 라는 생각을 가진 개발자들이 현실적으로 많다. 사실 그닥 틀린 말은 아니다. 하지만 이런 마인드가 ActiveX를 욕하면서 아직도 걷어내지 못하고 있는 것이다. Frontend와 Backend의 분리, Microservice Architecture, Cloud 등등이 최신 기술이라고 이야기하던 때는 이미 1~2년 전에 지났다. 프로토콜 관점에서도 세상은 이미 HTTP/2를 향해 나아가고 있고, Serverless와 AI, Machine Learning을 현실과 어떻게 접목할 것인가를 고민하는 시점이다. Java 언어 자체도 Imperative feature보다는 lambda를 필두로 functional language 관점이 주요 발전 뱡향으로 자리잡았다. 또 9 버전 이후 module 방식의 packaging 방식의 변화를 가져오고 있다. 이것들을 종합해보면 Concurrent 환경의 안전한 코딩과 빠른 실행을 담보하기 위한 체계로 전환해야 한다고 이야기하고 있다. 그럼에도 불구하고 당신의 조직이 “이걸로도 충분해” 라고 안주하고 있나? 성장하는 조직이라면 새로움에 대한 탐색과 이를 도전적으로 적용해보고 그 값어치에 대해 논의할 수 있는 것을 장려해야 한다. 이런 논의가 없다면 고인물이 되고, 시간이 흐르면 썩어버린다. 썩은 물은 두말할 필요없이 주변을 오염시킨다.

팀장이나 아키텍트라는 타이틀을 가진 사람들이 흔히 “내가 옛날에 해봤는데 말이야…” 라는 말을 내뱉는다. 옛날 언제? CPU가 1 Core였던 호랑이 담배피던 시절에? 혹은 “오라클 DB면 다 되네..” 라고 감탄하던 시절에? 바뀐 환경과 바뀐 프로그래밍 패러다임을 이해하지 못하는 사람과 함께 일하는 건 불행이다. 넓은 식견과 경험을 변화된 환경에 최적화된 코딩으로 녹여내기 위해 노력해야한다.

우리는 이런 노력이 결실을 맺기 위해 피드백을 주고, 시간을 줄 수 있어야 한다. 이 과정을 통해 성장한 사람이 결국 조직 구성원들에 영감을 준다. 이런 한 사람 한 사람의 노력이 모여 개발자 조직의 성장을 이끈다.

개발자라는 직장인 관점에서 행복한 직장 환경은 뭘까?

Good

  • 실행 가능한 비전과 목표 – 뜬구름잡는 듯한 구호는 의미가 없다. 비전과 목표는 실행 가능한 아젠다를 도출할 수 있어야 하거나, 무엇을 실행할지에 대한 지침이 되어야 한다.
  • 공유 – 무언가를 실행할 때 기술적이든 업무적이든 정보가 필요하다. 이런 정보가 투명하게 공개되고, 원할 때 찾아볼 수 있는 형태로 존재해야 한다. 그리고 다른 사람들에게도 이런 정보가 있음을 알려줘야 한다. 그래야 혼선을 최소화할 수 있고, 빠른 업무 진행이 가능하다.
  • 성취와 축하(Celebration) – 어떤 일이 됐든 방점이 없는 일은 사람을 지치게 만든다. 반드시 우리가 이 목표를 달성했다라는 성취감을 느낄 수 있어야 한다. 이 성취감을 통해 다음번 고지를 향해 나아갈 수 있는 자신감을 얻을 수 있다. 그리고 그 성취를 모두가 함께 축해해줘야 한다. 개인의 성취보다는 우리 혹은 팀의 성취가 되어야 하고, 그 성취를 조직의 모든 사람들이 다 같이 축하해줄 수 있어야 한다. 이런 시점에 회식은 꿀맛이다.
  • 실패 – 2보 전진을 위한 1보 후퇴다. 누구나 실패할 수 있다. 하지만 실패를 통해 배운 교훈이 있고, 이 교훈이 다음번 일을 하는 발판이 되어야 한다. 가장 어이없는 건 실패를 실패 자체로 비난하는 것이다. 이러면 누구도 두려워 일을 못한다. 아마도 성공할만한 일만 골라서 하지 않을까? 실패에서 팀이 어떤 Lesson and Learn이 있었는지, 그리고 같은 실수를 두번 되풀이하지 않기 위해 어떤 방식으로 다음번 일을 준비하는지를 봐야한다.

Bad

  • 경쟁 혹은 사내 정치 – 누구를 위한 경쟁인가? 아이러니컬하게도 사람은 3명 이상만 모이면 정치질이라는 걸 하게 되있다. 성과 중심적인 직장내에서는 특히나 이런 정치질이 심각하다. 내가 남보다 잘해서 성과를 받기 보다는 남을 깍아내려 상대적인 우위를 점하기 위해 이런 짓을 하는 경우가 심심치않다. 일에 대한 값어치는 “고객, 동료”들에게 평가받아야 하지만, 의도적인 깍아내림은 조직을 좀먹는다.
  • 단기성 금전적 인센티브 – 성과에 대한 보상으로 인센티를 왕창주면 어떻게 될까? 그리고 다음번 평가시에 이만큼의 인센티브를 받지 못하게 되면 어떻게 생각할까? 그리고 왕창 인센티브를 받지 못한 다른 팀 혹은 구성원은 어떤 생각을 가지게 될까? 결국 인센티브를 받을만한 일들만 골라서 구성원들이 할려고 든다. 왕창받지 못한 사람은 저성과자라는 인식을 스스로 하게 되거나, 혹은 성과 불평등에 대해 이야기하기 시작한다. 그리고 자신만이 높은 성과를 받기 위해 인위적으로 정보를 숨기거나 협업을 말 그대로 방해한다.
  • 회의(Meeting) – 회의는 말 그대로 여러 사람이 같이 머리를 맞대고 논의하기 위한 자리이다. 그리고 그 자리에선 대부분 결론이 도출되야 한다. 하지만 본인의 존재감을 드러내기 위해 회의에 들어온다. 하지만 그닥 참여한 의미는 없다. 되려 회의 시간만 길어진다. 최악의 회의 결론은 다음번 회의를 하자라는 것이다. 이런 회의가 비일비재하다. 회의가 소집되었다면 회의록이 있어야 하고 결론이 도출되어야 한다. 그리고 관심있는 사람들에게 회의록이 공유되면 된다. 본인의 소중한 1시간을 허비할 필요는 없이, 관심있다면 회의록을 살펴보면 된다.

불행한 직장인은 누구일까? 아마도 매일 매순간을 성과에 얽매여 두려움에 사는게 아닐까 싶다. 성과라는 것을 아예 고민하지 않을 수는 없다. 개인적인 주관이지만 개발직군에 있는 직장인으로써 이런 성과에 직접적으로 연연하기보다는 본인의 성장이 성과와 자연스럽게 연결될 수 있는게 최선이 아닐까 싶다.

본인 성장을 이룬 다는건 주변의 협조없이는 불가능하다. 그리고 조직내에서 이런 협조는 조직의 문화와 직접적으로 관련되어 있다. 그리고 궁긍적으로 이런 문화가 유지되고 발전되는건 그만큼 조직장 혹은 리더의 역할이 중요하다. 다행스럽게도 라이엇게임즈 코리아에는 이를 강력하게 지원해주는 리더십이 있다. 물론 이런 리더십을 뒷배경으로 각 개인이 열심히 하는 부분들이 있기 때문에 문화가 유지 발전되는게 아닐까 싶다.

새로운 2019년이 시작되었고, 앞으로도 기술 및 개발 조직 문화가 발전될 수 있는 환경이 되도록 일조해야겠다.

]]> 627