본문으로 건너뛰기

세미나에서 김영한님 발표

배달의 민족 김영한 기술이사님의 인프런 컨퍼런스 발표에서 발췌한 내용이다.

개발자들은 모두 문제 and 해결 을 평생 안고 산다. 문제를 보면 풀고싶고 해결하고 싶어한다.
기술면접관 또한 문제를 보면 해결하고 싶거나 풀고 싶어하는 특성을 갖고있다.

이력서를 쓸때, 프로젝트만 나열하지 않고
프로젝트에서 어떤 문제가 있었고, 어떻게 해결했는가, 어떤 노력을 했는가, 어떤 시행착오가 있었는가 등을 기록하는것
혹은 그러한 뉘앙스의 글을 간략하게 적어서 면접때 깊이있게 얘기를 풀어나갈 수 있는것이 중요하다고 한다.

면접관을 낚는다. 무엇으로?

  • 문제(이러한 상황에 이러한 문제가 있었다)
  • 해결(기술적으로)
  • 어떻게 해결했는지
  • 시행착오

로 말이다


그외 좋았던 말들

학습의 단계는 3단계.

  • 학습
  • 체득
  • 기록

강의나 책만 본다고 학습된것이 아니다. 체득(직접 프로그래밍, 그 부분만 만들어낸 작은 프로젝트)을 해야한다. 그리고 최종적으로 체득을 통해서 느낀 것이나 알게된 것 을 자신의 말로 잘 기록해 두어야 한다. 거기까지 완성되었다면, 그때 학습 했다고 할 수 있다.

피드백
테스트 코드가 좋다는것은. 실패라는 피드백을 빠르게 받을 수 있기 때문이다.
피드백은 발전, 성장의 원동력이다.
학습을 통한 성장 -> 이직준비(실패) -> 피드백 을 반복하는것이 엔지니어로써 더욱 성장할 수 있다.
완벽한 준비를 다 하고(1티어 레벨의 회사에 들어갈 실력을 다 갖추고) 그때 전직해야지 라는 우를 범하지 말자.

파고든다는것
컴퓨팅에서 어떠한 분야를 파고든다고 그 분야만 파고들게 되지 않는다. 그것을 파고들기 위해서 필요한 배경지식 등을 함께 알아야 하기때문에, T자형 이라기보단 항아리 형으로 파고들게 된다. 그러므로 본인이 무언가 심취해서 직접 파고들고, 그것을 꾸준하게 파고든다는 것은, 그 분야 이외에도 관련된 다른 컴퓨팅 사이언스들도 두루두루 알게된다.

목표와 시스템의 차이
목표는 이루면 성공 / 아니면 실패 이다.
새해가 밝았다. 올해는 10키로 뺀다.
다음주까지 AWS인강 20개 클리어.
다음달까지 리액트 인강 완강.
컨퍼런스를 본다 -> 열정이 끌어오른다 -> 실패(안하거나, 의지력부족으로 안하거나, 정말로 무언가 실패하거나) -> 접는다.
이러한 사이클을 대부분 반복한다.

하지만 시스템화 한다는 것은 루틴화 한다는 것이다.
그냥 나 자신을 시스템에 맡기는 것이다.

  • 매일 일끝나면 30분 운동
  • 아침에 일어나면 Java or Javascript or Go or Python 아무주제나 1페이지 예제 하드코딩
  • 매일 초간단 프로젝트 or 프로토타입 프로젝트 깃헙에 커밋
  • 아무 유데미 한개의 강의를 듣는다.
  • 아무 인프런 한개의 강의를 듣는다.
  • 각종 문법이나 연산자를 섞어서 SQL 기본 CRUD를 아무거나 하나 쳐서 결과를 확인한다.
  • 매일 2시간 IT든 다른 분야든 독서

등등 하루 3끼 밥먹는 것처럼. 하루 3끼 못챙겨먹어도 1끼는 먹는것 처럼,
무엇인가 자신만이 하루에 반드시 클리어 하는 루틴을 만드는 것이다.
그것을 시스템화 한다 / 자신만의 시스템 / 자신만의 루틴 이라고 하는 것 이다.
시스템을 만들고 시스템을 운영 한다면, 종종 or 가끔 그 시스템이 잘 돌아가는지, 잘 운영되는지 체크한다. 점검한다. 시스템을 유지보수(추가/변경)한다.