1ilsang

Developer who will be a Legend

2020 신년 계획

2020-01-04 1ilsangDaily

cover

원래 처음 신년 계획에는 개발 관련 내용만 적으려다 기왕 이렇게 구구절절 나열한김에 전체적인 내 목표를 다 적어보려고 한다.

신년에 나는 어떤 것을 이루고 싶은걸까?
내년에 내가 이루고 싶은 것들을 생각해 봤다.

  • JS 의 깊이와 넓이
  • 알고리즘과 전공기초
  • 커뮤니티에서 세미나 하기
  • 영어

JS의 깊이와 넓이

뻔한 이야기겠지만, 가장 중요한 목표는 기술적 높은 성장이다. 엔지니어로 일을 하는 동안 팀에 피해가 되고 싶지 않다. 또한 빠른 성장으로 어디가도 인정받고 싶다.

기술적 높은 성장은 항상 내 마음속에 있는 ‘추상적인’ 목표였다. 나는 이걸 세분화하고 꼭 지키고 싶은 것들을 선별해 그것들에게 포인트를 주어 내년의 회고에서 몇 점을 먹었는지 확인해 보려고 한다.

todo list

일단 블로그 개편을 꾸준히 할 것 같다. 위의 투두리스트가 그 첫 번째였는데, 이것 처럼 블로그에 여러 카테고리를 만들고 조금 더 동적인 블로그로 변할 수 있도록 적극적으로 개편해 갈 예정이다. 따로 프로젝트를 만드는 것도 생각해 봤는데 역시 내가 가장 많이 쓰고 필요성이 있는 블로그를 조금 더 멋지게 만드는게 최우선이라 생각했다.

이 포스트에서는 개괄적인 것들만 다루고 진짜 세부적인 계획들은 저쪽에 다 담아넣으려고 한다. BackLog 부분이 터질덧ㄷㄷ

우선 자바스크립트의 신기술 팔로잉에 신경을 쓰려고 한다. JS를 메인으로 개발하고 있지만 그 깊이나 넓이가 많이 부족하다고 느끼고 있다.

올해 내가 성취하고 싶은 핵심 기술은 아래와 같다.

  1. TypeScript
  2. React - Hooks
  3. GraphQL
  4. Jest
  5. Node.js

특히 타입스크립트는 이제 거의 필수의 느낌이라 잘 하고 싶다. 현재 타입스크립트를 열심히 파고 있는데 이게 맞는건가? 의문이 많이 들고 있다. 여러 코드를 보면서 Best practice 를 얻으려고 노력하고 있다. 조금 욕심을 내자면, 하반기 목표로 RN 이나 extention 쪽을 한번 해보고 싶다.

위의 기술들을 사용한 개인 프로젝트를 하나 진행하려고 한다. 우선 Github만 파놨는데 기술을 익히기에 토이프젝만한게 없다 생각해서 올 한해동안 천천히 만들어 볼 예정이다. 주제는 알고리즘 게임 사이트! https://visualgo.net/en 와 비슷하게 만들어 볼 계획이다.

각 항목을 이루기 위해 강의, 책 등의 목표가 있는데 구체적인 기간이나 내용은 투두리스트에 추가해 놓으려고 한다.

알고리즘과 전공기초

틈틈히 하고 싶은 녀석들인데 의지의 부족… 으로 소홀히 하는 녀석들이다. JS 기술들을 익히는 것도 좋지만 결국 API 사용법이기 때문에 좋은 엔지니어가 되기 위해선 사용법이 아닌 그 깊이의 동작 방식 등을 잘 배워 나가야 한다고 생각한다. 그래서 매우 높은 포인트를 주어 이녀석들을 해보려고 한다.

  1. 매주 LeetCode 콘테스트 풀기(할수 있다면 스터디도 나가기)
  2. 종만북 보기
  3. 다이나믹 프로그래밍 책 한번 더 보기
  4. 성공과 실패를 결정하는 1%의 네트워크 원리
  5. Computer Systems A Programmer’s Perspective

ㅋㅋ. 이거 할수있을까? 종만북에서 일단 허들이 상당한데 CSAPP 는;; ㅠ.. 얘네들 다 본다? 올해 진짜 말도안되는 성과가 될 듯 하다. 이것들의 상세 일정 또한 투두리스트에 따로 정리할 예정이다.

커뮤니티에서 세미나 하기

내가 올해 가장 해보고 싶은 것 중 하나다. 열심히 공부하고 그 내용을 커뮤니티에 공유하면서 나를 알리고 싶다!! 친구를 사귀고 싶어…

영어

매년 목표에 들어가는 영어. 사실 지금까진 걍 해야히해야지 했는데 올해는 좀 강제성을 부여할 예정이다.

  1. 상반기 하반기 배낭여행가기
  2. 그래머 책 하나 읽기
  3. 오픽 IH

강제성이라 함은 바로 배낭여행… 현재 해외에서 이 글을 쓰고 있는데 나와보니 영어가 정말 필요하다. 그리고 조금 더 깊은 교감을 하고 싶어도 언어의 장벽때문에 친구 만들기가 쉽지 않다. 많이 반성하고 있어서 다음 여행에는 현지 친구 사귀기 프로젝트를 해야지!!

그 외

나는 과연 어디까지 할 수 있을까?

위의 애들이 ‘다하면 대박!’ 이라 이것까지 가능하다고 생각하지 않지만 할수있다면

  1. AWS 기초 자격증
  2. Docker
  3. Redis
  4. Spring / Rust / Go 택 1

이것들 또한 챙기고 싶은 녀석들이다.

도커와 레디스는 현업에서 지금 사용하기 때문에 더 깊이감이 있고 싶다는 욕심이 있다. 책 한권씩 읽어 보고 싶다.

4번은 3개중 하나일 것 같은데 고민이 많이 된다. 스크립트를 떠나 컴파일 언어를 해보고 싶은데 현재 JS 관련된 애들 익히는 것도 쉽지 않을거 같아서 너무 욕심이라 생각하고 있기 때문이다.

내가 지금 생각하는 것은 코틀린, 러스트, 고랭 세개중 하나를 하는 것이다. 왜 이 3가지를 고민하고 있는지 천천히 적어보겠다.

백엔드 개발자를 목표로 성장하고 있고 항상 언젠가는 JVM 언어를 해야하는 순간이 올 것이라 생각하고 있다. 취업을 하면서도 느꼈지만 한국에서 백엔드는 대부분 자바 스프링으로 되어있었기에 JVM 을 피할 수 없을 것이다. 그것보다 피할 이유도 없다. 그러므로 언젠가를 대비해서라도 코틀린을 해두는게 좋지 않을까 항상 고민하고 있다.

다만 내가 늘 고민이 되는 부분은 사내에서 노드로 개발을 하고 있고 JS 를 메인으로하는 개발자이기 때문에 코틀린이 내 경쟁력에 도움이 될지 의문이기 때문이었다. 어중이 떠중이의 느낌이 될것 같아서.. 언어의 깊이라는게 상대적인 부분이긴 하지만 어중간하게라도 하는게 좋을지 하나라도 더 잘하는게 좋을지 항상 애매한 부분이 있다.

Rust 의 경우 Rust 를 공부한다기 보단 Web Assembly 를 공부한다는게 더 옳은 표현일 듯 하다. 러스트의 강력한 성능에 호기심이 있고 JS와 생태계를 공유하기 위해 노력하고 있다는 점에서 나한테 흥미를 불러일으켰다. 웹어셈블리를 Rust 로 만들어 웹 성능에 큰 영향을 줄 수 있는 개발자가 될 수 있다면 배우지 않을 이유가 없을 것이라 생각했기 때문이다.

여기서도 내가 고민하는 부분은 Rust 의 봄은 아직 오지 않았다는 점이다. 비주류 언어를 하나 더 한다? 흠좀무 아닐까

마지막으로 올해 가장 핫했던 언어라고 하면 단언 Go랭 아닐까? 고루틴의 강력함과 간결한 문법, 뛰어난 성능 등은 많은 백엔드 개발자를 매료시켰고 구글에서 밀고 있다는 점과 도커, 쿠베 등까지 검증된 오픈소스도 고랭으로 되어있는 등 장점이 많은 언어다.

그래서 처음에는 고랭을 하려다 웹어셈을 알게되고 러스트를 고민하다 다시 아 역시 스프링인가? 하면서 무한한 굴례속에 있다. 얘네는 상반기 결산 쯔음 다시 생각해 봐야겠다. 지금은 너~무 많은 것들을 벌리고 있어서 어느정도 진행 경과를 보고 선택해야 할 것 같다.

대충 큰 틀은 위와 같고 진행 과정은 이 블로그에서 투두리스트로 관리할 예정이다.

나는 어디까지 가능할까? 2020년은 정말 흥미진진하다!