Who is this guy? • 박애주의자 선천성 선택 장애자: 모두 사랑합니다~❤ • 엄마 vs 아빠 • 부먹 vs 찍먹 • 엔지니어링 vs 비즈니스 • 프론트엔드 vs 백엔드 • Android vs iOS • 역시 모두 사랑합니다~ • @ IBM iX Japan by 5/15 • @ Google Japan since 5/18
기꺼이 시간을 쓸 수 있는 것 • TOEIC 고득점 받기 • 자격증 취득 길게 생각하기엔 너무 어려운 것 • 부자 되기 • 진로 선택 하기 • 최고의 직장에 들어가기 è나한테 왜이러세요?! 생각하는 것 자체가 공포스럽다. è 묻지마! 좋은 방향이든 나쁜 방향이든 대충 그럴싸한 해결 책만 찾으면 빨리 결정 내리고 잊어버리고 싶다.
부자 아빠 가난한 아빠 • “사람들이 가난한 이유는 돈이 없어서가 아니라, 돈을 금기시하며 금융 지식을 멀리하는 사고와 문화 때문” • 어떤 카드가 포인트를 많이 주는지 같은, 지엽적인 문제에는 집중하면서, 정작 자 산을 어떻게 모을지, 어떻게 관리할지는 생각하고 싶어하지 않음
다들 우왕좌왕.. • 뭘해야 할 지 모르겠으니 업무 강도는 약 함. 그러나 스트레스는 배로 증가.. • 뭐라도 해야겠으니.. • Agile! 일단 스토리부터 작성 à 만병통치약이 아님. 게다가 이런 경우 설계를 엉망으로 만들 수도 있음 • 에라 모르겠다. 일단 화면 구성과 API 부터.. à 초안과 완전히 다른 디자인이 나와 폭망 • 개발 초기는 널널, 말기엔 죽음의 야근..
• 자연스럽게 핵심 도메인 로직에 사용되는 데이터를 파악하게 된다 • 모든 개발팀원들이 쉽게 시스템의 가장 중요한 요구 사항들을 파악할 수 있다 • 1주 정도의 설계 확립 후, 바로 코딩에 들어갈 수 있 다 • But, 비즈니스 로직을 완전히 파악하기엔 무리가 있 음 à 여러가지 부작용이 야기될 수..
• 프로젝트 최악의 리스크를 방지 – 실제 비즈니스 요 건과 개발자와의 괴리 • 빠른 속도로 전체 내용을 가시화 가능. 개발자도 뭘 해야할 지 즉시 파악 가능 • 가장 변화 가능성이 적은 도메인 계층을 먼저 구현, 이후 데이터 계층 à 프리젠테이션 계층 순으로 구현 • 부가적으로, • 요구사항의 변경 가능성이 줄어듦 • 서버와 클라이언트가 거의 동일한 로직을 공유 가능: 슈퍼 셋과 서브셋에 가까운 형태로
TDD? • 기능을 구현하기 전에, 그 기능의 스펙을 먼저 작성하는 방법론 • 먼저 기능 명세를 간단히 작성 • 완료까지 무한루프 • 1번 기능을 만족하는 유닛 테스트 작성 • 1번 기능만 통과하는 유닛 테스트를 마구잡이로 작성 • 리팩토링 • (필요시)새로운 기능을 명세에 추가 • 눈 앞에 당면한 과제에만 급급해서 푸는 게, 역설적으로 더 훌륭한 코드를 만들 도록 해줌! • 참고 서적: TDD by Example
나에게 숙제 내기? • 개발력은 제일 높일 수 있는 방법은 역시 별도 프로 젝트를 해보는 것.. 하지만 많은 노력이 필요하고, 모 티베이션 유지가 쉽지 않음 • à 회사 업무 중에 접하는 모든 것에 호기심을 갖고 보기. 그리고 의문의 생기는 것은 적어놨다 나에게 숙 제주기
• 이런 질문에 답변을 못하면 면접관에게 매우 나쁜 인상을 줌 • iOS: bound와 frame의 차이는? • Android: Fragment의 onStart()와 onCreate()의 차이는? • Ruby on Rails: 혹은 protect_from_forgery with: :exception 은 어떻게 구현되어 있 나? • Back-end: msql의 인덱스는 어떤 원리로 동작하나?
Timeline (1) • 2019년 7월 이직 준비 시작 (IBM이 너무너무 좋았지만, 그래도 한 번 더 커리어 향상을 해보고 싶었음) • 10월 중순 구글 커리어 페이지에 마음에 드는 포지션이 올라옴 • 최종 준비 - 이력서 최종 수정, 백방으로 연락해서 추천해 줄 내부 직원 수배 • 11월 14일: 입사지원서 제출
준비 1: 이력서 • 세 번 완전히 고쳐 씀. 각 이력을 최대한 간결하게 적되, 업무에 서의 역할, 나의 중요도, (수치로 드러나는) 성과들을 명확히 표 현하도록.. • x팔림을 무릎 쓰고 여러 명의 사람에게 첨삭 부탁 • 영문 이력서는 1차로 뉴욕에서 MBA한 동생에게 리뷰 의뢰 - 신랄한 비판과 함께 첨삭 • 2차는 유료 리뷰어에게 의뢰. (역시나 신랄한 비판과 함께..)
• 100개 이상의 면접 후기를 수집. 탈락자의 글에서는 소감은 무시하고 면접 내용과 포맷만 집중. 합격자는 반대로 소감 위주로 분석. • Tip: 거의 모든 실리콘밸리 회사는, 면접자가 향후 자 사의 팬이 되도록 하는 것이 인터뷰의 주요 목표 중 하나이기 때문에 탈락자의 소감에는 노이즈가 상당히 많음
• 왜 상당히 실력이 뛰어난 개발자들도 구글 면접에서 잘 떨어질까? (심지어 소감을 보면 대부분 상당히 잘 답변했다고 분위기도 아주 좋았다고 하는데..) • 왜 구글은 면접자에게 터무니 없는 질문들을 할까? (eg. 당신이 갑자기 난쟁이가 되서 믹서기에 갇혔다. 곧 타이머가 작동하는데 어떻게 탈출할까?) Big Questions
• 2019년 11월 21일: 1차 phone screen • 2020년 1월 15일: 마지막 면접 • 1월 22일: 피드백 전달 및 “packet” 송부 • 각 면접관은 면접자의 주요 답변 등을 요약해서 보고서 제 출 à 면접에 참여하지 않은 시니어 멤버들로 구성된 위원 회에서 채용을 결정 • 1월 28일: Job Offer • 1월 31일: 최종 합격 Timeline (2)