Disqus for deduction-theory

미국에서 개발자로 성공하는 방법, 능력을 쌓는 방법


안녕하세요. 저는 이기준입니다. 저는 30대 중반이구요. 미국인 아내와 결혼해서 현재 미국과 한국을 왔다갔다하면서 살고 있어요. 저는 미국에서 소프트웨어 회사를 설립해서 운영하고 있어요. 제가 얼마전에 이기준 이기환의 딥러닝 연구라는 딥러닝 관련 글을 썼었는데요. 그 글의 도입부에  프로그래밍을 잘하는 방법에 대해서 제가 코멘트한 부분을 보고 사람들이 좀 더 구체적인 내용을 물어보시는 경우가 있었어요.



그리고 그 후에 제가 완전쉬운 딥러닝이라는 좀 더 쉬운 버전으로 만든 글을 추가로 썼어요. 그 글에 끝부분에서는 제가 미국 생활을 하게 된 내용을 적었어요. 그걸 보고 사람들이 미국 생활에 대해서 문의를 주셨어요. 그렇게 해서 총 10명 정도 되는 분들이 이런저런 문의를 해주셨는데요. 제가 그 질문들에 대답한 내용을 취합해서 글을 한 편 썼어요. 이번 글의 주제는 어떻게 하면 미국에서 개발자로 취직을 하거나 기타 소프트웨어 분야에서 성공할 수 있는지, 어떻게 하면 프로그래머로 능력을 쌓을 수 있는지를 정리한 것이에요.


미국에서 소프트웨어 분야로 인정받고 취직 잘하는 방법

먼저 솔직하게 말씀을 드리자면 저는 현재 미국에서 회사를 만들어서 일하고 있어요. 그래서 취업을 하는 세부적인 디테일은 잘 몰라요. 예를 들어서 어느 회사에서 어떤 분야 개발자를 잘 받아 준다더라, 어느 회사에서 한국인(외국인) 지원자를 잘 받아 준다더라 이런 것은 전혀 몰라요.

그리고 면접을 어떻게 하면 잘하는지 그런것도 몰라요. 그 주제에 관해서는 제가 며칠 전에 눈팅을 하다가 발견한 링크를 첨부할 테니 참고해보세요. [번역] 코딩 공부 후 3개월 동안 구직하며 배운 점

제가 가르쳐 드릴 수 있는 부분은 이런 것이에요.
  1. 미국 회사에서는 어떤 인재를 우대하는가?
  2. 미국 회사에서 우대받는 인재가 되려면 어떻게 공부하고 훈련해야 하는가?

제 생각에는 이것이 본질이고, 이걸 이해하는 것이 장기적으로 님들이 개발자로 성공적인 인생을 살아가는데 훨씬 더 큰 도움이 된다고 생각을 하거든요. 그외에 부분은 그저 일시적인 트렌드구요. 그래서 이 글을 쓰게 되었어요. 자 그러면 시작해봅시다.



회사들이 원하는 기술을 이해하자

현재 한국 소프트웨어 분야에서, 그중에서도 SI 분야에서 취직을 하려면 자바, 그중에서도 자바 스프링이라는 프레임워크를 배우는 것이 중요해요. 왜 그럴까요? 왜냐하면 한국 SI 분야는 국가가 발주하는 전자정부와 관련된 프로젝트가 많거든요. 그 전자전부 프로젝트가 자바 스프링이라는 프레임워크로 되어 있어요. 정부가 제시하는  프로토콜과 발을 맞추려고 기업 프로젝트도 자바 스프링을 도입하는 경우가 많구요. 그래서 자바 스프링의 핵심 아키텍쳐를 수정하고 오류를 보수할 줄 알면 우대받아요. 이건 상대적인 비교에요. 우대 받는다고 해서 바로 억대연봉이 되는 것은 아니구요. 상대적으로 취업이 더 잘되고 연봉이 좀 더 높다는 거죠.


한국 앱 서비스 분야에서 취업을 하려면 파이썬 장고, ROR(루비 온 레일즈)를 배우면 유리해요. 왜냐면 업계에서 많이 쓰니까요. 이유가 별로 특별한 것이 없어요. 자바 스프링으로도 앱 서비스에 사용할 서버를 만들 수 있어요. 업계에서 상대적으로 많이 쓰니까 그런거에요. 그게 시장 트렌드죠.


미국 회사도 비슷해요. 그 회사가 주력으로 사용하는 기술이 있어요. 그래서 그 기술에 대해서 알아보는 것이 중요해요. 저는 인터넷에서 "자바 배우려는데 괜찮을까요?, 파이썬 배우려는데 괜찮을까요?"라고 물어보는 질문을 종종 봐요. 그런데 그렇게 질문하면 대답하는 분들은 다 각자 자기가 처한 입장에서 대답하거든요. 자기가 자바 관련 프로젝트를 하고 있는 분은 자바를 추천하고 자기가 파이썬 관련 프로젝트 하고 있는 분은 파이썬을 추천할 거에요. 상대적이라는 거죠. 그래서 질문을 그렇게 물어 보아서는 해답이 안 나와요. 이 말을 들으면 이 말이 맞는 것 같고, 저 말을 들으면 저 말이 맞는 것 같은 팔랑귀가 될 뿐이에요.


차라리 질문을 이렇게 해보세요.
  1. 나는 어떤 유형의 회사에서 일하고 싶은가?
  2. 그리고 그 회사에서 사용하는 기술은 무엇 무엇이 있는가?

이렇게 질문을 자기 스스로 하고 그 질문에 대한 대답을 구글 검색을 해서 수집을 해나가면 답이 나와요. 구글 한글 검색으로 충분한 정보 수집이 안되면 영문 검색으로 보충을 해보세요. 모르는 말이 나오면 구글 번역기 돌리면 70~80% 정도는 해결되요.

예를 들어서 "하둡"이라는 비정형 데이터 베이스 관련 프레임워크 기술이 있다고 해요. 그러면 하둡을 사용하고 있는 메이저 소프트웨어 회사 정보를 구글에서 알아낼 수 있어요. 어떤 회사가 하둡을 사용하는지, 하둡 오픈소스에 참여한 기업체 멤버는 누구누군지, 어떤 회사가 앞으로 하둡을 사용할 계획인지, 하둡 사용 회사가 늘어나는 추세인지 줄어드는 추세인지, 하둡보다 더 나은 기술이 개발되고 있는지 아닌지 알아낼 수 있어요.

이렇게 정보를 알아내서 정리하는 것이 어렵지 않아요. 삼성의 주력제품이 갤럭시S고 애플의 주력제품은 아이폰이다. 이렇게 정리하는 것과 별 차이가 없는 활동이에요.

이렇게 기술에 대해서 자료 수집을 하고 정리를 해보면 특이한 점을 알아낼 수 있는데요. 2000년대 들어서 소프트웨어 업계의 거의 모든 핵심 기술들이 오픈소스로 개발되고 있다는 것이에요.



오픈소스 프로젝트에 참여하자

그러면 어떻게 하면 미국 회사가 우대하는 인재가 될 수 있겠어요? 바로 답 나오잖아요. 그 회사가 사용하고 있는 오픈소스 프로젝트에 내가 참여해서 유지 보수 활동에 기여하면 되요. 그게 최고의 경력이에요. 오픈소스 프로젝트에 참여하는 방법은 구글 검색화면 링크로 대신할게요. 이런식으로 키워드를 짜서 검색하면 답이 주르륵 하고 나와요. 이걸로 부족하면 영문 검색을 또 해보시구요.

내가 타겟으로 한 오픈소스 프로젝트에 참여해서 처음에는 작은 오류 수정, 재현, 구현, 기능추가 등을 하다가 나아가서는 핵심이 되는 코어 엔진, 코어 아키텍처에 기여를 하는 거죠. 그러면 인정받아요. 만약 님이 핵심 기능에 관여할 수 있는 능력이 있고 그걸 깃허브 활동으로 증명할 수 있으면 미국 회사에서 님을 데려가려고 연락이 올거에요. 제가 장담합니다. 실제로 지금도 그런 방식으로 고급 인력에 대한 구인이 이루어지고 있어요.


위 사진의 전용기 의전같은 느낌으로 회사들이 굽신거리면서 모셔가요. 집도 제공하고, 차량도 주고, 온갖 달라는 것은 다 주면서 데려가요. (그러나 여친 남친은 제공 안 함. ASKY..)
이 경우 연봉은 억대로 받고 추가로 스톡옵션으로 나중에 백만장자가 될 수 있어요.


업계 경력 몇 년차, 이런 것은 미국에서는 아무런 의미가 없다.

한국 분들이 질문을 할 때 가장 헷갈리는 부분이 이 부분인데요. 자꾸 자기가 지금까지 일한 짬밥, 즉 경력을 기준으로 해서 미래를 계획해 보려고 하는 것이에요.

예를 들어 이런 유형의 질문이에요.
한국에서 자바 10년차인데 미국에서는 어느 정도 인정받을 수 있을까요?
한국에서 파이썬 5년차인데 미국에서는 어느 정도 인정받을 수 있을까요?
제가 한국에서 S성, L지, H대 등에서 몇 년 동안 일을 했는데 어느 정도 인정받을 수 있을까요?

제가 헤드헌터가 아니라서 한국 업계에서 일한 경력이 어느 정도로 미국 시장 취직에 도움이 되는지는 잘 몰라요. 헤드헌터 입장에서는 사람을 잘 포장해서 구직을 주선하면 수수료를 받으니까 년수로 확인되는 경력 부분을 강조해요. 왜 그러냐 하면 헤드헌터는 개발자의 프로그래밍 능력을 정량화 해서 평가할 수 없거든요. 그러니까 자기 눈으로 정량할 수 있는 경력 년수 부분에 집중하는 거죠.

그런데 제가 볼 때는 소프트웨어 업계에서는 년차로 표현하는 경력이 의미가 없어요. 당장 투입해야 할 프로젝트에서 능력을 보여줄 수 있느냐 없느냐가 전부에요. 그러니까 쉽게 말해서 질문을 이렇게 하셔야 되요.

제가 자바 오픈소스 프로젝트 00에서 어느 부분을 몇 건에 걸쳐서 어떻게 관여했는데 이게 미국 회사에서 어느 정도 인정 받을 수 있을까요?
제가 파이썬 오픈소스 프로젝트 00에서 어느 부분을 몇 건에 걸쳐서 어떻게 관여했는데 이게 미국 회사에서 어느 정도 인정 받을 수 있을까요?
이러면 미국 회사에서 바로 연락이 올 거에요.


제가 최근에 눈팅을 하다가 어떤 분이 해외에서 오퍼를 받은 경험을 글로 쓴 것을 보았어요.
거기에 이런 내용이 있었어요. 요약해서 옮겨볼게요.

  1. 내가 Node.js 관련 오픈소스 프로젝트에 참여해서 게시판에 소스 파일을 올렸는데 거기 남겨진 이메일 주소만 보고 해외 업체에서 구인 오퍼가 들어왔다.
  2. 나는 한국에서 수십 개의 프로젝트에 참여한 10년 이상의 경력이 있고 중급 이상의 능력이 있다고 생각한다.

자 여기서 행간의 딜레마를 볼 수 있어요. 위에서 1번 문장을 볼게요. 제가 지금까지 설명한 그대로죠? 그런데 2번을 볼게요. 이 2번 문장이 한국 사람들의 사고방식에 남아 있는 고정관념이에요.

오픈소스 프로젝트에서 실력을 증명해서 해외 업체로부터 구인 오퍼를 받은 것과 국내 경험을 근거로 자신의 실력을 판단하려고 하는 부분이 충돌하는 것이에요.

위에 저 글을 쓰신 분은 아마 프로그래밍 잘하시는 분일거에요. 제가 설명하고자 하는 것은 이렇게 사람들의 내면 사고방식에서 충돌이 일어난다는 거에요.

제가 한 번 비유를 해볼게요. 여기에 두 가지 경우가 있어요.
  1. 한국에 사는 프로그래머가 있다. 그런데 이 사람이 오픈소스 프로젝트에서 의미 있는 활동을 했다. 그 오픈소스 기술을 사용하는 미국 회사에서 이 사람의 활동 기록을 알아보게 되었다.
  2. 한국에 사는 프로그래머가 있다. 이 사람이 한국에서 프로젝트를 이것도 하고, 저것도 하고 많이 했다. 그런데 그게 전부 한국어로 된 프로젝트, 한국에서만 서비스하는 프로젝트, 한국의 프로토콜, 한국의 법에 맞춘 서비스였다.

님이 미국 회사 입장이면 위에 두 경우 중에 누구를 뽑아 주겠어요? 1번이잖아요. 한 번 솔직하게 입장을 바꾸어서 생각을 해보세요. 우리나라에서 대회 입상 경력, 프로젝트 경력이 무슨 소용 있어요. 한국어로 된 한국 시장에서만 통하는 프로젝트를 한 것이잖아요. 물론 경력이 아무것도 없는 것과 비교하면 상대적으로 경력이 있는 것이 낫죠. 그러나 오픈소스 프로젝트에 기여한 것과 비교하면 바로 알 수 있잖아요.


나는 어쩌다가 해외 개발사의 제의를 받았나? 이 글 쓰신 분의 경우에는 자기가 오퍼를 받은 이유가 오픈소스 프로젝트에 기여했기 때문이라는 것을 잘알고 계시고 초반에는 설명도 그렇게 하셨는데 글의 내용을 세부적으로 쓰다보니 다시 한국 사람들이 흔히 하는 사고방식의 실수가 나오는 거에요.

지금도 인터넷에 보면 이렇게 물어보시는 분들이 있어요.
  1. 깃허브 오픈소스 프로젝트에 참여해서 경력을 쌓는게 나을까요?
  2. 아니면 한국에서 대회를 나가거나 회사 프로젝트를 해서 포트폴리오를 만드는 것이 나을까요?

상대적인 비교를 해보세요. 그러면 답을 구할 수 있어요. 제가 경험하고 관찰한 바로는 답이 1번이에요. 실제 필드에서도 그렇게 해서 구인 구직이 이루어지구요. 2번 방식으로 미국에 취업하는 것은 정말 어려울 거에요. 님이 미국 회사 오너가 되었다고 입장을 바꿔서 생각하고 평가를 해보세요.


출신학교에 대한 미련을 버리자

또 제가 받은 질문 중에 이런 것이 있었어요. 한국에서 좋은 학교라고 알려진 SKY 출신 분들은 자꾸 질문을 할 때 이렇게 하시더라구요.

  1. 제 출신학교 SKY를 졸업한 것을 이용해서 인정을 받을 수 있을까요? 미국 학교 나온 것과 비교해서 어느 정도급으로 쳐서 인정 받게 되나요?
  2. 만약 SKY를 졸업한 것에서 인정받는 부분이 없다면 제가 추가로 미국의 네임밸류 있는 학교에서 대학원 과정을 다닌 다음에 취업을 하면 이득이 있을까요?

제 대답은 이래요. SKY 나온 것이 아무런 이득이 없어요. 대학원은 가고 싶으면 가셔도 되는데 대학원을 나왔다는 것만으로는 또 아무 이득이 없어요. 업계에 의미를 줄 정도의 연구 실적을 논문으로 쌓거나 학교 다니면서 동시에 오픈소스 프로젝트를 병행해서 실력을 증명할 기록을 쌓아야 되요.

SKY외에 기타 대학교 출신 분들은 이런 질문을 안 하는데 유독 SKY 분들은 출신 학교를 이용해서 이득을 볼 수 있을까 하는 질문을 계속 하더라구요. 그걸 심리학에서는 매몰비용, 본전심리라고 하죠. 좋은 학교 들어가려고 그동안 고생을 많이 했기 때문에 어떻게 되었든지 그걸 이용해서 본전을 챙겨 보려는 생각이에요. 그런데 그 본전심리 때문에 본질을 놓치는 경우가 있어요.

미국 소프트웨어 업계는 한국 학벌이 안 통해요. 이 동네에서는 MIT와 스탠포드가 네임밸류가 있기는 있어요. 그렇지만 거기를 나왔다고 해서 채용할 때 무조건 이득을 얻는 것은 아니구요. 한국처럼 동문회로 서로 밀어주고 하는 것도 없어요. 그냥 통계적으로 성공한 사람들 중에 거기 출신이 많은 거죠.



당신의 발목을 잡고, 당신을 더 나아지지 못하도록 억누르는 것은 당신의 사고방식이다.

또 다른 분들이 주신 질문 중에는 반대로 자격지심에서 기인한 것이 있었어요. 예를 들어서 이런 것이었어요.
  1. 저는 지방대 출신인데요. 미국에서 프로그래머 진짜 하고 싶은데 저의 출신으로 이게 가능할까요?
  2. 저는 영어를 잘 못하는데요. 가능할까요?
  3. 저희 집안이 흙수저 집안인데 가능할까요?

명문대 부심과 자격지심은 사실 같은 유형의 착각이에요. 실제 일하는 데는 영향을 주지 못하는 고정관념이죠. 본질이 아닌 거에요. 그런데에 신경을 쓰면 자꾸 본질적으로 해야 할 일을 놓치고 못하게 되요. 현실을 똑바로 보셔야 되요.

지방대부터 봅시다. 상관없어요. 명문대 이득이 없는 것처럼 지방대 패널티도 없어요.
영어요? 영어 못해도 능력 있고 오픈소스 프로젝트 기록으로 그걸 증명할 수 있으면 되요. 님이 능력만 있으면 회사에서 통역을 추가로 투입해서라도 님을 모셔갈거에요.
흙수저요? 아니 여기서 흙수저가 왜 나와요. 해외 취업은 돈을 쓰면서 유학가는 게 아니에요. 내가 돈을 받으면서 가는 거잖아요. 집안에 돈이 없어도 되요. 쫄지마세요.


저는 지금까지 살면서 총 네 번의 학교중퇴를 했어요.
  1. 중학교 중퇴: 왕따 당하고 맞아서 자퇴함. 나중에 복학해서 졸업
  2. 고등학교 중퇴: 고등학교 입학하자 마자 전에 왕따 하던 놈들이 인수인계(?)를 해서 다시 왕따가 시작됨. 자퇴하고 검정고시 침.
  3. 한국 대학교 중퇴: 전액장학금 받고 들어감. 다니다가 나댄다고 또 괴롭힘 당하고 맞음. 자퇴함.
  4. 미국 대학교 중퇴: 유학와서 잘 다니다가 결혼하고 소프트웨어 창업한다고 자퇴함.

어때요? 저의 인생은 말하자면 중퇴인생이에요. 그런데 재미있는 사실 알려드릴까요? 제가 실리콘벨리에서 사람들을 만나다가 나중에 학교 이야기가 나오게 되어서 저의 4번 자퇴 스토리를 들려주면 미국 사람들은 저보고 Genius라고 해요. 천재적이라고 하더라구요. 제 스토리를 들으면 미국 사람들이 저를 존경의 눈(?)으로 쳐다봐요. 이쪽 문화가 자퇴한 사람을 오히려 더 칭찬하는 문화거든요.


예를 들어서 페이팔 창업자이자 유명한 책 "제로 투 원"을 쓴 피터 틸이라는 사람은 실리콘 벨리에서 성공하려면 반드시 대학을 중퇴한 경험이 있어야 한다는 주장을 하기까지 해요. 이 사람은 펀드를 만들어서 벤처기업에 투자를 하는데요. "창업자가 다니던 대학을 중퇴하고 창업할 것"이라고 조건을 걸어요.

제가 하고 싶은 말은 뭐냐면 학벌이나 집안 배경, 영어 능력 같은 것은 본질이 아니라는 말이에요. 그런데에 관심을 두지 말고 본질에 해당하는 소프트웨어 능력에 집중하라는 말이에요.

실력보다는 학연지연으로 평가하고, 은근히 뒤에서 부정부패한 방법으로 서로 밀어주고 하는 것이 한국 사회의 문제거든요. 또 그 사회에서 사람들이 길들여지는 바람에 능력을 키워서 성공하기 보다는 줄을 잘서고 그 댓가로 꿀보직에서 편하게 살고 싶어하는 것이 문제에요.

님들이 미국 가고 싶은 이유도 한국의 그런 점이 싫기 때문이잖아요. 그러면 과감하게 한국 사고방식을 버리세요. 거기에 발목잡히지 말고 자유로워지세요. 신세계로 가려면 먼저 님이 자신의 사고방식을 새롭게 바꾸어야 해요.


그렇다면 실력은 어떻게 쌓아야 하는가?

제가 위와 같이 설명을 했더니 추가로 이런 질문이 이어졌어요.
"오픈소스 프로젝트를 하면 좋다는 것은 알겠는데요. 그걸 어떻게 하면 잘할 수 있나요.”
그러게요. 어떻게 하면 잘할 수 있을까요.

소프트웨어를 배우는 것은 이렇게 하면 잘되요.
  1. 잘 써진 코드를 읽어 본다.
  2. 주석을 달아 본다.
  3. 더 퍼포먼스가 좋은 코드로 리팩토링을 해본다. 논리적으로 더 간결한 구조로 리팩토링을 해본다.
  4. 다른 언어로 포팅을 해본다.
  5. 지금까지 알아낸 것을 사용해서 내가 만들고 싶은 프로그램을 만들어 본다.

이것은 과학의 재현과 구현 개념을 소프트웨어 세계에서 응용한 것이에요. 재현이란 남이 한 연구를 내 입장에서 다시 했을 때 제대로 동작하는지 확인하는 개념이에요. 구현은 내가 생각한 아이디어를 실제 작동하도록 만들어 내는 개념이죠.

저는 자바스크립트와 파이썬을 어느 정도 할 줄 알아요. 그러나 저는 일부러 제가 이미 알고 있는 것들을 줄리아라는 언어로 포팅을 하는 연습을 해요. 그러면 이미 알고 있던 자바스크릭트와 파이썬에 대해서도 더 깊이 알게 되고 줄리아라는 새로운 언어도 잘 이해하게 되요. 물론 빨리 작업해야 하는 프로젝트를 할 때는 최단시간에 아웃풋이 나오도록 기술을 사용하지요.

제가 이렇게 다양한 언어로 포팅을 해보는 일이 미래에 도움이 되요. 예를 들어서 새로운 언어와 기술이 뜰 때 그 언어와 기술로 발빠르게 옮겨가는 것이 쉬워집니다. 평소에 그렇게 공부를 해왔으니까요.


코드를 읽고, 주석을 달고, 리팩토링을 하고, 포팅을 하고, 내가 구상한 로직을 만들어 보고 하는 과정을 계속 반복해서 해야해요. 그러면 코딩 실력은 반드시 늡니다.


프로젝트의 코어를 만들어 보자

위에서 5번 단계에 해당하는 능력이 되면 프로젝트의 코어에 해당하는 부분을 만들어 볼 수 있어요. 자기가 아예 새 프로젝트를 런칭하거나 기존 프로젝트의 코어 부분에 기여하는 거죠. 그렇게 해서 다른 기여자들에게 인정받으면 그게 능력인거에요.



처음부터 끝까지 작동하는 서비스를 한 개 만들어 보자

여러 개의 다른 오픈소스 기술을 연결해서 처음부터 끝까지 작동하는 한 개의 서비스를 만들어 보세요. 그렇게 해서 다른 사람들에게 편리함을 주는 서비스를 만들어 내면 어떻게 될까요? 그게 창업의 시작이에요.

  1. 프로젝트의 코어에 관여한다.
    1. 이 방향은 기술 전문가가 되는 방향이다.
  2. 여러 개의 기술을 조립해서 처음부터 끝까지 작동하는 한 개의 서비스를 만들어 낸다.
    1. 이 방향은 창업가가 되는 방향이다.

한 사람이 두 방향 다 연습하는 것도 가능해요. 저도 그렇게 했구요.


억대 연봉의 그림자

제가 이런 질문을 받은 적이 있는데요.
"같은 능력을 가지고 있을 때 한국보다 미국에서 더 많은 연봉을 받게 되는 것인가요?"

그게 그렇지가 않아요. 한국에서 요구하는 능력과 미국에서 요구하는 능력이 다르거든요. 예를 들어서 미국에서 요구하는 능력을 가지고 있는 사람이 한국에서는 취직이 잘 안될 수가 있어요. 반대로 한국에서는 인정받는 사람이 미국에 가서는 취직을 못할 수도 있어요. 그래서 미국에 가기만 하면 연봉이 오를 것이라는 생각은 안 하는 것이 좋아요. 미국 회사에서 원하는 능력을 내가 갖고 있느냐가 중요한 거에요.

그리고 억대 연봉에 너무 큰 기대심을 갖지 마세요. 미국은 세금이 쎄요. 한국돈 1억 원 연봉을 받으면 세금이 40%에요. 물론 세무사를 이용해서 어느 정도 절세를 할 수는 있지만요.

쉽게 고용될 수 있지만 또한 쉽게 해고당해요. 진짜 거짓말 안 하고 회사에서 님이 필요 없다고 오늘 짐 싸라고 하면 그날 내로 짐싸서 나가야 되요. 연봉이 높은 직업은 노동법 이런 것에 도움을 못 받아요. 노동법에 도움 받는 직장은 따로 있거든요. 노조가 있고 연봉 상한이 낮은 블루칼라 직업이에요.


쉽게 말해서 실질적인 능력을 증명할 수 없는데 년수 경력이나 면접기술로 회사에 들어가면 빨리 해고당할 수가 있어요. 제가 이 글 초반부에 링크한 글 있었잖아요. [번역] 코딩 공부 후 3개월 동안 구직하며 배운 점
저 글에 나온 면접 기술을 이용해서 연봉을 올리는 것은 좋은데 그 연봉만큼 실력을 못 보여주면 3개월 내로 해고당할 수 있어요. 장단점이 있는거죠. 왜냐하면 회사 입장에서는 저런 상황에서 구직자에게 속은 것이라고 생각할 수도 있거든요. 이렇게 입장이 상대적이에요.

미국 생활을 하면 돈 씀씀이를 주의깊게 관리해야 해요. 대책없이 쓰고 유흥을 하면 위기가 왔을 때 버티지 못해요.
특히 카지노를 조심해야 되구요. 술과 마약을 조심해야죠.

취업 비자로 생활하는 사람은 해고당했을 때 비자 만료 전까지 몇 개월 내로 재취업 하지 못하면 한국으로 돌아와야 해요. 물론 실력 있는 사람은 재취업이 쉬워요.

미국에서는 세금, 주거비, 의료비, 차량 유지비 때문에 한국에서 살 때보다 일 년에 2천만 원~3천만 원 정도 생활비가 더 들어요. 이런 부분을 감안해서 받아들여야 되요. 단순하게 돈을 더 많이 주니까 미국이 좋다고 생각하면 나중에 준비가 안된 채로 현실을 만났을 때 충격을 받을 수 있어요.


저는 이미 한국에서 회사를 다니고 있는데요. 어떻게 준비하는 것이 좋을까요?

한국 회사 계속 다니면서 오픈소스 프로젝트에 참여하세요. 한국에서 자바하고 있으면 자바 오픈소스 참여하시면 좋겠죠. 파이썬 하시면 파이썬 오픈소스 참여하시구요. 그러면서 앞으로 새로운 언어, 새로운 기술이 나올 것에 대비해서 포팅 훈련을 해보세요. 그러면서 깃허브에 차곡차곡 그 기록을 쌓으세요. 해외 업체에 구직 신청을 할 때 그 기록을 첨부해 넣으세요.



저는 한국에서 대학교를 다니고 있는데요. 어떻게 준비하는 것이 좋을까요?

위와 같아요. 똑같이 하면 되요. 단지 다른 점은 학교 공부하면서 오픈소스 프로젝트 참여한다는 차이밖에 없네요.


한국 생활과 미국 생활의 비교

제가 한국에서 개발자 생활을 할 때는 프리랜서로 하청을 했어요. 자영업 회사를 한 개 만들어서 제 동생 이기환님과 같이 일을 했죠. 2008년에 시작해서 월 수입이 1인당 2백만 원 정도 되었구요. 나중에 몇 년 지나서 실력이 쌓이니까 월 수입이 500만 원 이상이 되더군요.

그런데 한국에서 일을 할 때는 너무 빡빡한 일정 때문에 힘이 들었어요. 프로젝트도 다른 사람이 하다가 실패한 것을 땜빵해주는 일을 많이 했구요. 그렇게 보람찬 일이 아니었죠. 실력이 느니까 보수가 늘어난 것은 다행이었어요.

한국 사람들은 리팩토링을 잘 안해요. 왜 그럴까요? 시간이 없어서 그렇죠. 위에서 빨리하라고 쪼으니까 대충대충 할 수 밖에 없는 거에요. 리팩토링을 안 하니까 코드에서 계속 불확실성, 오류 가능성, 비효율성이 증가해요. 그게 자라나다가 결국 나중에 프로젝트를 발목잡아서 실패하게 되요. 수억 원을 들여서 진행한 프로젝트가 그렇게 묶이는 거죠.

저는 한국에서 일하면서 모은 돈으로 미국에 왔어요. 미국 생활은 참 널널해요. 평화롭게 코딩하면서 살아가고 있어요. 저는 사업을 시작했지만 투자를 받으려고 돌아다니거나 성공을 해야 겠다는 절박한 마음으로 살지 않아요. 제가 만들고 싶은 것을 만들면서 하루하루 느긋하게 살아가고 있어요. 생활은 그동안 저축한 돈으로 하고 있구요. 님들도 인생을 그렇게 멀리 보고 느긋하게 살아가기를 바래요.


프로그래밍 스터디 프로젝트 소개

그러면 저의 글을 이만 마칠게요. 마치면서 제가 최근에 구상한 오픈소스 프로젝트 한 개를 소개할게요.

제가 위에 프로그래밍 실력을 어떻게 쌓는지 적었잖아요. 그걸 보고도 사람들이 또 어떻게 해야 하는지 물어보는 분들이 있었어요. 그러니까 코드 읽고, 주석 달고, 리팩토링하고, 포팅하고, 구현하고 다 좋은 것 알겠는데 그걸 또 직접 하려니까 어렵고 그래서 물어보시는 거죠.

그래서 제가 프로젝트를 한 개 기획했어요. 이게 뭐냐면 오픈소스 프로젝트 한 개를 제가 기획을 해서 코딩을 하고, 주석을 달고, 리팩토링을 해서 아웃풋까지 가는 과정을 님들에게 공개해서 보여 드리는 거에요. 블로그에 연재도 하고요. 깃허브에 올리구요. 원하시는 분들에게는 실시간으로 코딩 협업 프로그램을 이용해서 참여하는 경험도 하게 해드리구요. 코딩 협업 프로그램이라는 것은 구글문서처럼 여러 명이 접속해서 코드를 수정하고 주석을 달 수 있게 하는 동시 수정 프로그램이에요.

  1. 오픈소스 프로젝트 한 개를 런칭한다.
  2. 그 안에서 무슨 일이 일어나는지 최초 시작부터 모든 정보처리 과정을 공개한다.
  3. 블로그에 진행상황을 연재한다.
  4. 깃허브에 올린다.
  5. 코딩 협업 프로그램을 사용해서 원하는 사람에게는 실시간 참여 기회를 준다.
    1. 코딩 협업 프로그램은 구글문서와 같이 여러 사람이 접속해서 코드를 수정하고 주석을 달 수 있게 하는 프로그램이다.

이 프로젝트의 이름은 Rellat, 릴랏이에요.


이 릴랏 프로젝트는 오픈소스구요. 무료에요. 관심있는 분들은 릴랏 페이스북 그룹에 가입해주세요. 진행되는 대로 소식 전달해 드릴게요.


의견, 피드백은 여기로 주세요.


Facebook Comments

Disqus Comments

About Author

안녕하세요. 제 이름은 이기준이에요.  저는 Deduction Theory, LLC라는 소프트웨어 회사에서 CEO로 일하고 있어요.
저는 제 동생 이기환님과 함께 일을 하구요. 연구와 공부도 하고 있어요. 우리가 연구하는 주제는 논리학, 수학, 과학, 그리고 컴퓨터 정보공학이에요. 이 블로그는 우리가 연구하고 공부하는 주제를 설명하는 곳이에요.
그리고 저는 최근 오픈소스 공개 스터디 릴랏 프로젝트의 내용을 번역해 주실 자원봉사자를 모집하고 있어요. 제 생각에는 이 프로젝트가 전세계에 사는 어린이, 학생, 어른에게 도움이 될 거에요. 특히 저소득층에게요. 이 프로젝트는 무료에요. 사람들에게 도움을 주려고 기획했어요. 저는 나중에 저소득 국가에 학교와 고아원을 짓고 사람들에게 이 프로젝트 방식으로 컴퓨터 프로그래밍을 가르쳐 주고 싶어요. 그렇게 해서 나중에 그 사람들이 더 나은 직업을 가질 수 있게 돕고 싶어요.
아래에 링크한 릴랏 소개 페이지를 읽어 본 다음 이것이 도울 만한 가치가 있다고 생각되시면 저에게 말해주세요.
오픈소스 공개 스터디 프로젝트 Rellat을 소개합니다
원문 컨텐츠는 한글로 전부 제가 쓴 것이에요. 우리는 세계 모든 언어로 번역할 계획을 가지고 있어요. 감사합니다.
안녕하세요. 이기준님과 함께 Rellat 프로젝트를 진행하고 있는 이기환입니다.
제가 프로그래밍을 처음 시작한 것은 어린 시절 어도비 플래시 프로그램에서 애니메이션을 만들다가 게임을 만들고 싶어서 액션스크립트를 사용한 것입니다.
Rellat 프로젝트의 방법론은 제가 평소에 일을 하는 방법과 같습니다.
저는 사실 500줄 이상 넘어가는 코드를 보면 정신이 없고 잘 기억도 안됩니다. 지금도 간단한 코드 문법이 기억이 안나서 구글을 뒤지는 경우가 허다합니다.
대신 저는 이 코드가 어떤 사고방식을 사용해서 만들어졌는지, 어떤 관계정보를 사용했는지를 추적합니다. 이것이 연역론의 코딩 방법론, 코딩 스타일, 컴퓨팅 세계관입니다.
이 사고방식을 갖추면 더 나은 정보처리 방식이 무엇인지 비교할 수가 있습니다. 이것이 프로그래밍의 본질이고, 가장 중요한 것입니다.
나머지 프로그램의 빈공간은 구글과 스택오버플로우의 힘을 빌려서 채워넣습니다.
저는 여러분도 그렇게 하면 끊임없이 만들어지는 새로운 기술, 수만 줄의 코드 속에서 허우적거리지 않으면서 대규모의 질 높은 정보처리를 더 효과적으로 할 수 있다고 생각합니다. 

Popular Posts

Visitor Map

Flag Counter