분열하는 제국 – 콜린 우다드

분열하는 제국

미국은 짧지만 굉장히 재미있는 역사를 가지고 있다.  책은 미국은 단 한번도 단일 국가인 적이 없었고 각 지역들은 그곳에 처음 정착해서 살았던 사람들이 구축해 놓은 특성들을 지금도 유지하며 살고 있다는 주장이 주를 이룬다.  놀랄 일은 아니다 나라 하나 자체로도 왠만한 한 대륙만한 크기를 지니는데 한 나라고 뭉쳐질 수 있었을까? 더더군다나 인종의 용광로 라고 불려지는 미국에서? 주장 자체는 겨울에 눈내리는 이야기 지만 11개의 분열된 나라들의 분류 방법과 여러가지 사실들이 곂쳐져 굉장히 유익하고 재미있게 읽을 수 있었다.

11개로 분열되 있지만 이런 저런 사건을 거쳐서 현재  정치적으로 가장 큰 특색을 드러내는 것은 민주당의 대표 지지세력인 양키덤, 공화당의 지지세력인 딥 사우스이다.

제일 인상적이었던 부분은 애팔레치언의 주요 구성원인 Scottish Irish로 영국에서는 주로 국경지역에 살던 호전적인 민족들로 브레이브 하트로 잘 대표된다. 지금 읽고 있는 Hillbilly Elegy 에서 잘 설명되는데 굉장이 소속된 그룹에 충성도가 높고 가족 중심적이며 법보다도 조직의 규칙을 우선시한다. 많은 젊은이들이 해병대 출신이라고 하니 어째서 조지아와 노스캐롤라이나의 차량들에서 해병대 스티커들을 많이 볼 수 있었는지에 대한 설명이 된다.

체로키 인디언에 관한 부분도 인상적 이었다. 원주민들은 미개해서 문명화 될 수 없다는 편견을 깨트리고 애팔래치아 지역에 자신들만의 서구화된 공동체를 건설한 민족. 그들은 11개의 민족중에 하필이면 제일 호전적인 부류들과 영토를 같이 했고, 앤드류 잭슨이 대통령이 되자 마자  그들의 땅에서 쫓겨나 강제 이주하게 된다.

그림출처 (https://americaforbeginners.wordpress.com/2012/08/11/guest-post-american-nations-a-history-of-the-eleven-rival-regional-cultures-of-north-america-by-colin-woodard-book-review-by-dr-george-simons/)

애플 페이 SRE 인터뷰 후기

Apple Pay

애플 페이 지원계기

애플 페이 SRE로 지원해서 결과가 나오기 까지 두달간의 결과를 정리한다. 애플이 조직별로 (애플 맵, 애플 페이 등등) 채용과정이나 HR정책등이 많이 다르다고 알려졌지만,, 참고용으로 정리해둔다.

링크드인에서 애플페이 채용공고를 보고 자세히 알아보게 되었다. 동경에서 일할 SRE를 찾고 있었는데 JD에는 스마트 카드 관련 우대사항은 적혀 있지 않았다. 아마 관련 경력을 가진 사람이 적어서 쓰지 않았던 것 같다.

전 회사에서 SRE조직과 일을 한적이 있었는데, 전체 시스템을 버드아이 뷰로 보는 장점이 있어서 관심을 가지고 있었다. 거기에 애플페이라니, 스마트 카드업계에 있을때는 선망의 대상이었기 때문에 망설임 없이 지원하게 되었다.  그럼에도 SRE관련 경력이 전혀 없었기 때문에 큰 기대는 하고 있지 않았는데 3일뒤에 코디네이터로 부터 연락이 와서 롯폰기로 와달라고 했다. 다른 소프트웨어 회사와는 다르게 애플은 일정도 물어보지 않고 날짜를 미리 지정해서 통보했다. 이때부터 다른 소프트웨어 회사와는 분위기가 많이 다를 수 있겠다고 생각을 했다.  보통 소프트웨어 엔지니어 면접 시에는 어떤 질문을 할건지 지침등을 알려주는데 예상 질문도 전혀 없이 “I would recommend you to read up about ApplePay technology.” 라는 답장만 왔다.

애플 페이 1차 면접

1차 면접은 롯폰기에 있는 모리타워에서 인터뷰어 2명과 총 3시간 동안 면접을 진행했다. 첫번째 면접관은 라쿠텐 출신의 주니어 경력을 가진 다른 SRE였다.

  • 앤서블 사용여부
  • 이전회사 릴리즈 프로세스
  • 스플렁크 써본 경험? 로그 어떻게 조회하나?
  • SSL에서 대해서 설명해봐
  • Two way SSL에 대해서 설명해봐 (디테일한 그림 그림)
  • TCP/UDP 차이점
  • 로드 밸런싱
  • 자바카드에 대해서 설명
  • 기타 등등..

일하게 될 팀의 가장 막내 SRE인것 같 같은데 사실 지식이 그렇게 깊어 보이진 않았다. 아마 인원이 소수이라 채용이 드물기 때문에 프로세스가 세련된 느낌은 받지 못했다. 중간 중간 질문을 하고 위키나 구글에 검색해서 확인해보는 모양이었다. 운영체제, 네트워크, 데브옵스 관련된 지식을 사전에 정리 해둔게 나름 도움이 되었다.

https://jvns.ca/zines/

https://blog.balthazar-rouberol.com/preparing-the-sre-interview

http://blog.marc-seeger.de/2015/05/01/sre-interviews-in-silicon-valley/

https://medium.com/netflix-techblog/netflix-at-velocity-2015-linux-performance-tools-51964ddb81cf

두번째 면접관은 중국계 매니져였다. 채용되면 boss가 될 사람이었는데 신기하게도 SK C&C를 잘 알고 있고 관련 사업들에 대해서도 궁금해 했다. 내 스마트 카드 관련 경력을 보고 자기가 적극 추천해서 진행하게 되었다는데, 그 말을 아 1차는 통과 하겠구나 라는 생각이 들었다. JD에는 써있지 않지만 스마트 카드 관련 개발을 해보았다면 애플 페이 조직은 집처럼 느껴질 것이라고 했다. 그외 질문들은 다음과 같다.

  • SRE는 업무 진행 중간에 인터럽트가 걸릴 수 있다 괜찮아?
  • 온콜에 대해서 어떻게 생각?
  • 지금 회사 뭐가 마음에 안듬?
  • SE를 사용한 모바일 월렛 거래를 그림으로 설명해 보시오
  • ISD가 다른 SD 영역에 접근할 수 있나? (스마트 카드 관련 질문)
  • 자바 해시맵 구현에 대해서 이야기 해봐
  • ECC 에 대해서 설명해봐

3시간의 인터뷰 였지만 사실 내가 예상 했던 것과는 달리 기술적인 질문들이 그렇게 전문적이진 않았다. 아마 SRE + 스마트 카드라는 특수한 조합 때문이라고 생각한다. 어쨌던 면접 본후 3일뒤 다음 면접 연락이 왔다.

애플페이 2차 면접

매니져 한명과 팀원이 2인 1조로 인터뷰를 가졌는데 매니져는 거의 대부분 인성 관련 질문을 했고 나머지 SRE는 본인도 입사한지 얼마 되지 않았다며 주로 이전 직장 관련 질문을 했다.

  • 배포 프로세스 설명해보라
  • 로그 저장, 처리에 대해서 설명해보라
  • 왜 컴퓨터 공학을 전공했나?
  • 첫번째 이직과 두번쨰 이직의 이유

몇일 뒤 미국의 시니어 매니져와 폰인터뷰를 가졌다. 번호가 표시되지 않는 페이스타임 음성 전화로 오전 9시에 40분 가량 이야기를 나눴다.

  • 여태까지 한일에 대해서 설명해봐
  • 압박을 받는 상황에서 어떻게 견디나
  • 배포나 모니터링할때 사용하는 툴에 대해서 설명해봐
  • ECC RSA의 차이점에 대해서 말해봐
  • CSR에 들어가는 제일 중요한 정보는?

전형적인 미국 쿨가이 였는데, 애플에 다니는 것이 얼마나 좋은지에 대해서 장황하게 설명했다. 애플 유니버시티가 있는데 그곳에서 노벨상 수상자의 강연을 듣기도 하고,, 여러가지 자랑(?)을 많이 했는데 확실히 동기부여가 되긴 했지만, 역시 일본지사와 미국본사의 차이는 어마어마 했음을 이때는 못느끼고 있었다. 이부분은 뒤에 후술함. 모든 기술적인 질문에 대답하지 못한건 없어서 나름 좋은 결과를 기대했다.

다음 주 화요일에 바로 응답이 왔는데 토요일날 면접을 본 시니어 매니져의 피드백이 전만큼 좋지 않다는 것이었다. (unfortunately, his feedback is not as positive as previous sessions).

하아, 당연히 합격이라고 생각하고 있었는데 이렇게 결과가 나오니 당황스러웠다. 하지만 아직 최종 결과가 나온건 아니라고 하니 불행중 다행이었지만 정말 면접은 아무도 모른다는 생각이 들었다.

애플 페이 3차 면접

그렇게 8일 정도가 지나니 갑자기 코디네이터 로부터 다음 면접에 대한 연락이 왔다. 하아, 애플,, 이렇게도 막무가내라니.. 그래도 연락이 온건 기쁜 일 이었기 때문에 다음 면접을 준비했다.

첫번째는 영국에 있는 SRE, 두번째는 미국에 있는 SRE 와 면접을 보았다. 관련 질문은 거의 첫번째 면접에서 물어봤던 기본적인 운영체제와 네트워킹 관련된 질문이 주를 이뤘고 개발철학, 쉘언어와 스크립트 언어중 선호도를 묻는 질문들이 이어졌다. 다분히 뭔가 정리되지 않은 느낌이 들었는데, 보통 3차 면접이면 임원이라고 생각하고 면접에 임했기 때문에 처음에는 약간 당황해서 헛발질을 했다. 영국이라 전화가 잘 들리지 않았기도 했고.. 어쩃던 각 40분씩 인터뷰를 2회 거치고 다음 연락을 기다리게 되었다.

애플페이 4차 마지막 면접

거의 20일이 지나서야 애플로 부터 연락이 왔는데 1차 면접에서 본 중국인 매니져와 다시한번 30분간 면접을 볼 수 있냐고 물어보았다. 여기까지 왔는데 안될게 있나.. 몇일 뒤 싱가폴 출장중의 중국인 매니져와 면접을 보았는데, 질문들이 조금 이상했다. 하청업체하고 일을 해야할 수도 있는데 일본어로 지시를 내릴 수 있을까? (일본어로 테스트 케이스를 작성해야 하는 이유에 대해서 설명.) 데이터 베이스 문제 해결방법, 스마트카드 관련 질문등.. 전혀 종잡을 수 없는 질문들을 물어보았다. 다른 인터뷰어들도 맘에 들어했다고 하는데, 한 미국인 매니져는 영어가 조금 부족한 것 같다는 피드백을 했다고 한다. 하지만 중국인 매니져의 영어도 그렇게 뛰어난 것은 아니었기 때문에 , 어차피 근무지가 미국도 아니고, 그래서 최종까지 보게 된 것 같았다.

결과

다시 20일(!) 정도가 지나서 결과를 받을 수 있었는데, 탈락이었다.  연락도 잘 안하던 리크루터가 그동안 애쓴것이 짠했는지 구구절절 이유를 설명해 주었다.  기술적 능력과 잠재력은 높이 평가했지만 최근에 해당 포지션의 JD가 바뀐것이 주된 이유였다. (Even though all members with whom you spoke very highly evaluated your technical skills and great potential, the JD had recently evolved into SRE+Project Manager+Quality Engineer hybrid role ).

결국 마지막에 프로젝트 관리와 관련된 질문은 그것 때문이었다.

총평

역시 실리콘밸리 회사도 아시아에서는 지사일뿐 이라고 느껴졌다. 특히 구글이나 아마존, MS처럼 자체 개발센터를 두지 않는 이상 일본이나 한국 오피스는 연락 사무소 정도 역할을 하게 되는 것 같다. 실리콘밸리 SRE가 프로젝트 관리나 QA까지 책임지지는 않을 터이니,, 복지나 연봉적인 측면에서도 차이가 분명히 있고 (그래도 일본애에서는 분명히 최상급 이었을테지만), 입사 후에 업무로 봤을떄도 확실히 미국 본사가 훨씩 핵심에 가까운 업무를 하고 있는 것 같았다. 물론 일본 애플도 통과 못한 실력으로 본사를 가긴 힘들겠지만,, 마지막에 JD가 바뀌어서 탈락했다는 사실은 그나마 작은 위안이 되어준다. 아직 프로젝트 관리나 QA업무를 하고 싶지는 않았기 때문에..

가나가와현에서 한국 면허 일본 면허로 교환 (切り替え)

일본 온준면허

가나가와현에서 한국면허를 일본면허로 교환 진행과정을 기록한다. 인터넷에 떠다니는 내용들을 보면 2-3번 방문은 예사인듯 하나 휴가를 오전 반차로 아끼기 위해 인터넷으로 많이 조사해보고 일찍 갔더니 니 거의 베스트 타임랩이 나온 것 같다. 7시반에 면허 시험장이 있는 후타마타가와(二俣川)에 도착, 7시 50분 쯤에 도착했지만 아무도 없어 해매다 8시에 대기번호 2번으로 접수했다. 일찍 도착하면 창구가 열려있지 않은데 자세히 보면 웨이팅 리스트가 있다. 그곳에 이름과 국적을 적자. 최종 면허를 손에 쥔 시간은 11시 25분. 면허시험장에서 보낸 시간은 3시간 30분 남짓. 공증시간을 제외하고는 반차로 막을 수 있었다.

발급 장소

神奈川県横浜市旭区中尾一丁目1番1号 운전면허 센터3층 외국 면허계

면허교환 신청장소
가나가와현 면허교환 신청 장소, 하단에 웨이팅 리스트에 이름을 쓰면 된다

교환시 필요한 것

  1. 한국 운전 면허증 (필수)
  2. 한국 운전 면허증 번역 공증(필수) – 면허증을 서식에 맞게 번역하고 대사관이나 영사관에 방문해서 공증을 받아야한다. 이것도 반나절 정도 필요한데 틀린 것을 한두번정도 수정해야 할 것이다. 한자는 그대로 입력하고 면허증에 나와있는 내용을 빠짐없이 번역 후 대사관을 방문하자. 대사관 직원이 친절하게 틀린부분을 알려주니 난이도는 낮은편.
  3. 영문운전경력증명서 원본(필수) – 한국에서 친절하게 인터넷으로 신청가능하지만 일본 면허시험장에서는 취급하지 않는다. 한국 경찰서나 대사관에서 발급 받자.
  4. 여권(필수) – 3개월 초심자 면제를 위해 과거의 여권도 전부 지참하자.
  5. 영문 출입국 기록증명서 원본- (있으면 좋음) 한국에서 면허 취득 후 3개월 이상 체류했다면 가져가자. 한국 여권은 출입국 기록 도장을 명확하게 찍지 않으므로 여권만으로는 파악이 힘든경우가 있다고 한다. 혹시 모를 경우를 대비해 이 문서를 가져가자. 이 역시 대사관,영사관에서 발급 가능. 4-5번이 없어도 초심자 면허로 발급은 가능.
  6. 주민표 등본 원본(필수), 마이넘버카드를 등록해 놓으면 편의점에서 출력가능하다. 꼭 국적도 표시하도록 설정하고 출력하자.
  7. 재류카드(필수)
  8. 신청용 사진 1 매(3.0cm×2.4cm) 시험장내에 700엔에 촬영할 수 있는 곳이 존재함)
  9. 시력검사만 시행하니 시력이 낮을 경우 안경을 지참.(컨텍트 렌즈 착용 여부도 물어봄)
  10. 교환(切り替え)에 2000엔, 면허증 발급에 2040엔의 인지대가 필요하다. 1종 보통의 경우 추가 비용을 내고 대형 + 원동기까지 신청할 수 있다.

접수 흐름

  1. 접수 창구에 이름을 적는다.
  2. 9시 부터 2명씩 끊어서 필요한 서류를 가지고 접수 창구로 간다. 신청서를 작성하는데 이름과 주소 정도만 적고 나머지는 직원들이 작성.
  3. 신청서 작성 후 한시간 정도 기다리면 신청서를 돌려준다. 다음 두가지 단계를 더 실행한다.
  4. 인지 구입, 보통의 경우 4,050엔, 2,000엔은 신청서에 붙인다.
  5. 지정된 기계로 가서 인증번호를 2번 입력하고 출력되는 바코드를 뽑는다.
  6. 다시 신청장소로 돌아와 서류를 제출한다.
  7. 30분정도 기다리면 시력검사를 실행하고 제출한 개인정보 서류들에 관한 동의서를 작성한다.
  8. 안내자를 따라 2층의 지정된 장소로 이동해 사진촬영을 기다린다. (여기서부터는 일반 면허 절차와 동일해짐 )
  9. 사진 촬영시에 인증번호가 출력된 바코드도 입력한다. 순서가 적힌 파란색 영수증을 받을 수 있다.
  10. 파란색 영수증에 나머지 2,050엔 인지를 붙인다.
  11. 지정된 발급 장소로 (가나가와의 경우 외국 면허계 바로 옆 창구) 이동해 자신의 번호를 기다린다. 본인의 경우 4번 이었다.
면허 교부 영수증

트랜스퍼와이즈 개발자 면접 후기

트랜스퍼와이즈

트랜스퍼와이즈의 싱가폴 IT 회사에 개발자 직군으로 면접을 보았다. 당분간 동경을 떠날 생각은 없었지만, 워낙 돌아가는 상황이 커리어적으로 도움이 되지 않았다. (참고, 개발자로서 6개월 살아본 일본생활 장단점 정리) 면접 연습겸 트랜스퍼와이즈 싱가포르 지사에 지원했는데 한달 간에 걸친 여정을 정리해 둔다.

트랜스퍼와이즈

트랜스퍼와이즈는 런던기반의 P2P 외화 송금 업체로 2011년 에스토니아 청년들이 창업했다. 핀테크 업체를 설명할 때 가장 자주 언급되는 회사중 하나이다.

(기사) 미래의 은행

(기사) 세계 최대 송금업체 트랜스퍼와이즈, 국내 핀테크 시장 진출

지원

글래스도어에서 검색 후 지원하는 곳의 사이트를 통해 이력서를 제출하였다. 참고로 전체적인 진행은 greenhouse.io 라는 Sass 서비스를 통해 이루어진다. 리크루터가 지원자를 관리하기 위해 사용하는 시스템인데, 이 덕분인지 프로세스가 전체적으로 굉장히 빠르고 피드백도 좋았다. (자동화 느낌이 나는건 어쩔 수 없다.) 2-3일 뒤에 트랜스퍼와이즈 리크루터로부터 연락이 왔고 스크리닝을 위한 짧은 면접 날짜가 잡혔다.

스크리닝

리크루터가 휴가라서 싱가폴 지사로 곧 옮기게 될 엔지니어 (우크라이나인)가 인터뷰를 진행했다. 다음 단계로 넘어가기 위해 말 그대로 한번 거르는 절차이다. 이 단계에서는 특별히 어려운 질문없이 자기소개와 현재 업무에 대해 질문받고 끝이났다. 싱가폴 쪽에서 직장을 구할 때는 일본어나 중국어 한국어를 할줄 아는게 나름 장점이된다고 느꼈다. (영어는 필수..) 엔지니어가 한국어와 일본어를 하는 엔지니어를 급하게 찾는다고 귀뜸을 받았다. 특히 일본은 연동 문서가 일본어로 되어있거나 일본 사이트 대상자가 영어를 못하는 경우가 많아 싱가폴에서 일본어 가능자를 찾는 경우를 꽤나 보았다. 자고 일어나니 바로 온라인 코딩 테스트를 위한 링크가 도착해 있었다.

온라인 코딩

해커랭크에서 출제된 문제를 한시간 반 안에 풀어야 한다. 객관식 20문제, 주관식 3문제, 온라인 코딩문제 3문제가 그것이다. 객관식,주관식을 다풀고 나니 40분정도가 지났다. ?코딩 문제는 leetcode에서 쉬움-보통을 드나드는 문제인데 평소에 자주 풀어보지 않았다면 검색해서 적는 것도 벅찰 것이다. 일단 문제 의도를 알고 있었기 때문에 기본 문제 풀이를 구글링 해서 찾은 다음 문제에 맞게 변경해서 정해진 시간내에 제출할 수 있었다. 제출된 문제는 다음과 같다.

  1. K-Difference
  2. Longest increasing subsequence
  3. Closest Great Vlaue in Bianry Tree

내가 몇점인지 확인할 수는 없지만 3번을 제외한 문제는 모두 정답이었 다고 생각한다. 그 다음날 기술면접이 언제 가능한지 묻는 메일이 왔다.

1차 기술

1차 기술은 한시간 반 동안 진행되었으며 두명의 엔지니어 (영국, 스페인 출신)가 참가했다. 초반 30분 정도는 자기소개 이후 다음과 같은 질문을 받았는데 조금 버벅거리긴 했지만 전부 제대로 대답했다고 생각한다.

  • MSA어떻게 하고 있냐
  • BST어떻게 동작하냐
  • POST와 PATCH 차이
  • REST설계 어떻게 하냐
  • 개인용 작은 블로그를 만든다면 어떻게 만들 것인가
  • 카프카나 큐를 써본적은 있는가
  • 언제 RDBMS를 쓰고 언제 NoSQL을 쓸 것인가
  • 해시셋과 트리셋의 차이

40분쯤 지난 시점에 문제를 내주는데 해커스 랭크의 온라인 코딩 툴로 접속해 문제를 풀게 된다.

여기서 접근을 조금 잘못 했는데, 알고리즘과 디자인의 혼합문제로 생각했어야 하지만 단순히 디자인 문제로만 접근을 시도하니 자꾸 인터뷰어와 어긋나기 시작하였다. 테스트 케이스를 먼저 작성하고 시작한 것은 좋은 점수를 받았지만, 자바의 작은 문법이나 디자인 패턴에 집중하는 사이에 가장 중요하다고 할 수 있는 효율적인 엘리베이터 배치에 대한 고려가 빠지게 되었다. 결과적으로 영어도 버벅이기 시작. ?실제 이문제를 한번이라도 경험해본 사람이 절대적으로 유리할 수 밖에 없는데 엘리베이터 알고리즘에 대해서 알고 있었더라면 이번 라운드로 기술 면접을 끝낼 수 있었을 것이다.

탈락할 수도 있겠다고 생각하던 차에 다음날에 바로 연락이 왔다. 한시간 짜리 기술면접을 다시 볼 수 있겠냐고. 피드백은 다음과 같이 굉장히 솔직했다.

Overall the team had some concerns regarding communication but wanted to give you another shot as they saw a lot of potential.

영어로 문제풀이를 하면서 엄청 버벅였던 것이 생각났다. 결국 잘 알지 못하는 것에 대해 어설프게 이야기 하다보니 허접한 영어가 나올 수 밖에 없었고 거기에 더해 행아웃을 통해 대화를 하기 때문에 더 잘들지 않았기 때문에 이런 피드백을 받은 것 같다.

2차 기술

1차에서 완벽하게 통과했다면 없을 과정이지만 한시간 정도 짧게 두명의 엔지니어 (스크리닝을 했던 우크라이나인, 시리아인)와 문제풀이를 진행하게 되었다.

이번에는 쓸데 없는 문법에 집중하지 않고 최대한 빨리 대략적인 구조를 잡은 후 ATM의 핵심이라고 할 수 있는 잔돈을 계산하는 방법에 대해 풀어 나갔다. 사실 이 문제도 어느정도 모범 답안이 존재하지만 짧은 시간내에 이것을 DP로 풀어내는 시도는 하지 못하고 굉장히 일차원적인 접근을 취할 수 밖에 없었는데 그럼에도 조금 씩 질문을 주고받으면서 한시간 내에 뭔가 동작하는 코드를 만들어 냈기 때문에 대략 80점 정도로 스스로에게 점수를 주고 합격할 것으로 예상 하였다.

프로덕트 인터뷰

싱가폴과 일본에 있는 마케팅 담당자 (일본인), 프로덕트 엔지니어 (중국계 미국인)와 면접을 보았는데, 주로 린 개발 방법론에 관한 것이었다. 쿠팡을 다니면서 많이 익숙해졌고 평소에 이 부분에 대해서는 뚜렷한 생각을 가지고 있었기 질문에 전부 답하고 합격을 예측 할 수 있었다. (본인의 대답과 인터뷰어의 반응을 종합해 보면 대충 답이 나온다. ) 물론 영어적으로 버벅거릴때도 있었지만 개발자로서 큰 흠이 될 만한 수준은 아니었다고 생각한다.

  • 기능 출시후에 어떤 메트릭으로 측정할것인가?
  • NPS는 떨어지고 Conversion rate는 올랐을 경우 어떻게 할것인가?
  • 특정기능을 이야기하고 그에 대한 MVP를 생각하기
  • 방금 대답한 것보다 조금 더 lean 한 방법은 없나?

바로 다음날 연락이 왔는데 (영국시간 9시에서 9시반 사이, 항상 이시간에 합격 연락이 와서, 한국시간 5시가 되면 항상 긴장하게 되었다.) 다음과 같은 피드백 이었다.

Overall the feedback has remained positive. People really like your motivation and passion for xxxxxxx, and although we think that we may have seen some slightly more technically strong candidates we do feel that you could pick stuff up well from the interviews so far.

Therefore we would love to set up the next step in the process which would be a 1-hour interview ideally on Google Hangouts. This would be xxxxxxxxxx and xxxxxxxxx, the VP of xxxx and one of the xxxx Leads.

기술쪽이 조금 불만족 하긴 하지만 사실 최종 이라고 해서 그냥 CTO하고 안면 트는 정도로 예상했지만 정말 설명 그대로 tough한 인터뷰가 기다리고 있었다.

최종 인터뷰

사실 인도인 VP가 들어왔어야 하는데 10분 늦게 영국인 엔지니어 리드만 입장 하였다. 사실 좀 알아 듣기가 힘들었는데, 인터뷰어가 굉장히 피곤해 보였으며, 끊임없이 컴퓨터로 메신져가 오는 와중에 그의 동공은 흔들리고 있었다. 집중하지 않고 있다는 인상이어서 조금 짜증이 났다. 한시간 넘는 기간 동안 다양한 질문들을 했는데, 몇가지 질문들은 전혀 이해할 수가 없어서 계속 Come again? 을 연발해야 했다.

  • 쿠팡에서 라쿠텐으로 왜 옮겼냐
  • 왜옮기려고 하냐
  • 우리 프로덕트 써봤냐
  • 뭐를 개선 시킬 수 있냐
  • 성공한걸 어떻게 측정할 거냐
  • 입사하자 마자 아무도 없으면 뭐할래?
  • 정렬된 배열은 어떻게 검색할꺼냐
  • 바이너리 서치, 왜 바이너리 서치가 제일 빠른가?
  • 정렬되지 않은 배열은 어떻게 검색할꺼냐
  • 기수 정렬이야기 했더니 기수정렬에 대해서 설명해보라,
  • 퀵소트에 대해 이야기 하니 더 자세히 설명해 보라..
  • 셀렉션 소트에 대해서 더 자세히 설명해 보라
  • 이체스 게임 디자인 질문(?),
  • 관련해서 이어지는 질문,,P2P, Server-Client 비교하고

사실 CTO면접으로 생각해 거의 Behavior 질문들에 대해서만 준비해 갔는데 기술적인 질문들만 집중적으로 받았다. 아마도 기술 면접에서의 피드백이 족쇄처럼 따라왔기 때문인 것 같다. 대부분 대답은 했지만 역시 중간에 질문을 잘 알아듣지 못해 커뮤니케이션이 끊긴 부분은 지금 생각해도 아찔하다.

이것으로 면접은 끝을 맺었는데, 개인적으로는 굉장히 뿌듯함을 느꼈다. 꾸역꾸역 배운 영어로 해외 엔지니어들과 대화해 최종 면접까지 보았다는 것은 나름 자심감을 가질만한 일이라고 생각한다. 실제 입사를 하게 될지는 모르겠지만 아, 이렇게 준비하면 원하는 곳을 갈 수 있겠구나 하는 느낌이 든다.

부족하다고 느낀 것

영어는 진짜 평생 공부해야 한다. 외국에서 살면서 좀 읽고 말할 수 있다고 착각했더니 실제 당황하거나 경험해보지 않은 것에 대해서 설명할 때 두배로 무식해 보이는 것 같다. 기술적인 지적들도 영어 때문에 더욱 도드라져 보였던 것은 많이 아쉽다.

물론 알고리즘과 문제풀이도 병행해야 한다. 다양한 경험이 정말 중요한게, 엘리베이터나 동전 교환 같은 문제는 따로 한번 풀어 봤다면 훨씬 좋은 기술 평가를 받을 수 있었을 것이다.

한국과 일본 물가 비교 – 2017년 동경 직장인이 본

동경 타워

일본 물가는 이직을 고려할 때 장점이 될 수 없다

한국과 일본 물가를 비교하는 기사들이 최근에 네이버나 다음에 자주 올라오는 것을 보았다. 개인적으로는 일본취업을 독려하기 위한 의도를 가지고 쓰여졌다고 생각한다.

직장인 일생활비 비교, “한국이 일본보다 ○만원 더 써”

결론부터 말하면 일본물가가 절대 한국보다 싸다고 말할 수 없다. 참고로 나는 한국에서는 물가가 비싼 편에 속하는 강남과 분당에서 직장생활을 했으며 1년간 동경에서 살았고 그 전에도 일본의 여러 곳을 여행 다녀 보았기에 비교를 위한 경험 지식은 가지고 있다고 생각한다.

교통비

한국은 대중교통 비용이 훨씬 싸지만 일본은 교통비를 지급해 준다. 한국의 경우 편도 2,000원 광역버스를 타고 출퇴근을 한다고 가정했을 때 대략적인 한달 출퇴근 비용은 10만원이 될 것이다.

하지만 일본까지 왔는데 집 <===> 회사만 왕복하다가 돌아가고 싶은가? 종갓집 김치 사러 신오쿠보에 가야할 수도 있고 에비스 맥주 한잔하기 위해 에비스로 갈 수도 있다. 동경을 자주 돌아다니는 사람은 상상을 초월하는 금액을 대중교통으로 지출하게 된다.

거기에 일본은 한국보다 전철에 대한 의존도가 높다. 의존도가 높다는 것은 사람이 많다는 의미이다. 출퇴근 시간대의 전철은 이래서 일본사람들이 공공장소에서 질서의식이 높구나 하고 생각할 정도이다. 정시도착율이 굉장히 높은것은 사실이지만 연착되거나 했을 때의 개인에게 미치는 영향도 훨씬크다.

그렇다면 신칸센이나 비행기 사정은 조금 나은가? 나리타 공항까지 가는 비용도 굉장히 비싸고 (하네다의 경우는 조금 낫지만 비행기 편수가 적고 비싸다) 신칸센의 경우 접근은 조금 낫지만 오사카까지 가는 비용은 편도 1만엔 이상이라고 보면 된다.

결론적으로 일본의 대중교통은 한국에 비해서 비싸고 덜 안락하다. 출퇴근 시간만 이용할 것이 아니기 때문에 이것은 중요한 사실이다.

식비

이것도 단순히 편의점 샌드위치, 맥도날드 햄버거, 마츠야 규동을 놓고 한국과 비교해서는 안된다. 1년 내내 저것들만 먹을 것인가? 한국도 바르다 김선생에서 크림치즈 김밥을 4,500원에 먹을 수 있다. 미스 사이공 쌀국수는 4,000 대 가격을 형성하고 있다. 한국 직장인들이 죽고 못사는 커피의 경우도 일본의 경우 스타벅스, 도토루, 툴리 정도를 제외하면 한국 만큼 선택할 수 있는 커피 브랜드가 적다. 비싼 스타벅스를 가지 않아도 빽다방에 가면 되지면 일본에서는 편의점 커피를 마실 수 밖에 없는 것이다.

노미카이(회식)의 경우 회사 규모나 분야에 따라 천차 만별이겠지만, ?1/N 하는 경우가 많은데, 회사 근처에서 제일 싼 이자카야를 가도 보통 3,000엔 에서 최대 9,000까지 나온다. ?억지로 끌려가는 한국의 회식보다 낫다고 생각할 수도 있지만 아무래도 ?일본에 와서 살때는 (특히 미혼의 경우에) 어느정도 외부와 교류도 하면서 살고 싶을 터인데 그때마다 3-4천엔씩 내는 것은 굉장히 부담이다. 흔히 한국에서 하는 것처럼 2차까지 가고 ( 4 * 2 = 8천엔), 라멘을 먹거나 가라오케를 즐기고 ( 1천엔 ) 통근 열차를 타고 (1천에) 돌아오면 하루 노미카이에 1만엔 이나 그 이상을 쓰는 일은 흔하다.

물론 이 부분에서 일본이 가지는 장점을 언급하고 싶은데, ?첫째, 가격과 그 품질이 예측가능하다는 것이다. 즉, ?스테이크를 먹고 싶으면 3,000엔 정도의 예산으로 이키나리 스테이크를 가도 되고 동네 근처의 맛집을 가도 비슷하거나 더 나은 맛을 보장한다는 뜻이다. 두번째는 식탁 물가가 안정되어 있다. 우유, 계란, 채소등의 가격이 한국보다 등락이 덜하다는 것인데 일본에서 농축산업을 사양산업으로 보지 않는 경향때문일 것 같다.

주거비

주거비는 의외로 간단하다. 한국에서도 월세를 살아야 하던 사람이라면 일본이 더 나을 것이다. 일본이 조금 더 개인간의 프라이버시를 존중하고 개인간의 거래도 조금 더 원만하게 이루어지는 경향이 있다. ?보험, 청소, 시키킨, 레이킨, 보증에 관해 잡다한 비용이 많이 발생하지만 적어도 2년동안 살집에 대해서 이런 비용을 지출하고 맘 편히 사는 편이 훨씬 낫다고 본다. ?다만 목돈이 존재할경우 한국처럼 전세를 기반으로 돈을 모으는 전략은 존재하지 않고 영주권 취득 후 저금리로 집을 사는 초장기전략 밖에 존재하지 않는 다는 것은 단점이다.

통신비

핸드폰의 경우 MVNO를 사용할 경우 한국보다 선택지도 다양하고 조금 더 싸게 4G를 사용할 수 있다. 하지만 대형 3사(도코모, AU, 소프트뱅크)로 넘어가게 될 경우 비등비등한 비용에 더 적은 커버리지, 낮은 속도를 감당해야 한다. 고속 인터넷은 일본에서 제일 맘에 안드는 것 중 하나이다. 부대비용도 많이 발생하고 설치까지 시간도 오래걸릴 뿐만 아니라 기본 비용이 한달에 3-4 천엔 정도 든다. (리베이트 옵션이 여럿 존재하긴 하지만 구조가 굉장히 복잡하고 추후에 캐시백해주는 시스템이라 실제 비용 계산이 굉장히 힘들다.) 한국에서는 브로드 밴드 비용으로 한달에 정확히 만원을 지출했다. 장기계약의 경우이기 했지만 여전히 압도적으로 싸고 편리한것이 사실이다.

저임금 노동자도 사람답게 살 수 있는 일본

사실 나는 운이 좋게도 가진 능력에 비해서 대우가 좋은회사에서 커리어를 시작할 수 있었다. 일본으로 건너오기 전까지 다녔던 쿠팡도 굉장히 괜찮은 회사였다고 생각한다. 그렇기 때문에 여기서 언급하는 비교들은 전부 양국에서 모두 좋은 회사를 다닐경우를 비교한 것이다.

다만, 한국의 취업상황이 좋지 않기 때문에 단순 알바나 규모가 조금 작은회사에서 고생을 하고 있는 사람들이라면 일본으로 왔을 때 훨씬 사람다운 생활을 할 수 있을 것이다. ?실제 저임금 단순 노동자와 지식노동자간의 월급 차이는 한국이 훨씬 크게 난다. 결과적으로 내가 한국에서 살면서 누렸던 편안함들은 다른 저임금 노동자들의 희생으로 이루어졌다고 생각한다.

일본에서 와서 얻을 수 있는 것

실제 일본에 와서 얻을 수 있는 것들은 금전적이 보상이 아니라 큰 맥락에서 일본문화에 대한 이해가 될 것이다. 그래서 애니메이션이나 게임을 통해 평소에 일보 문화에 관심을 가지고 있었던 사람들이 많이 넘어오는 이유기도 하겠다. ?아래에 실제 얻을 수 있는 것들은 정리해 보았으니 일본과 한국 사이에서 고민하는 사람들에게 도움이 되었으면 한다. 참고, 개발자로서 6개월 살아본 일본생활 장단점 정리

  • 글로벌 환경에 노출 – 동경에서 근무하는 것은 싱가폴,홍콩 보다는 덜하지만 한국보다는 글로벌한 환경이다. 회사가 그런 환경이 아니더라도 조금만 노력하면 다양한 외국인들을 만날 수 있다.
  • 일본에 대한 이해 – 일본은 분명히 배울것이 있는 나라이다. 특히 관리(Management)에 대해서 미국은 일본 제조업에서 많은 것들을 배워서 활용하고 있는데 다양한 분야에서 그 흔적을 찾을 수 있다.
  • 장기적인 관점에서 안정감 ?- 회사 생활이나 일상 생활, 인간 관계 모두에서 장기적으로 접근하는 것이 좋다. 일본에서 느끼는 안정감은 일본 사람들의 변화에 대한 신중한 접근에서 기인한다.
  • 뛰어난 지역관광 인프라 – 동경과 그 주변만 해도 너무나 다양한 볼거리가 존재하며 각자 독특함을 가지고 있다.

쿠팡맨 로켓배송은 왜 문제의 중심에 놓이게 되었나?

쿠팡맨 배송사진

쿠팡맨의 로켓배송은 왜 문제의 중심에 놓이게 되었나?

개인적으로 쿠팡과 쿠팡맨이 잘되길 바랬고 내부 직원뿐만 아니라 외부에서도 응원해줘야 한다고 생각했다. 그러나 현실은 아래기사와 같이 여러가지 잡음만 늘어날 뿐이었다. (컨슈머 와이드 전XX기자는 쿠팡 저격수를 자처하는 듯 싶다.)

그래서?쿠팡의 퇴사자로서 이전에 써놓은 글 (https://tacogrammer.com/archives/126) 에 이어지는 분석 글을 작성해본다.

관련 기사들을 자세히 읽어보면 그 사이를 위메프가 치고 올라오고 있다는 언급이 있는데, 위메프는 어떻게 아무런 문제없이(아니면 없는 것처럼) 쿠팡이 하고 있는 빠른 배송을 할 수 있을까?

외주와 직접 배송을 다루는 차이일 것이다. 그렇다고 보면 쿠팡쪽이 잘되는 것이 택배업을 하는 사람들에게는 좋은 일이 될거라고 추정한다. 하지만 잘 되지 않았다. ?오히려 언론에 비춰지는 쿠팡맨들은 불만이 가득한 듯하다. 다른 외주업무를 하는 택배사들은 어떠한가? ?쿠팡맨보다 훨씬 나은 처우에서 일하고 있을까? 그들이라고 문제가 없는 것은 아닐것이다. 젊은 사람들이라 불만이 많다는 이야기로 처우하기에는 복잡한 문제이다. 내가 생각한 문제는 다음과 같다.

쿠팡맨을 제외하고는 물류 부분에서 혁신이 일어나지 못했다.

쿠팡은 내외부적으로 기술회사라고 주장한다. 물론 개발자 관점에서는 쿠팡만큼 메이커스들의 자율성에 의해 움직이는 조직은 찾기 힘들다고 이전 포스트에서 언급 했다. 하지만 현실은 쿠팡의 많은 사용자들은 쿠팡의 훌륭한 IT서비스가 아니라 쿠팡맨 때문에 사용하는 사람들이 대부분이다.

내 부적으로는 수많은 개발자들이 물류관련된 시스템을 개발하고 있지만 아마존 처럼 경제의 규모를 달성하지 못한 이상 그 진행 속도는 더딜 수 밖에 없다. 정말 이부분에서 무었인가 기존의 택배사와 다른 무었인가 일어났는가? ?결국 대규모의 쿠팡맨을 채용해 고객과의 접점에서의 쿠팡의 불씨가 일어났다면 더욱 물류쪽에서 다른 혁신이 일어났어야 한다.

개인적인 생각으로는 애자일 개발팀 처럼 쿠팡맨들에게도 자율성을 가진 팀을 만들어 일할 수 있게 하는 방법은 없었을까? MSA의 피자 한판 팀처럼 풀스택 물류센터 팀을 구성해 자율적으로 의견을 내고 아이디어를 데이터에 기반해 검증하고 최종 적용하는 그런 과정들을 도입할 수는 없었을까? 물론 나는 개발자이고 내가 본것은 매우 한정적이라 매일매일 정해진 물량을 처리해야 하는 물류센터의 사정을 잘 모르고 하는 말일 수 도 있다.

하지만 분명히 내가 본 대부분 쿠팡맨들은 물류와 관련해 좋은 의견들을 많이 가지고 있고 의욕도 충만한 젊은사람들 이었다. 하지만 그들의 그런 의지를 레버리지 삼기 보다는 외국인 임원을 고용해 아마존 식으로 물류센터를 운영한 것은 아닐까? ?다소 제한적인 의견이지만 물류센터 내에서 진정한 로켓을 발견할 수 없었던 것은 확실해 보인다.

쿠팡맨에 대한 과도한 선심성 보상 공약

사실 쿠팡맨 뿐만 아니라 다른 직원들에게도 해당되는 이야기지만 달변가인 김대표가 직원들에게 뿌려놓은 기대감의 씨앗이 열매를 맺지 못했기 때문에 이는 배신감이 되어 돌아온 것은 아닐까? 실제로 스탁옵션에 관한 처우는 실리콘 밸리 채용과 국내 채용의 비교에서도 볼 수 있듯이 많은 이들이 쿠팡을 사랑하면서도 떠나는 이유가 되었다. ?쿠팡맨의 경우에도 실제 그들의 삶은 김대표나 회사에서 이야기한 유토피아와는 차이가 날 수 밖에 없었고( 혁신 없는 쿠팡맨은 친절한 택배 기사에 지나지 않는다고 생각한다.) 이 때문에 그들이 일반 택배기사보다 나은 환경에 있다고 추정되는 상황에도 들고 일어날 수 밖에 없는 것이다.

정부나 사회의 지원 (그렇다 우리 사회의 잘못도 있다.)

만약 ?쿠팡정도의 회사가 미국에 존재했다면 시장에서 알아서 잘 키울 수 있었겠지만 한국의 경우에는 더 척박한 환경에서 스스로 살아남아야 한다. ?하지만 그 과정에서 정부와 사회의 도움은 없어도 될까? 그냥 방목형으로 보이지 않는 손이 ?우버나 넷플릭스같은 기업을 만들어내길 기다렸어야 하나?

사실 그런 지원은 둘째치고라도 AI가 일자리를 위협하는 상황에서 그 질은 제껴놓더라도 만명이 넘는 일자리를 만들어낸 쿠팡은 칭찬 받아야 마땅했다. 정부의 정책과 사회의 ?이런 기업들이 ?더 자리 잡을 수 있도록 적극 지지했어야 한다고 생각한다.

하지만 박근혜 정부의 편애는 최순실 측근에만 그쳤고 야망넘치는 기업가들과 그 직원들의 꿈에는 방관했을 뿐이다. 사회는 어떠한가? 소비자들은 쿠팡맨을 응원하면서도 정작 그 미소와 친절에는 돈을 내고 싶어하지 않는다. 정당한 서비스와 상품에 대해서 제값을 쳐주는 문화가 사회에 자리 잡아야 하는데, 아직까지 대부분의 국민들은 택배비가 어떻게 무료가 될 수 있는지에 대해서 깊게 생각하지 않으며 더 많은 물질적인 풍요를 원하며 근시안적으로 소비하고 있다. 실제로 그런 문화가 자리 잡지 않는 이상 질 좋은 일자리의 수는 줄어들 수 밖에 없다고 생각한다.

관련링크

http://www.etnews.com/20170523000161

http://www.consumerwide.com/news/articleView.html?idxno=14762

http://biz.chosun.com/site/data/html_dir/2017/06/21/2017062101266.html

REST 아키텍쳐 레벨 3단계, HATEOAS 를 꼭 적용해야 할까?

HATEOAS가 이루고자 하는 이상과 현실의 차이가 존재한다. 개발과 의사결정 속도가 중요한 조직에서는 쓰지 않아도 좋다.

API 디자인을 시작하면서 뭔가 정말 제대로 REST 아키텍쳐를 만들고 싶어서 마틴 파울러가 쓴 REST성숙도 모델도 읽어보고 여러가지 자료 조사를해 보았다.

하나의 엔드포인트를 여러개의 리소스에 할당하기 보다 각 리소스를 그에 맞는 엔드포인트에 맵핑하고 API의 동작은 HTTP의 method를 동사로서 사용한다. 여기까지가 레벨2,대부분의 개발자들(백엔드,클라이언트모두 포함)이 이부분은 쉽게 이해하고 따라할 수 있지만 문제는 레벨 3부터 시작되었다.

하이퍼 미디어 컨트롤, 뭔가 멋진 단어들을 많이 모아 놓았지만 이 레벨은 HATEOAS가 적용되었냐 아니냐가 그 판단 기준이다.

REST API의 창시자인 로이필딩 (Roy Fielding)은 REST API는 반드시 하이퍼 미디어 드리븐이어야 하며 그렇지 않다면 그것은 REST가 아니라 RPC라고 주장한다. , 2008년의 글이지만 논문의 원저자이기 때문에 지금까지 미치는 파장이 적지 않은 것 같다.

HATEOAS의 장점

HATEOAS 를 적용하면 얻게 되는 장점이 무었일까, 당장 생각나는 것은 애플리케이션의 리소스가 상태머신(State Machine)으로서 해석될 수 있다는 것이다. 즉 상태머신이 가지는 장점을 API인터페이스에도 그대로 적용할 수 있다. 두번째는 API와 컨슈머의 결합이 느슨해진다는 점이다.

무슨 말이냐 하면 아래와 같은 응답이 있다고 가정하자. API응답을 봐도 상품 목록에서 이동할 수 있는 상태는 어떤것인지 짐작이 간다. 상품목록 API응답에서는 detail 과 order로 이동할 수 있다. 개발자의 입장에서도 API를 보면 다음 상태가 어떻게 변화할 수 있는지 예측이 가능하다.

두번째 느슨한 결합은, API 컨슈머 쪽에서 detail을 응답 받기위한 URL을 저장하지 않고 href 값을 얻어와 호출한다는 뜻이다. 그렇게 구현함으로서 컨슈머는 API 엔드포인트의 변화로부터 자유로워진다. (장점을 이렇게 적다보니 미래의 API에 적용하고 싶은 맘이 든다 위험하다. 하지만 이 포스트는 분명히 적용하지 않아도 좋다는 주장을 하기위함이다.)

</pre>
<pre>{
  "links": [
    {
      "rel": "detail",
      "href": "http://server/api/items/12345"
    },
    {
      "rel": "order",
      "method": "post",
      "href": "http://server/api/items/order"
    }
  ]
}</pre>
<pre>

하지만 그럼에도 불구하고 REST API의 사용 주체가 빠른 속도의 의사결정과 개발을 중시하는 웹 서비스 업체라면, 너무 아카데미컬한 주제에 파뭍혀 실제 문제를 해결하는데 집중하지 못한다는 비난을 들을 수도 있을 것 같다. 오히려 이런 문제들 때문에 GraphQL같은 대안들이 나오게 된것이 아닐까?

물론 이런 REST가 추구하는 이상은 소프트웨어 엔지니어로서 성취하고 싶은 것이나, 회사원으로서 서비스의 전개 속도도 빠트릴 수 없는 부분이다. 그래서 슬며서 이슈를 던져보고 대부분 사람들이 쉽게 이해하지 못한다면 HATEOAS는 적용하지 않는게 좋겠다는 결론을 얻었다.

Restful API를 문서화를 도와주는 swagger API같은 도구들도 오히려 HATEOAS의 도입을 저하시키는 이유가 된다. 개발자가 손쉽게 전체 API엔드 포인트를 파악할 수 있으니 어떤 가정을 가지고 API 를 탐색하게 되고 이것은 강한 결합으로 이루어진다. (예를들어 swagger 페이지를 보고 상품 목록은 GET /items, 상품 상세 정보는 GET /items/1 과 같은 유추가 가능하다. HATEOAS 개념을 이용하면 상품 목록 리소스에서 전환 가능한 변화들이 link에 나타나야 한다. ).

물론 swagger를 사용해도 HATEOAS정보인 link 를 참조하는 것이 가능하나, link 사용을 클라이언트에게 강조하는 것이 원천적으로 불가능하기 때문에, API 컨슈머가 특정 가정을 가지고 (= 결합) API를 사용해도 막을 방법이 없다.

로이필딩이 인정하지 않는 REST API 면 어떠한가, 실제 HATEOAS나 REST성숙도 레벨 3까지에 대한 이해가 존재하지 않는 조직이라면 원작자의 의도를 무시하고 RPC스타일로 사용할것이 확실하다.

관련 링크들

https://martinfowler.com/articles/richardsonMaturityModel.html

https://stackoverflow.com/questions/1164154/is-that-rest-api-really-rpc-roy-fielding-seems-to-think-so

https://stackoverflow.com/questions/1139095/actual-examples-for-hateoas-rest-architecture

https://www.infoq.com/news/2009/04/hateoas-restful-api-advantages

REST APIs must be hypertext-driven

https://opencredo.com/designing-rest-api-fine-grained-resources-hateoas-hal/

https://jeffknupp.com/blog/2014/06/03/why-i-hate-hateoas/

https://softwareengineering.stackexchange.com/questions/348054/is-rest-and-hateoas-a-good-architecture-for-web-services/348167

https://www.infoq.com/news/2011/11/web-api-versioning-options%3bjsessionid=326B76743A247A4FDF42738061443BFE

 

개발자로서 6개월 살아본 일본생활 장단점 정리

시부야 밤거리
검색으로 꾸준히 유입되는 글이라 2021년 9월 25일 내용을 갱신하였습니다.

일본생활 시작한지도 6개월이 다 되어간다. 최근 한국에서 일본으로 취직하러 많이 넘어오는 듯 하여, 혹시 도움이 될까 일본생활의 장단점을 적어본다. 주로 개발자의 관점이므로 라쿠텐의 Business 조직과는 차이가 있을 수 있다. 여기서 적는 내용은 주관적이지만 일본에 생활하는 많은 동료들이 공감하는 내용들이다.

점심시간에 타마강에서 산책

회사측면(개발자로서)

장점

  • 한국보다 업무 속도에 대한 부담감이 적다. (타임라인은 있음) +2
  • 장애가 한국보다 덜 난다. (훨씬 철저하게 검사하고 릴리즈. 물론 그래도 남.) +2
    • 지금 생각해보면 개발자 커리어로 보면 엄청나게 단점이다. 하루에 몇번씩 릴리즈가 일어나지 않은 환경에서 많은 성장 기회가 있을 것 같지 않음.
  • 한국보다는 자괴감들일이 없다. (남의 코드를 보고 잘짰네 난 왜이러지 이럴일이 없음) +1
    • 조금 건방진 태도일 수 있지만 적어도 웹 서비스 개발 부분에서는 코드 수준이 높다고 할 수 없다. 릴리즈가 잦지 않아서 점진적인 개선이 일어나기 힘들기 때문
  • 외국어로(영어,일어) 일한다. +1
  • 의사결정할때 뭔가 합의하고 가려는 건 있음 +1
    • 회의가 많다는 의미도 된다. 웹 서비스 개발에는 fail-fast 하고 점진적인 개선이 중요한데 가끔 답답함을 느끼게 될 것 이다.
  • 한국보다 사생활을 더 존중함 +1

단점

  • 신기술에 대한 거부감이 한국보다 높다 -1
    • 시간이 지나고 다시 생각해보니 이것 자체가 단점이라기 보다는 빠르게 가설을 검증해 볼 수 있는 시스템이 가춰지지 않은게 더 근본적인 문제인 것 같다. 어느정도 규모가 커진 실리콘밸리 회사도 현재 운영중인 시스템에 영향을 미치지 않는게 최우선. 다만 새로운 기술을 도입할 수 있는 구체적인 방법론이 사내에 존재하느냐의 여부가 차이
  • 기술잘하는 사람이 위로 올라가지 않음. 관리자가 올라감 -1
    • 2000년대 한국과 유사한 느낌
  • 퇴직금이 없다(회사별로 다름) -2
    • 실질 연봉에서 -10% 되는 효과가 있음
  • 한국보다 팀내 유대관계가 약함 -1
    • 이건 팀바팀인데 지금 생각해보면 여러 국적의 사람들이 있기 때문에 불가피한 측면이 있다
  • 브로큰 잉글리시가 많이 보임(본인포함) -1
    • 이건 영어권 국가로 옮겨보면 확 체감함. 내가 하던 영어는 영어가 아니었구나..
  • 불만을 이야기하면 잘 들어주지만 바뀌진 않음. -1
    • 뭔가 자연재해에 순응해 사는 일본 사람들 특유의 쇼가나이 마인드가 회사에서도 보임

생활측면

장점

  • 생활 스트레스가 적다. 한국보다 공공장소에서 배려가 많음. 물론 내가 그렇게 안했을 때는 혼남. +3
  • 외국이지만 한국하고 가까워서 자주 오갈 수 있다. 해외에서 살면서 한국에 명절마다 들어가는 일이 사실 쉽지 않은데 일본은 가능함 +2
  • 어딜가도 좋은 관광지가 많다. 멀리 가지 않아도 대부분 지역이 관광하기 좋게 잘 되어있음 +2
  • 초밥,라면 자주 먹을 수 있음 +1
  • 덕후라도 괜찮아 +1
    • 일본에서도 환영받는 다고 보긴 힘들지만 워낙 모수가 크고 원채 타인이 뭘하든지 큰 관심이 없다
  • 괜찮은 브랜드가 한국보다 싸다. (애플, 무지, 러시 등) +1
  • 한국 문화에 관심있는 사람들이 종종있음+1 (기분 좋고 거기서 끝)
    • 한국 사람들이면 BTS 취급 받을 거라고 착각하지 말길!

단점

  • 대중교통만 주로 이용하게 된다. (기름값은 싸지만 결국 주차가 문제..) -2
    • 독채(잇코다테)에 살지 않는 이상 한달에 고정 주차비가 발생하게 되는데 이게 거의 사람 한명 살 공간 구하는 비용하고 비슷
  • 한국보다 실질 수입이 거의 대부분 줄어들게 된다. -3
    • 앞서 언급한 퇴직금 뿐만 아니라 일반적으로 회사의 성장 속도도 일본이 느리다. 한국에서는 IT기업 상장으로 몇억씩 번 개발자들 이야기는 매우 흔하다. 하지만 유사한 이야기를 일본에서는 거의 들어보지 못했고 이죽한 지금도 일본 경제 규모에 대비 유니콘 숫자를 생각해보면 큰 변화가 있을 것 같진 않다.
  • 일본어를 못할경우 생활이 불편할 수 있음 -1
  • 물가가 한국보다 비싸다. (초밥과 라면 빼고 거의 조금씩 비쌈, 대신 질은 보장.) -1
    • 이건 COVID 사태 이후에 큰 변화가 있는 항목이다. 한국의 물가 상승률이 더 가파르다고 생각 되고 집값이나 장바구니 물가 관련해서 더욱 그런 것 같다. 다만 한국의 엔지니어 연봉 상승율 역시 일본보다 높다.
  • 카드만큼 현금사용이 많아서 불편함 -1
  • 일본인 특성상 현지 친구 사귀기가 힘들다 (한국인 제외) -1
  • 영화가 한국보다 비쌈(가격은 얼마 차이 안날지 몰라도 한국은 여러가지 옵션으로 인해 무료인 경우가 만흠) -1
  • 일본 뉴스에 나오는 한국소식은 대부분 안좋은 소식 (한국뉴스도 마찬가지인가?) -1

라쿠텐 특징

장점

  • 맛있는 삼시세끼가 공짜 (갈수록 질림) +1
  • 5시 반이 퇴근시간이다 (일본내 몇몇 다른 회사들도 그런듯 하다) +1
  • 후타코 타마가와의 위치, 동경외곽이라 출퇴근이 그나마 쉬움
  • 회사 근처에 구경하기 좋은 매장들이 많다 (다카시마야, 츠타야가덴 등)
  • 입사가 상대적으로 쉬움 (낮은 기술면접 난이도)
  • 외국인으로서 특별히 차별받는다는 느낌은 없음 (물론 매니져는 대부분 일본인.)

단점

  • 매일 화요일 아사카이, 7시까지 출근
  • 무의미한 회의가 꽤 있음.
  • 서비스가 쿨하지 않음, 메이커들도 ?쓰지 않음. 아마존이용
  • 사내 서비스지만 직원들 혜택은 전혀 없음
  • 미키 신성화
  • 입사가 쉬운 만큼 들어와보면 어떻게 이런놈이 (실력)
  • 팀내 에산이 전혀 없음. 회식해도 와리캉
  • 아이디 뱃지 패용 귀찮음
  • 메신져는 Jabber, Viber, Hipchat 을 혼용해서 쓰는데. 어느 것하나 업무용 으로 쓰기에 구림 (한국 처럼 On Call이 많거나 팀방에서 개인적인 대화를 하지 않아서 크게 지장은 없음)

한국의 서비스회사에서 라쿠텐 이직은 추천하지 않으며 많은 것을 잃게 될 가능성이 있다. 실제로 필자를 포함해 많은 사람들이 3년안에 다시 한국으로 돌아간다. 다만 라쿠텐은 한국에서 사라지는 추세인 신입사원 엔지니어를 채용한다. 심지어 한국에서도 채용해 데려가기 때문에 일본어나 영어에 가능하고 한국의 서비스 회사로 바로 가기에는 조금 힘들다고 생각돼면 좋은 기회가 될수도 있겠다.

의사결정의 승자독식 구조가 문제이다

단순히 기업 뿐만 아니라 정치적인 측면에서 생각해 봤을 때, 현재 기업,사회 구조는 지배구조 문제를 가지고 있다고 생각한다.

즉, 의사 결정과 이익의 승자 독식구조이다.

기업또는 조직의 효율적인 운영이라는 측면에서는 카리스마 넘치는 리더가 조직을 사심없이 다수의 이익을 위해서 움직이도록 의사 결정하는 것이 제일 성공한 확률이 높다. ?그러나 여기서 성공에 대한 결과물은 대부분 기업 오너나 정치 리더에게 돌아가게 되어있는데 어떻게 이를 공평하게 분해할 수 있을까? 애초에 객관적인 기준으로 공평하게 분배라는 것이 가능하기는 한가?

많은 CEO들이 금전적인 댓가가 항상 최고의 당근은 아니며 그 사람들이 성취할 수 있도록 도와주는 것이 최고의 보상이라는 말을 자주한다. 그러면서 CEO나 정치 지도자들은 항상 본인들의 기여분 에 대해서는 일반 직원들의 금전적인 보상한도를 넘어서는 보상을 가져가고, 본인들의 지휘 실수에는 그토록 너그러운 것일까?

불합리한 예는 이것말고도 많다. 마크 주커버그는 성공한 창업자로 유명하고 물론 그의 성공에 합당하는 능력을 가지고 있다고 믿어 의심치 않는다. ?하지만 마크 주커버그는 아직 30대도 지나지 않았는데 80세까지 산다고 가정했을 때 그가 내리는 많은 의사 결정들은 대통령 한명이 7년동안 내릴 수 있는 판단 보다 더 많은 중대한 의사결정을 할 수 있지 않을까? ?주커버그 뿐만 아니라 세상에는 너무나도 많은 CEO가 존재하는데, 내가 근무한 회사들의 ?CEO는 물론 훌륭한 사람들이 대부분 이지만 너무나도 많은 판단 실수를 보았다. ?그리고 가끔은 본인들만의 이익을 위해서 움직이기도 한다. 과연 CEO와 말단 사원은 그 급여차이 만큼 기여도도 차이가 날까?

공산주의를 하고 싶은게 아니라 현재 사회구조는 앞으로 다가오는 변화를 수용하기에 너무나도 문제가 많다. 과연 어떻게 인류 전체, 지구의 생물들까지 다 아우르는 행복의 최대치를 얻을 수 있을까? 그 방법을 고민해본 결과 정답은 없다. 내가 정치나 심리 사회 전문가도 아니고,, 회사 생활 10년하면서 느낀 감상일 뿐이다. ?아마 최근 AI와 로봇들이 인간의 일자리를 빼앗게 되면서 기본소득을 제공해야 한다는 몇몇 선진국의 주장들도 비슷한 맥락이라고 생각된다. 인터넷의 발달로 사람들은 점차 지식적인 면에서 평등해 지고 있으며 이런 부조리를 더 지켜보지 못할 것이다.

물론 이런 주장에도 헛점은 남는다. 미국에서 트럼프가 당선되고 유럽에서 극우주의가 세를 키워가며 한국의 박사모 일본의 넷우익등이 득세 하는한 다수의 의사 결정이 옳다고만 할 수 있을까? 그리고 과연 각 국가가 자신만의 나라가 아니라 지구전체 생명을 위해서 행동할 수 있을까?? 이것 또한 고민해볼 문제이다.

구글과 네이버의 위기

미국과 한국에서 승승장구만 하고 있는 두 회사에게 언제 위기가 올까??개인적으로 페이스북과 아마존의 주가가 그것을 말해준다고 본다.

사용자가 웹서비스를 사용하는데는 두가지 패턴이 있다고 하자. (이커머스 ?쪽에서 널리 쓰이는 구분 법 임)

  • 목적형 ?- 뚜렷한 목적을 가지고 검색을 하는 상황.
  • 발견형 ?- 뭔가 재미있는 상품이나 기사를 발견하고 싶은 상황.

구글은 목적형에, 페이스 북은 발견형에 최적화 되있다고 했을 때 현재까지는 각자 영역에서 잘 하고 있는 모양새였다.

두 회사에게도 위기가 닥칠 수도 있다고 생각한 건 어느샌가 부터 브라우저를 통해 네이버나 구글에 접속하고 있지 않았다는 걸 느꼈을 떄다.

한국인의 경우 스마트폰을 켜서 뉴스를 볼때 습관적으로 네이버나 다음에 접속해서 뉴스를 본다. 나도 이전에는 주로 다음뉴스나 RSS 리더등을 사용해 뉴스를 소비했었다.

하지만 최근에는 뉴스는 거의 페이스북으로 소비하고 있는 것 ?같다. 언론들 사이트와 오피니언 리더들을 팔로잉 하기 시작하면 서 큐레이션 되는 뉴스가 훨씬 더 익숙해진 것이다.

정확히 필요한 정보는 구글이나 네이버를 통해서 검색하지만 돈이되는 정보는 ?1등 업체에서 하게 된 현실도 그렇다. 쇼핑은 아마존을 사용해 검색하고 , 숙박은 에어비엔비나 부킹닷컴에서 검색하고, 이동할 일이 필요하다면 우버나 테슬라의 무인 운전 기능을 사용해서 이동하면 된다. 구글이 20세기의 전화번호부처럼 바뀔 가능성도 있는 것이다.

예를들어 페이스북이 검색 결과의 수준을 높여서 목적형에 최적화된 정보들을 주는 동시에 메신져 플랫폼까지 장악한다면 구글과 대등해질 수도 있다고 본다. 마찬가지로 목적형 쇼핑에 최적화된 아마존도 다른 다양한 서비스들을 통해 목적 + 발견형 으로 나아가려고 하는 모양새이다.

역시 영원한 1등은 없다. 물론 구글하고 네이버도 이 사실을 잘 알고 있겠지만.