essay

Jbee.log(2017)

16 min read|17. 12. 31.

한 번의 fail의 두 번째의 success

LINE에서의 인턴

LINE 인턴 프로젝트, Reids-ops-bot정말 운이 좋게도 17년 1월~ 2월에 동계 인턴을 하게 됬다. 지금 다니고 있는 회사가 LINE이 아닌걸 보니 정규직으로 전환되지는 않았나보다. 현재는 백엔드를 하고 있지 않지만 그 때 당시 백엔드를 중점적으로 공부하고 있었기 때문에 LINE 인턴을 백엔드 분야에서 했다. 이 때 정말 많은 것을 배울 수 있었는데, 그 중 하나는 '난 백엔드랑 안 맞는 것 같아' 였다. 인턴 생활 중 작성한 TIL, 배울 게 너무 많았다.사실 그 때 많이 혼났다. 다른 사람한테 혼난 뭐 그런 것이 아니라 나 자신이 나 자신을 많이 혼냈다. 개발 공부를 시작한지 1년만에 인턴이 되면서 정말 기고만장해 있었다. 웹이라는 분야를 어느 정도 안다고 착각했기 때문이다. 실제 프로덕션 코드, 개발 환경은 달랐고, 그 수준부터 달랐다. 내가 게시판 좀 만들어봤다고 함부로 덤빌 수 있는 영역이 아니었던 것이다. 이렇게 혼나면서 많이 배웠다. 그리고 겸손해지게 되었다.

  • Git을 하드하게 사용해보았다.
  • Redis / Kafka / Zookeeper 등 백엔드의 주요 구성 요소들에 대해 학습할 수 있는 기회였다.
  • 맡았던 프로젝트가 비동기 코드로 작성되어 있어서 동기/비동기에 대한 학습을 깊게 할 수 있는 기회였다.
  • 코드 리뷰는 어떻게 진행되는지, 로그는 어떻게 남기는 지 등에 대해 배웠다.

JavaScript와의 재회

https://github.com/JaeYeopHan/ECMAScript6_study

다시 학교로 돌아와서 프로젝트를 진행하면서 ECMAScript2015와 프론트엔드를 공부하게 되었다. 개발 공부를 처음 시작했을 때, '풀스택 개발자라면 JavaScript!' 하면서 공부하다가 말았던 JavaScript였다. 그렇게 한동안 JavaScript를 멀리했다가 다시 공부를 하게 되었는데 Java와는 비교도 할 수 없는 유연함이 날 강력하게 끌어들였다. 처음 공부할 때는 몰랐다. 마치 어렸을 때 본 영화를 커서 다시 보니 감회가 새로운 그런 느낌이었다. 정말 운이 좋게도 '김태훈 교수님'을 만나서 프론트엔드 전반에 대해서 많은 것을 배울 수 있었다. 위 ECMAScript2015 자료도 김태훈 교수님의 수업을 듣고 정리한 내용이다. 뿐만 아니라 webpack과 같은 각종 툴에 대한 학습도 할 수 있었다.

  • JaeYeopHan/webpack2_tutorial
  • webpack2_tutorial - JavaScript Module bundler, Webpack2 from scratchgithub.com

배운 내용들을 병적으로 문서화하는 습관이 있어서 여러 tutorial repository를 만들었던 시기다.

이 때부터 계속 프론트엔드 개발을 하고 있다. LINE에서 정규직으로 전환됬다면 이런 기회는 없었을 것이다.

  • ECMAScript2015
  • React 공부
  • webpack, eslint, mocha, chai등 프론트엔드 개발 도구에 대한 학습
  • 웹 브라우저에 대한 학습

NAVER 핵데이 그리고 입사

NAVER 2017 하계 인턴'캠퍼스 핵데이'라는 네이버 주최 해커톤을 참가하게 되었다. 원래 밤새 개발하는 것을 좋아해서 해커톤은 나를 드러낼 수 있는 최적의 장소였다. 정말 운이 좋게도 이전에 학습 경험이 있었던 SpringBoot로 해커톤 주제가 선정되었고 배울 점이 많은 멘토님과 팀원을 만나서 재밌게 개발을 했다. 그 결과 인턴으로 입사를 하게 되었다.

면접이 한 번 있었는데, 난 면접을 준비하면서 그동안 내가 공부한 내용들을 모조리 정리했다. 그 결과물이 '기술 면접 가이드라인' 이다. 단순히 읽고 이해하는데 그치지 않고 이해한 내용을 바탕으로 정리하고 배출하는 과정이 정말 중요하다는 것을 느낀 과정이었다.

https://github.com/JaeYeopHan/Interview_Question_for_Beginner

예비 개발자들의 기술 면접 준비를 위한 자료를 정리해놓은 Repository 입니다.

페이스북에 공개하니 많은 분들이 관심을 주셨다. 정말 감사하다. star도 꾸준히 찍히고 있고 pr도 간간히 올라오고 있다. 좀 더 다양하고 풍부한 컨텐츠를 추가하고 싶은데, 내가 개발하고 있는 분야가 아니다보니 조금 힘든 것이 아쉽다.

7주간의 인턴 동안에도 많은 사람들을 만났고 많은 것을 배웠다. 뜨겁다 못해 불타올랐던 여름이었다. 나에게도 광복절에 함께 출근할 동기가 생겼던 시기였고, 배울 점이 많은 선임 개발자분들을 만난 시기였다. 함께 인턴을 했던 두 동기와 함께 정규직으로 전환됬고, 부족한 실력으로 밥벌이를 할 수 있게 되었다.

취업 준비를 할 때 중점적으로 둔 부분은 다음과 같다. (거의 대부분은 저 '기술 면접 가이드라인' 저장소에 정리되어 있다.)

  • CS 기본 지식에 대한 복습
  • 지원하고자 하는 분야에 대한 깊이 있는 학습
  • 진행한 프로젝트에 대한 명확한 이해
  • 협업 과정에서의 경험

회사 생활

회사에서 내 자리나름 만족스럽게 회사에 다니고 있다. 그런데 출근하면서 퇴근하면서 가끔 학창 시절 존경하던 교수님이 해주셨던 말이 생각났다.

'회사 들어가면 너가 하고 싶은 공부할 시간도 없고 너가 개발하고 싶은 것도 개발 못 할거다.'

사실 약간의 아쉬움으로 회사를 다니고 있다. 물론 현재 팀에서도 배울 수 있는 것이 엄청 많다. 많다 못해 넘쳐흘러서 배운 내용들을 정리하는 것도 빠듯하다. 새해부터는 이 과정 속에서 어떻게 개인 개발 역량을 높일 것인가 고민하고 그 고민을 바탕으로 계획을 세워야겠다고 느꼈다. 그렇지 않으면 뒤쳐질 것만 같은 느낌이다.

**'협업'**에 대한 부분에 있어서 많은 것을 배운 것 같다. '자신의 분야를 정말 잘하는 개발자'보다는 '함께 일하고 싶은 개발자'가 되려면 어떻게 해야할까? 에 대한 고민을 많이 했던 시기였다. (이 내용으로 발표도 할 예정이다.)

회사에서도 병적으로 문서화하는 습관은 사라지지 않아서 배운 내용들을 토대로 '안녕, 장그래 프로젝트'를 진행하고 있다. 내용은 우리 팀에 완벽히 의존성이 걸려있다. 나 다음 입사하여 팀에 적응예정이신 분에게 많은 도움이 되었으면 좋겠다.

개발 생활

커밋 로그는 거짓말을 하지 않는다던데, 너무 적나라하게 드러난다. LINE 인턴 기간 동안은 개인 개발을 전혀 하지 않았다. 그리고 발표를 기다린다던가 추석이라던가 등등의 이유로 듬성 듬성 비어있다. 그 연두색 높이도 높지가 않다. 저절로 반성하게 되는 커밋 로그 그래프다. 뭔가 회사에서 개발하는 건 개발하는 것 같지 않다. 분명 코딩을 하고 있는데도 내가 만들고 싶은 서비스를 만드는 것이 아니다보니 그런 것인지는 몰라도 아무리 코딩을 해도 코딩에 대한 갈증이 가시질 않는다. 또 프론트엔드 개발자라면서 이 분야를 휩쓸고 다니는 React라는 라이브러리로 그렇다한 서비스하나 못 만들어 본 것이 정말 부끄럽다.

무작정 트렌드만 좇는 것이 정답은 아니지만 트렌드를 알아야 하는 것은 분명한 것 같다. 알만한 사람들은 다 알겠지만 개발 분야, 공부할게 넘쳐난다. 최근에는 TypeScript에 관심이 생겨서 포스팅도 해보고 이것 저것 뒤져보면서 공부하고 있다. 내년에는 TypeScript와 어렴풋한 기억으로 남아있는 React로 재밌는 사이드 프로젝트를 진행할 예정이다.

또 다시 회고에 대한 회고

티스토리 블로그에 2017년의 개인적인 일상 생활에 대한 회고를 한 적이 있다. 생각해보니 올해의 목표는 별다른 건 없었고 취업하는데만 집중했던 것 같다. 그래도 좋았던 기억이 가득하다. 뿌듯했던 한 해라고 생각한다. 그래도 먹고는 살아야 한다는 큰 불을 껐으니 Step by Step으로 계획을 세워서 차근 차근 성장할 일만 남았다.

무엇을, 어떻게할까?

Jbee's 이공일팔.

블로그 꾸준히 연재하기 (시리즈물 기획)

블로그는 계속 꾸준히 할 것 같다. 현재 내 유일한 취미다. 여러 시리즈 물을 기획하고 차근차근 연재할 계획이다.

  1. (1분기) Hello coding 시리즈 연재하기
  2. (2분기) 슬로우 코딩(백투더 베이직) 시리즈 연재하기
  3. (3분기) 알아두면 사랑받는 개발지식 (디자이너를 위한) 시리즈 연재하기
  4. (4분기) 이력서, 기술 면접, 소프트 스킬 등에 대한 내용 연재하기
  5. 티스토리 블로그에 이번주의 Article 시리즈 연재하기
  6. 좋은 블로그 글 번역하기
  7. TypeScript Korea 팀 블로그에 포스팅 하기

컨퍼런스 또는 Meetup에서 발표하기 그리고 준비하기

아직 구체적인 계획은 없지만 기회가 된다면 분기마다 한 번씩은 발표를 할 예정이다. (1분기는 벌써 예정되었다!) 또한 TypeScript Korea에서 진행하는 밋업을 성공적으로 진행할 예정이다.

사이드 프로젝트 진행하기

순서가 뒤바뀌었는데, 기획 단계에서 경험해보고 싶은 개발 스펙먼저 구상하고 아이디어를 구상하고 있다. (정말 잘못된 사이드 프로젝트…) 주제는 VSCode extension 또는 GitHub Agent 애플리케이션 둘 중 하나로 결정될 것 같다. TypeScript / React / Redux & redux-observable / Storybook / Firebase (or AWS Lambda) 이런 개발 스택으로 진행할 예정이다. 프로젝트 스펙과는 상관없이 그냥 공부해보고 싶었던 것들로 구성했다.

스터디 진행하기

  • 팀 내 스터디. 이미 기획도 끝났다. 각종 프레임워크 라이브러리를 살펴보면서 동일한 feature에 대해 각각이 어떻게 구성되었는지 비교해보는 스터디. 새해 가장 기대가 되는 스터디이다.
  • Rx 스터디. RxJS를 시작으로 앵귤러 개발자는 ngrx를 React 개발자는 redux-observable로 나아가는 스터디이다. 아직 기획 단계에 있다.
  • TypeScript 스터디. 강의 자료가 50% 정도 만들어졌다. 사내에 TypeScript 스터디를 열어서 많은 분들이 TS에 대한 부담감을 내려놨으면 하는 바람으로 준비하고 있다.

자매품으로 티스토리 블로그에 올린 회고글도 있다. 2017년 지극히 개인적인 회고

끝.