리비안(Rivian), 실리콘밸리, 그리고 IPO

한동안 글과 블로그에 대해서 잊고 살았다. 너무 바쁘게 살기도 했고 세 아이의 아빠가 되어서 가정을 돌보느라 너무 정신이 없어서 따로 다른 것을 해 볼 여유를 가지지 못했다. 그 사이에 코로나라는 팬데믹이 터졌고 마스크 안 쓰기로 유명한 텍사스에서 혼란속에서 거의 2년간 집에서 은둔 생활을 했어야 했으며 혼란을 틈타 이직을 하고 지금은 실리콘밸리의 산호세라는 도시로 이사와서 새로운 삶에 안착하고 있다.

지날 달에 세금 보고를 끝내고 조금 여유가 생겨 3년 간 어떤 일이 있었는지 조금씩 정리해 보려고 한다. 글로 남기는 것도 생각의 정리가 되고 내 자신에게도 의미가 생기고 또 앞으로 미국 소프트웨어 엔지니어 생활, 실리콘 밸리, 그리고 여기에서의 IPO가 궁금한 사람들에게도 도움이 되리라 생각하는 바이다.

우선 시계를 3년 전으로 돌려 어떤 일들이 있어났는지 하나씩 설명해보고자 한다.

2020년에 나는 Kind Health라는 온라인 보험회사에서 백엔드 엔지니어로서 Node.js서버를 설계하고 REST/GraphQL 인터페이스를 만들며 회사 생활을 하고 있었다. 셋째 아이를 낳고 가족이 어느 정도 안정된 다음에 다니기 시작한 스타트업 회사였는데 오스틴이라는 도시에 걸맞는 힙한 회사였다. 회사는 기찻길 바로 옆에 있는 창고 건물에 있지만 내부는 온갖 예술가들의 작품으로 도배되어 있고 회사에서는 사원들을 위해서 탁구대, 네스프레소 커피, 전기 오토바이 등 괜찮은 편의시설들을 많이 제공했었다.

[KindHealth 회사 소개 영상 - 1:17에 본인이 잠깐등장한다]

회사는 온라인을 중심으로 보험 상품을 중개해 주는 서비스를 제공하고 있었는데 나는 서버 전담을 하며 클라우드 서비스와 데이터베이스 연계를 중심으로 개발을 했었다. 중점으로 했던 프로젝트로는 구글 Firebase에서 AWS의 Cognito로 인증 관련 클라우드 서비스 마이그레이션을 진행했었고 데이터베이스를 Mongo DB에서 AWS의 RDS라고 Postgres를 쓰는 RDBMS로 전환을 담당했다. 꽤 오랜 시간의 준비끝에 성공적으로 마이그레이션을 진행했었고 큰 회사는 아니였기 때문에 백엔드 서버 관련해서는 본인이 거의 전담해서 개발을 담당하고 있었다.

2020년 3월쯤으로 기억된다. 어느 날부터 코로나가 급속하게 퍼지면서 회사 오피스에서 모여서 일하는 것이 금지되고 집에서 완전 원격모드로 일을 시작하게 되었다. 그전에 교통 체증이 있는 시간을 피해 오전 11시에서 오후 3시 사이는 회사 오피스에서 일하고 나머지는 집에서 원격으로 접속해 일하고 있었는데 이제는 완전히 집에서 일하게 된 것이었다.

팬데믹을 Read More...

미국 취업기 (4) – Dell에서의 4년

2010년 8월 15일 광복절에 델에서의 직장 생활을 시작했으니 지금 이 글을 쓰기 시작한 2015년 10월은 델에서 미국 직장 생활을 시작한지 4년이 지난 후 얼마 되지 않은 시점이다. 처음 델에서의 미국 직장 생활을 시작할 때 같은 팀 사람들이 하는 얘기를 잘 알아듣지 못해서 회의를 한번 하고 나면 한참 주눅이 들곤 했다. 1시간의 회의 동안 팀의 여러 상황들과 프리젠테이션을 듣고 마지막에 Round Table이라고 이번 주에 어떤 일을 했는지 모든 사람 앞에서 발표하는 시간이 있는데 그 시간이 그렇게 싫었다. 20명 가까이 되는 팀원들 앞에서 영어로 말하는 것이 두렵기도 했고 혹시나 내 영어를 알아듣지 못할까봐 조바심이 들기도 하였다. 그리고 혹시나 질문을 받게 되는 경우 못 알아들으면 어떡하나 하는 걱정이 앞서기도 했다.

델에서는 2주에 한번씩 매니저와 일대일로 대화를 하는 One-on-one 미팅이 있다. 즉 직장의 보스와 2주에 한번씩 어떤 주제든 30분 정도 시간을 정해서 대화를 하는 것이다. 그 시간에 현재 맡고 있는 프로젝트에 대한 토론을 할 수도 있고 일정에 대한 불만을 토로할 수도 있으며 다른 팀원과 마찰이 있거나 팀에 요구 사항이 있으면 전달 할 수도 있다. 그리고 일과는 상관없는 개인적인 이야기를 하면서 매니저의 의견을 물어 볼 수도 있다.

하지만 나는 그 시간이 너무나도 부담이 되었다. 나의 나의 첫 매니저와의 One-on-one은 아침 8시였는데 아침 잠이 많은 나로서는 아침 8시에 회사에서 보스를 만나는 것도 힘들었지만 30분 동안 영어로 프리토킹을 한다는 것이 편하지는 않았던 것이다. 그리고 나의 보스이기 때문에 영어를 잘하는 모습을 보여야 한다는 부담감도 있었다. 그래서 항상 내 수첩에는 말할 주제를 미리 준비해 놓고 그 주제 안에서 보스와 One-on-one 미팅을 가졌다. 내가 묻고 싶은 질문들 그리고 같이 토론하고 싶은 주제들을 가지고 한참을 같이 얘기하다 보면 30분은 채울 수 있었다.

그리고 첫 해는 매니저가 목표를 정해주는데 그 중에 하나는 팀 앞에서 프리젠테이션을 하는 것이었다. 나의 경우에는 UEFI Shell이라는 주제를 가지고 발표 준비를 했는데 몇 주 동안 발표 자료를 만든다고 많이 고생했던 것 같다. 발표날도 너무 긴장을 해서 한 숨도 자지 못하고 아침 8시 미팅에 참석했다. 다행히 발표는 순조롭게 잘 끝났지만 긴장이 한꺼번에 풀어지면서 몸이 너무 힘들어서 오후에는 집에 돌아가서 쉬어야만 했다. 미국 회사에서의 한 첫 발표라서 정말 많이 긴장했던 것 같다.

그렇게 걱정과 긴장으로 가득했던 델에서의 Read More...

미국 취업기 (3) – 드디어 미국 대기업 취업 – DELL

델에서 잡 오퍼를 받았으나 미국에서 학위를 마치고 처음 취업을 할 때 필요한 OPT카드를 발급받지 못했다. 졸업 즈음에 신청하더라도 발급되기까지 시간이 꽤 걸리기 때문이었다. 5월에 졸업하고 6월에 델에서 잡 오퍼를 받았는데 7월 말이 되기까지 깜깜무소식이었다.

7월 말에 한국에서 받은 국제 면허가 만료되기에 졸업하자마자 운전면허를 따려고 DMV(Department of Motor Vehicles) 오피스에 가서 운전면허 시험 신청을 했다. 코네티컷에서는 그 시험을 신청하기 위해서는 8시간의 안전 교육을 받아야 했는데 렌트카를 빌려서 먼 곳에 있는 교육 센터에서 거금 120달러를 내고 교육도 받았다. 그래서 DMV 오피스에 갔는데 그곳의 직원이 나는 운전면허 시험 신청을 하지 못한다는 것이었다. 아니 안전 교육도 받고 증명서도 제출했는데 왜 안 되느냐고 하니 내가 신분이 불분명해서 그렇다는 것이었다. 그때 학교를 졸업했으니 학생도 아니었고 그렇다고 취업한 것도 아니니 나의 신분 문제가 붕 떠버린 것이었다.

대학원생일 때는 공부와 취업 준비에 너무 바빠서 미국 운전면허를 볼 생각을 못 했는데 (그리고 한국에서 가져온 국제 면허증으로 필요하면 렌트카를 빌려 운전해서 그렇게 불편하지는 않았다) 이제 졸업하고 시간이 나서 운전면허를 보려고 하니 이제 안 된단다. 정말 그때는 눈 앞이 깜깜했다. OPT 카드를 받으려면 뉴헤이븐의 지금 집에서 기다려야 되는데 1년 리스 기간도 만료되어 가고 나중에 국제 운전면허도 만료되면 짐을 어떻게 옮길지 도저히 방법을 찾을 수가 없었다.

국제 면허가 2011년 7월 30일까지였는데 기다리다가 결국 7월 20일 즈음에 텍사스로 이사하기로 결정을 했다. 원래는 비행기로 우선 텍사스에 가서 필요한 아파트를 찾고 리스 계약을 한 다음에 다시 코네티컷으로 돌아와서 짐을 꾸려서 이사를 가는 것이 정상이지만 OPT 카드를 기다리느라 시간도 없었고 그렇게 할 경제적 여유도 없었던 것이 현실이었다. 델에서 잡 오퍼를 준 뒤 이사 비용을 지원해 주었는데 (미국 회사에서는 대부분 새로 직장을 찾고 그 직장이 있는 도시로 이사해야 되면 이사 비용을 지원해 주는 경우가 많다) 받기로 한 비용이 8000불이었다. 처음에는 8000불이 충분해 보였지만 나중에 통장에 들어온 것을 보니 세금을 떼고 5500불 정도밖에 되지 않았다. 이사 비용을 알아보니 지금 가지고 있는 가구 모두를 옮기는 것보다 최소한만 옮기고 나중에 그곳에서 다시 사는 것이 훨씬 경제적으로 이득이라는 결론을 내렸다. 왜 미국 사람들이 이사를 갈 때 Garage Sale이라고 Read More...

미국 취업기 (2) – 온사이트 인터뷰 – 마이크로소프트(Microsoft), LSI, 그리고 델(Dell)

예일에서 두 번째 학기가 시작되고 나서 마이크로소프트사에서 다시 캠퍼스 리쿠루팅 이벤트를 열었다. 첫 학기 때는 고배를 마셨지만 이번 학기는 꽤 오랫동안 프로그래밍 인터뷰를 준비한 덕분에 학교에 온 면접관의 질문에 모두 답변을 했고 마이크로소프트 본사가 있는 워싱턴 주의 레드몬드(Redmond)라는 도시로 온사이트 인터뷰 초청을 받았다.

학교의 봄방학 때를 맞추어서 온사이트 인터뷰를 보기 위해 새벽 비행기를 타고 워싱턴으로 향했다. 인터뷰 전날은 마이크로소프트사에서 파티를 주최했었는데 다음날 혹시나 정신이 흐트러질까봐 가지 않았다. 프로그래밍 인터뷰에서 합격 불합격의 많은 부분이 결정이 나기 때문에 알고리즘과 데이터 구조 부분을 정리하고 예상 질문과 답변을 다시 상기하며 인터뷰 전날 밤을 보냈다.

드디어 결전의 날, 마이크로소프트사는 인터뷰를 보는 사람들에게 형형색색의 네온 사인으로 내부가 꾸며진 멋진 버스를 보내주었다. 15분 후 본사의 한 건물에 들어가서 한 방에 모여 기다리는데 주위를 보니 인터뷰를 준비하는 모든 사람들이 긴장한 구석이 완연했다. 인터뷰는 50분씩 4번 보는데 모두 프로그래밍 인터뷰였다. 마이크로소프트사는 개발자 모두 개인 방을 가질 수 있는 것으로 유명한데 각각의 인터뷰 때 면접관이 자기 방에 데려가서 인터뷰를 보곤 했었다.

첫 번째 엔지니어의 방에서는 자신이 진행하고 있는 프로젝트에 대한 설명과 함께 자신이 당면하고 있는 문제에 대해서 나는 어떤 해결책을 제시할 수 있는지에 대해서 물어보았다. 그때까지도 영어가 서툴렀던 나는 질문을 다 이해하지 못하고 여러 번 다시 물어보았다. 질문을 어느 정도 이해하고 나름의 데이터 구조를 세우고 내가 생각하는 해결책을 제시했지만 큰 어필을 준 것 같지는 않았다. 두 번째 엔지니어의 방에서는Linked List안에서 Cycle의 여부를 인지하는 문제를 먼저 제시하고 점점 조건들을 추가해가며 각각Pseudo 코드를 작성할 것을 요구 받았다. 1시간동안 엔지니어와 질문을 주고 받으면서 코드를 화이트 보드에 썼고 마지막에는 “You are correct.”라는 말도 들었다. 조금 희망이 생겨나기 시작했다. 세 번째 방에서는 매니저인 면접관이 종이와 연필 하나를 주더니 자기 요구사항에 맞게 Tree를 만들고 Depth-first search와 Breath-first search에 대한 여러 사항들을 묻더니 자기가 요구하는 조건에 맞는 알고리즘을 구현할 것을 주문했다. 여러 시도를 하고 토론을 하다 보니 또 1시간이 지나서 그 방을 떠나게 되었다. 마지막 방에서는 주어진 검색에 Read More...

미국 취업기 (1) – 1300개의 입사지원서

내가 미국에 온 것은 미국 직장에서 새로운 삶을 시작하고 싶었기 때문이었다. 미국 직장에서 일하기 위해서는 유학이라는 징검다리를 건너야 했고 그 다리를 건너면서 이제는 미국인들과 취업을 위해서 경쟁을 해야만 했다.

2010년 8월에 미국에 건너왔고 그 해 10월부터 직장을 찾기 시작했다. 미국에 온 지 2달밖에 되지 않았고 영어를 듣고 이해하는 것도 힘든 시절이었는데 직장을 찾는 것은 불가능한 것처럼 보일 수밖에 없었다. 미국 사람과 마주보면서 대화하는 것도 어색하고 힘든데 전화 통화로 미국 사람에게 좋은 인상을 주고 영어로 나 자신을 취업 시장에서 잘 포장해서 팔아야 한다는 것이 자신이 없었다.

미국에서 소프트웨어 엔지니어로 취업하기 위해서는 우선 레쥬메(Resume)와 커버레터(Cover Letter)를 준비해야 한다. 레쥬메는 자신의 학업, 경력, 외부 활동 등이 보통 한 두 장에 정리된 이력서로 대부분의 기업이 구직자에게 요구하고 있다. 커버레터는 한국 기업에는 없는 문화인데 자신을 간단히 소개하고 왜 그 기업에 지원하는지 목적과 포부를 밝히는 문서이다. 이 레쥬메와 커버레터를 준비해서 기업 웹사이트의 구직 페이지나 HR 담당자에게 보내면 그 기업에서 나의 이력에 맞는 일자리가 있는지 검토하게 되고 만일 매칭되는 일자리가 있다면 본인에게 연락이 오게 된다. 하지만 그 과정이 보통 몇 주가 걸리고 오래는 몇 달이 걸리는 경우도 있다.

기업의 HR 담당자에게 연락이 오게 된다면 전화로 보통 15분에서 길게는 1시간 정도의 인터뷰를 하게 된다. 담당할 직무에 대한 설명과 현재 구직 상황 그리고 학업 및 직장 경력에 대한 여러 답변을 하게 되면 다음 인터뷰에 대한 설명을 듣게 된다. 일반적으로 다음 인터뷰는 전화상으로 그 회사의 소프트웨어 엔지니어들과 이야기를 하게 되는데 이 때가 바로 테크니컬 인터뷰(Technical Interview)의 시작이다. 보통 1시간 정도의 시간을 잡고 전화상으로 프로그래밍 전반에 관한 질문을 하게 되면 구직자는 질문자와 계속 이야기를 하면서 그 문제를 어떻게 풀어갈지에 대해서 생각을 나누게 된다. 그 인터뷰가 끝나면 인터뷰를 진행한 사람은 방금 인터뷰한 구직자에 대해서 피드백을 HR 담당자 혹은 사람을 뽑는 팀의 매니저에게 보내주게 된다. 그리고 그 결과를 받은 사람들이 앞으로 인터뷰를 계속 진행할 지 아니면 거기서 그만둘지 결정한다. 첫번째 인터뷰를 잘 했다면 두번째 전화 인터뷰로 넘어갈 수 있으며 어떤 기업의 경우에는 직접 그 기업을 방문하는 온사이트 인터뷰(Onsite Interview)로 Read More...