Deview 2016 행사가 다음 주로 다가왔습니다.


도서정가제로 인해 더이상 독자들에게 도서 할인 행사를 진행할 수 없어 어떻게 조금 더 재미있는 시간을 함께 만들어볼까 고민하던 차에 페이스북을 통해 여러 가지 의견을 수렴하여 몇 가지 이벤트를 기획하게 되었습니다.




참석 하시는 많은 분들의 참여 부탁드립니다.

저작자 표시 비영리 동일 조건 변경 허락
신고

설정

트랙백

댓글

이 글은 미국에서 data scientist이고 machine learning 분야 박사학위자이며 현재 senior software engineer인 유시진(가명)님이 유학을 준비 중이거나 미국에서 IT 업체에 취업을 하고자 하는 개발자들에게 도움을 주고자 글을 작성하여 저에게 보내주신 내용을 제가 정리하여 공유해드리는 글입니다. 

​조금 더 많은 분들에게 도움을 드리고자 새롭게 시작한 브런치의 매거진에도 함께 공유를 합니다. 꼭 가명으로 올려달라고 하셔서 그냥 딱 생각난 이름을 도용했으니 많은 여성분들은 오해 없으시길 바랍니다.




이 글은 미국에서 구직 중이신 분들께 도움을 드리고 싶어서 썼습니다. 제가 그동안 구직 활동을 하면서 경험했던 것들을 정리해서 말씀드리겠습니다. 즉, 제 경험을 바탕으로 한 것이니 주관도 들어갈 수 있습니다. (본 글은 지원자가 미국에서 학교를 다니는 기준으로 하겠습니다.)


미국의 채용 과정(job process)은 다음과 같습니다.


일자리 지원(Job apply) -> 초기 전화 심사(Initial Phone Screen, 채용 담당자, 선택사항) -> 온라인 평가(Online assessment, 선택사항) -> 전화 인터뷰(Phone Interview) -> 현장 인터뷰(Onsite Interview) -> 일자리 제안(Offer)


1. 일자리 지원

회사에 지원하는 방법은 여러 가지가 있지만 제일 좋은 방법은

1.1 본인의 대학에서 열리는 채용 박람회(Career Fair)에 가는 겁니다. 이력서(Resume)를 주고 채용 담당자(Recruiter) 또는 엔지니어(Engineer)와 이야기를 나눌 건데 30초 안으로 자신의 강점을 말하는 게 중요합니다. 보통 회사는 대학 채용 박람회에 올 때 며칠 안으로 인터뷰를 진행하는 경우가 많습니다. 즉, 보다 빨리 채용될 수 있습니다.

1.2 두 번째 방법은 LinkedIn입니다. LinkedIn에서 job tab으로 들어가셔서 지원을 하거나 LinkedIn에 이력서를 상시 업데이트하면 채용 담당자에게서 연락이 자주 옵니다. 또는 본인이 가고 싶어 하는 회사의 엔지니어와 connection 요청을 하시는 것도 좋은 방법입니다. 채용 담당자에게 email로 직접 본인의 이력서와 원하는 job link를 문의하는 것도 좋습니다.

1.3 가장 보편적인 방법은 회사 웹사이트에 들어가서 지원하는 겁니다. 단점은 이 중 가장 시간이 오래 소요됩니다. 이력서가 수시로 들어오기 때문에 채용 담당자가 놓치는 경우가 많습니다.

1.4 제일 중요한 점은 각 팀마다 요구하는 기술사항이 다르므로 한 회사에서도 여러 군데에 본인이 원하는 직군에 이력서를 많이 보내는 게 좋습니다.


2. 초기 전화 심사(채용 담당자, 선택사항)

말씀드렸듯이 이는 선택사항입니다. 채용 담당자가 본인이 이 역할에 잘 맞는지 더 자세히 알기 위해 엔지니어와 인터뷰 전 전화로 이 사람이 업무를 잘 수행할 수 있는가 알아보는 시간을 갖습니다. 이를 통과하면 채용 담당자가 엔지니어 팀에 이력서를 넘기고 보통 팀 매니저가 결정을 합니다. 시간은 보통 10~15분 정도가 소요됩니다. 


3. 온라인 평가(선택사항)

요즘 온라인 평가(테스트)를 채택하는 회사들이 (e.g. Yelp, Amazon) 많습니다. https://www.hackerrank.com/ 사이트를 자주 사용하고요. 문제가 주어지고 본인이 원하는 프로그램 언어(program language)를 선택하신 후 algorithm을 작성하면 자동으로 사이트에서 채점을 합니다. 주어진 시간은 20분 ~ 1시간 정도입니다. Data structure를 공부했으면 그렇게 어렵지는 않지만 한국에서만 정규 교육을 받은 분들에게는 연습이 요구됩니다. 저도 한국에서 학부를 나왔지만 미국은 algorithm 구현하는데 수업을 많이 투자하기 때문에 처음에는 어렵습니다.


4. 전화 인터뷰

아마 가장 많이 접하실 거고 가장 많이 떨어지기도 하는 테스트입니다. 크게 인터뷰는 두 가지로 분류할 수 있습니다. 30분짜리 인터뷰이면 아마 지식 혹은 경험(knowledge) 부분만 물어볼 텐데 꽤 어렵습니다. 1시간짜리 인터뷰가 제일 보편적이고요, 10분 정도 이력서 심사(resume screen)를 하고 바로 코딩(coding) 문제로 들어가거나 지식 혹은 경험(knowledge) 부분을 조금 물어볼 수 있습니다. 코딩 테스트(coding test)를 할 때는 인터뷰어가 문제를 불러주고 본인이 인터넷을 통해 코딩을 하게 되는데 Google doc 같이 실시간으로 본인의 코드를 보게 됩니다. 이 중 주의할 부분은 인터뷰어가 중점으로 두는 사항은 (1) 문제를 잘 이해했는가? (2) 어떻게 문제에 접근하는가? (틀려도 좋습니다. 과정이 중요합니다.) (3) Big O notation에 대해서 잘 이해하는가? (4) Data structure에 대해서 잘 아는가? 를 가지고 판단합니다.

코딩을 할 때는 반드시 코딩만 하지 말고 "당신이 원하는 요구사항은 input이 이럴 때 이러한 output을 원하는가"를 꼭 물어보시고, 코딩을 하면서 "나는 data structure 중 linked list를 사용하겠다. 이유는 ~~~이고 timecomplexity는 이렇게 나올 것이다. 내가 만드려고 하는 algorithm은 대충 이러한 procedure를 가질 것이다"라고 먼저 설명을 한 다음 코드를 짜야합니다. 그리고 코드를 짜면서 꼭 말을 하면서 해야 합니다. 안 그러면 인터뷰어가 이 사람이 뭐하는 건지를 모르겠죠? 말을 하면서 코드를 짜야 본인을 더욱 어필할 수 있습니다. 코딩이 끝난 다음은 디버깅(debugging)을 해야 합니다. input에 어떤 값을 넣고 본인 코드에서 어떠한 일들이 일어나고 output으로 원하는 결과가 나온다는 것을 인터뷰어에게 디버깅하면서 보여주는 게 좋습니다.


말씀드리고 싶은 것이 많지만 간략하게 정리만 해 드리는 게 목적이므로 책을 소개하고 넘어가겠습니다.

https://www.amazon.com/Cracking-Coding-Interview-Fourth-Programming/dp/145157827X/?&&-14&+interview+questions

PDF로 찾으시면 다 나오고요, 다 보실 필요는 없고(1) Arrays and Strings (2) Linked Lists (3) Stacks and Queues (4) Trees and Graphs (5) Sorting and Searching (6) Recursion 정도만 공부하시면 도움이 많이 되실 겁니다.



5. 현장 인터뷰

전화 인터뷰를 잘 보셨으면 당일 ~ 일주일 내에 채용 담당자가 채용 인터뷰 초대를 할 겁니다. 현장 인터뷰는 직접 회사에 가서 시험을 보는 겁니다. 3시간 ~ 5시간 정도 소요되고요, 그 이상을 하는 경우도 있습니다. 비행기표와 호텔비, 식사비는 보통 회사에서 모두 지원을 합니다. 인터뷰는 칠판에 코딩을 하거나 지식 혹은 경험(knowledge)에 대해서 물어보는 식입니다. 코딩은 전화 인터뷰보다 어렵고요, http://www.geeksforgeeks.org/ 또는 leetcode.com에 나오는 문제 수준입니다. 지식 혹은 경험(knowledge) 부분은 아무래도 벼락치기는 상당히 어렵습니다. 저의 경우에 MapReduce를 인터뷰어가 전혀 모른다고 가정을 한 다음 칠판에 설명을 해보라는 식이었습니다. 그리고 시스템을 어떻게 구현할 것인지 아키텍처를 그려보라고도 하고, 아키텍처가 마음에 들면 세부적인(detail) 부분을 물어봅니다. 즉, 현장 인터뷰에서는 본인의 모든 실력을 다 발휘하셔야 합니다.


6. 일자리 제안

이 모든 것을 통과하시면 합격 통지를 받으시게 됩니다.


두서없이 썼네요. 아무튼 도움이 되셨길 바랍니다.



편집자 주 1 : 기고자께서 대부분의 용어를 영문으로 작성하여 주셨으나 가급적 읽기 편하게 한국어로 바꾸었으며, 프로그래밍 용어의 경우는 그대로 영문으로 표기해 었습니다.

편집자 주 2 : knowledge의 경우는 지식이라는 뜻도 있지만 아무래도 개발자의 경험 또한 인터뷰 당시 중요하게 보는 듯하여 '지식 혹은 경험'이라고 번역하였습니다. 

저작자 표시 비영리 동일 조건 변경 허락
신고

설정

트랙백

댓글

2015년 지앤선의 도서 중 가장 많은 사랑을 받았던 베스트셀러 10(정확히는 11)을 발표합니다.

발표 전에 우선 말씀드리고 싶은 것은, 한권 한권 소중하지 않은 도서가 없으며 도서를 위해 애써주신 저역자분들께 이 자리를 빌어 다시 한번 진심으로 감사 드립니다. 내년에도 더 재미있는 작업으로 함께 하길 바랍니다.


공동 10

PostgreSQL 성능 최적화




이 책을 찾는 독자들은 데이터베이스 운영을 시작하기 위한 지침, 든든한 모니터링 방법, 시스템이 잘 운영되게 하기 위한 유지보수 방법, 문제 해결을 위한 방법 그리고 데이터베이스가 직접 제공하지 않는 기능들을 추가하기 위한 애드온 툴을 위한 힌트들이 필요할 것이다. 이 책은 현재 PostgreSQL 데이터베이스의 문제점을 엿보고, 자주 일어나는 문제들이 닥치기 전에 그 징조를 미리 찾는 방법을 알아본다.




이클립스 환경에서의 빅데이터 프로그래밍



처음 빅데이터 프로그래밍에 발을 들이는 개발자는 맵리듀스 프레임워크의 개념 이해와 함께 개발 환경에서 어려움을 겪는 일이 있다. 주로 Java로 맵리듀스와 Hive, NoSQL HBase, MongoDB 등을 프로그래밍 하는데 이전에 익숙해져 있던 Eclipse 통합 개발 환경과의 연계가 명료하지 못하였다. 이 책은 Hadoop 프레임워크의 이론에 대한 설명과 더불어 예제를 Hadoop 2.2 Eclipse 플러그인을 사용하여 Eclipse 통합 환경의 맵리듀스 퍼스펙티브 환경에서 Hadoop 프로젝트를 개발, 구현하고 배포하는 데 목적을 둔다. 또한 대표적인 NoSQL HBase MongoDB를 다루는 챕터에서도 NoSQL의 운영과 관리보다는 Hadoop을 다룬 챕터와 같이 Eclipse 환경의 맵리듀스 퍼스펙티브 환경에서 Java 프로그래밍에 초점을 맞추었다.



9

사용자 경험 이야기 : UX를 이해하는 가장 쉬운 방법







이 책은 사용자 경험에 대한 바른 이해와 정의를 깨우치게 한다옆에서 이야기하듯 진행되는 구성은 생소한 학문에 대한 두려움을 떨치게 하며매 페이지마다 등장하는 적절한 그림은 사용자 경험이라는 다소 모호하고 추상적인 개념을 구체화시키는 데 도움을 준다사용자 경험은 궁극적으로 무엇을 말하는 것일까저자가 들려주는 UX의 세상으로 이야기 여행을 떠나보자.




8

룰 메이커 : 실리콘밸리를 움직이는 사람들



이 책은 실리콘밸리에서 창업에 몸담은 저자들이 회사를 성장시키기 위해 분투하는 과정으로부터 시작된다. 세상이 필요로 하는 제품을 만들겠다는 열망 속에, 그들이 직면하게 되는 수많은 문제들의 답을 얻기 위해 찾아간 다양한 실리콘밸리 구성원들의 조언은 무엇보다 가장 큰 자산이었다. 이 책은 독자들과 그 조언들을 공유하고자 시작된 인터뷰 프로젝트의 결과물이며, 실리콘밸리를 움직이는 주인공들의 뼈아픈 경험을 바탕으로 한 직설적이고, 진실한 이야기를 엿볼 수 있다.





7

War of IT : 전쟁사를 통해서 본 IT 기업의 패권 다툼


이 책은 세계의 전쟁사를 통해 지금의 IT 비즈니스를 돌아본다. 글로벌 IT 기업의 흥망성쇠와 신흥 강호의 등장, 그리고 앞으로 IT 산업을 바라보는 통찰을 이 책을 통해서 얻을 수 있다. 수와 고구려의 살수대첩에서 아마존의 플랫폼 전략을, 십자군 전쟁의 역학관계를 통해 애플과 마이크로소프트의 전략적 제휴를, 로마군을 통해서 본 사물인터넷까지 ‘War of IT’는 가장 핫한 IT 이슈와 산업을 전쟁사를 통해서 비교, 분석하여 독자로 하여금 세계 IT 기업의 패권 다툼을 조망하도록 한다.


 


6

[개정판]거침없이 배우는 라즈베리 파이


GPIO 포트를 활용하고 애드-온 보드를 라즈베리 파이와 연결하여 전기학적 프로젝트에 활용하는 법 등 다양한 내용을 수록하고 있다. 또한 이 책은 카메라 보드, 파이 스토어, NOOBS와 그 외 많은 정보를 새롭게 수록하고 있으며 컴퓨터 활용의 새로운 문화로 자리잡은 라즈베리 파이를 최대한 활용할 수 있도록 도와주는 완벽한 지침서다.

* 추가 부록

작지만 더욱 강력해진 라즈베리 파이 2가 출시됨에 따라 다음과 같은 내용이 수록되었다.

(라즈베리파이 2 출시 배경/리눅스 설치하기/윈도 10 IoT 설치하기)

 



5

생각하는 냉장고 뉴스읽는 장난감 : 사물인터넷 시대의 UX 디자인




이 책은 소프트웨어 개발, 웹 디자인, 건축, 엔터테인먼트 등의 분야에서 활용되는 사용자 경험 디자인에 대해 폭넓게 다루기보다 유비쿼터스 컴퓨팅 사용자 경험 디자인에 유용한 아이디어와 기법을 소개하는 데 초점을 맞춘 책이다. 특히 출시된 제품 디자인, 학술적 프로젝트, 기업 연구용 프로토타입, 테크놀로지 아트의 예를 가능한 한 많이 소개하려고 노력했다.




 

4

나를 표현하는 글쓰기, 나를 대신하는 책쓰기



그렇다. 우리는 글을 어떻게 써야 하는지 모른다

이제 진짜 글쓰기를 시작하자. 너와 나를 연결하고, 세상을 향해 외치지만 내 스스로가 치유되는 글쓰기를 시작하자. 이 책은 독자의 마음에 자그마한 울림을 통해 기어코 펜을 들게 만드는 힘이 있다. 학습코치로 활동하는 저자의 필력은 스스로 글을 쓰도록 하는 마음을 이끈다. 차분한 그의 문체는 인간의 DNA에 숨어 있는 기록의 욕망을 일깨운다.


 


3

코드 품질 시각화의 정석 : 지속적인 소프트웨어 품질 분석과 관리를 위한 SonarQube 완벽 가이드


이 책은 소프트웨어의 품질에 영향을 미치는 요소들에 대한 이해를 좁고 소프트웨어 소스 코드의 품질을 정량적으로 분석해 주는 오픈소스 웹 플랫폼 도구인 소나큐브를 현업에서 곧바로 적용할 수 있도록 구성하였다. 시스템의 규모가 커지고 복잡도가 증가하였으며 여러 프로그래머들이 하나의 소스 코드를 공동으로 취급하게 되면서 높은 품질의 소프트웨어를 작성하는 일은 점점 어려워지게 되었다. 소나큐브는 FindBugs, PMD 등 소프트웨어의 품질을 단편적으로 분석해 주던 분석 엔진들을 하나의 플랫폼으로 통합하고 품질 프로파일, 품질 게이트 등을 통해 소프트웨의 품질을 직관적인 형태로 시각화 한다. 또한 자바, C/C++, C# 등 널리 사용되는 프로그래밍 언어를 하나의 플랫폼에서 분석하며, 분석 결과를 다양한 기준으로 비교할 수 있어 지속적으로 소프트웨어 품질을 개선하고 관리할 수 있는 환경을 제공한다.

 


2

컨텍스트의 시대


실리콘밸리 최고의 IT 기술 블로거 로버트 스코블과 소셜 미디어의 파워를 예측한 컨설턴트 셸 이스라엘이 다시 만났다. 인간의 삶을 바꿀 다섯 요소에 대한 통찰, 나보나 나를 더 잘 아는 데이터와 센서가 지배하는 시대-컨텍스트의 시대를 이 책을 통해 먼저 경험할 수 있다. 이 책에서 미래를 마주할 준비를 하라. 모든 조짐들로 볼 때, 컨텍스트 시대로 말미암아 발생된 변화들은 이전 세대에 일어난 것보다 더 대단하고 근본적일 것이다. 독자들이 앞으로 몇 년에 걸쳐 일어날 컨텍스트를 기반으로 하는 기술 발전을 이해하기 위한 프레임워크로서 이 책을 사용하길 바라며 컨텍스트 상에서 이 책을 받아들여 본인의 일과 삶의 변화에 대처하는 데 도움이 되기를 바란다.


 


1

수학으로 시작하는 3D 게임 개발



이 책은 3D 게임 개발을 위해 꼭 알아야 하는 수학 내용을 자세하고 알기 쉽게 설명한다. 프로그래머, 기획자, 그래픽 아티스트 등 모든 게임 개발자와 더불어 현재 게임 개발자가 아니더라도 게임 개발에 필요한 수학을 공부하고 싶은 고등학생, 대학생들도 충분히 읽을 수 있는 책이다. 가장 기본 개념인 벡터와 행렬에서 출발하여 보다 복잡한 내용의 아핀 변환, 사원수, 투영, 충돌 검사 등을 올바른 순서로 차근차근 충분히 설명해 나간다. 또한 이런 수학 개념을 어떤 수학자가 무엇을 위해 만들게 되었는지에 대한 재미있는 역사 이야기도 함께 담고 있다.




2015년 한 해도 함께 해주셔서 너무 감사합니다. 2016년에는 더욱 좋은 도서로 찾아 뵙도록 하겠습니다. 항상 응원해주시고 관심 가져주세요.

 

새해 복 많이 받으세요!!!

저작자 표시 비영리 동일 조건 변경 허락
신고

설정

트랙백

댓글

2015년 한 해동안 지앤선에 보내주신 관심과 응원에 진심으로 감사 드립니다.

지앤선의 도서 중 소중하지 않은 도서는 한 권도 없으나, 1년동안 독자들께 가장 많이 사랑을 받았던 도서 10권을 소개하려고 합니다.


(가나다 순으로 소개. 공동 10위가 있음.)


[개정판]거침없이 배우는 라즈베리 파이Raspberry Pi User Guide (에벤 업튼, 가레스 할퍼크리 지음 / 유하영, 전우영 옮김)



나를 표현하는 글쓰기, 나를 대신하는 글쓰기 (정형권 지음)



룰 메이커 : 실리콘밸리를 움직이는 사람들 (이제형, 오수려, 정미녕 지음)



이클립스 환경에서의 빅데이터 프로그래밍 (황세규 지음)



사용자 경험 이야기 : UX를 이해하는 가장 쉬운 방법 (이상용 지음)



생각하는 냉장고 뉴스읽는 장난감Smart Things : 사물인터넷 시대의 UX 디자인 (마이크 쿠니아브스키 지음 / 이미령 옮김)



수학으로 시작하는 3D 게임 개발 (양영욱 지음)



War of IT (김영욱 지음)



컨텍스트의 시대Age of Context (로버트 스코블, 셸 이스라엘 지음 / 박지훈, 류희원 옮김) 



코드품질 시각화의 정석 (김모세 지음)



PostgreSQL 성능 최적화PostgreSQL High Performance (그레고리 스미스 지음 / 박동식, 최원희 옮김)


 

이 중 가장 많은 사랑을 받은 1위 도서를 12월 31일 오후 1시까지 맞추시는 분들 중 5분을 추첨하여 2016년 지앤선에서 가장 먼저 출간되는 게임물리엔진Game Physics Engine Development (이안 밀링톤 지음, 김도균 외 옮김)도서를 선물로 보내드리겠습니다. 페이스북 페이지 댓글 혹은 블로그 댓글로 참여하시면 되고, 1위 발표는 2015년의 마지막 날 블로그와 페이스북을 통해서 알려 드리도록 하겠습니다.


, 그럼어떤 도서인지 맞춰볼까요???



저작자 표시 비영리 동일 조건 변경 허락
신고

설정

트랙백

댓글

여러분 안녕하세요~


정말 오랜만에 인사 드리는 지앤선의 &입니다.


모두 잘 지내고 계시죠??? 요즘 미세먼지도 그렇고 국정교과서도 그렇고 여러 가지 걱정되고 신경 쓰이는 소식들이 많은데요, 그 와중에 제가 새롭게 도전하고 있는 몇 가지 것들에 대해서 소식을 전해드리려고 오랜만에 글을 남깁니다.

 

우선, 제가 요즘 브런치라는 것에 글을 쓰기 시작했어요. 지앤선 블로그에는 아무래도 개인적인 소식보다는 지앤선의 소식을 더 많이 전해야 할 것 같아서 시작했는데 아직까지 열심히 하고 있지는 않지만 꾸준히 작성해서 매거진도 만들어볼까 해요^^ “[접속]제가 한번 개발자를 만나 봤습니다.” 글들도 다시 정리해서 매거진으로 구성해볼까 하니 기대해주세요.

 

브런치의 글을 보시면 아시겠지만 구글 행아웃을 통한 방송도 시작했어요. 이미 많은 분들이 알고 계시는 Code Coast TV를 통해서 4번 방송을 했어요~ 현재는 YouTube에서 다시 보기를 제공하고 있어요. 아직은 너무 떨리고 부족한 것도 많지만, 앞으로 비개발자의 개발자들의 위한 방송을 재미있게 해보려고 생각하고 있습니다.

 

그리고 또 하나, JavaScript 공부에 이어서 최근 SQL 책을 한 권 공부하고 나서 Java 공부에 도전하고 있는데요, 이런 것도 자꾸 자랑을 해야 실력이 늘게 된다고 하더라고요. 가끔 브런치를 통해서 공부하고 있는 것들 자랑할 테니 여러분도 공부법이나 새롭게 배우신 것들 같이 공유해요. 공부는 역시 혼자하면 잘 안 되더라고요. 자꾸 딴 생각만 하게되고… (나만 그런가??? ㅎㅎㅎ) 저 좀 많이 알려주세요!!!

 

이랬거나 저랬거나 항상 조금 더 재미있고 즐겁게 다가갈 수 있도록 노력하는 모습 많이 보여드릴께요. 언제나처럼 많은 응원과 관심 부탁 드려요~

 

모두 즐거운 주말 보내세요.

 

By & 

저작자 표시 비영리 동일 조건 변경 허락
신고

설정

트랙백

댓글


티스토리 툴바