어서와, 개발은 처음이지?

2019 회고와 2020 해야할 일들 본문

일상록

2019 회고와 2020 해야할 일들

오지고지리고알파고포켓몬고 2020. 2. 5. 12:32
반응형

2 0 1 9 . . .


연말에 하는 드라마가 시상식에서 수상할 확률이 높듯, 작년을 돌이켜보면 가장 큰 이슈는 이직이 아니였나싶다.

결론적으로 현 직장을 계속 다니는 중이지만

성장을 위해 다음으로 나아갈 방향에 대해 고민과 정보를 얻을 수 있었다.


연차는 쌓여가는데 천상계를 보고있자면 아직도 심해 탈출은 먼 길처럼 느껴진다.

해야할 일은 많고 흘려보낸 시간도 많다.

앞으로는 좀 더 계획적으로 살아보자.


그 시작으로, 스스로 편승하지 않기위해 공개된 장소에서, 나에게 약속하는 마음으로 회고와 목표를 작성해본다



1. 오픈브레인(Open Brain)


1-1. 총평


지난 1년 동안 일상에 빠짐없이 스며들었던 일을 꼽자면 오픈브레인 스터디 활동이다.

오픈브레인은 2018년 설립되어, 개발과 관련된 tech 정보 공유 플랫폼 구축을 목표로 설립된 비영리 단체이다.


<OpenBrain CI>


2019년은 플랫폼 구축을 위한 준비 단계로, 휴식 포함 약 6개월간 매주 한 번씩 모여 기반지식 스터디를 진행했다.

언어 기본, 디자인 패턴, 새로운 라이브러리 등 다양한 분야에서 새로운 지식을 습득하고,

이미 알고있던 지식은 되새기는 알찬 시간을 보냈다.


특히 혼자 공부하면 나태해질 때가 있는데, 매주 한 번씩 발표를 준비해야했기 때문에, 다른 사람들에게 피해를 끼치지 않기위해

게을리 보낼 수 없는 동기부여가 될 수 있어서 좋았다.


1-2. 달성 내용


오픈브레인 구성원들끼리 각각 연초 목표로 잡은 내용이 있다.

내가 이런 목표를 잡았었다는 것도 잊어버릴 정도로 정신없이 지나왔지만 그래도 크게 엇나간 범주는 없어서 신기했다.


1. 프론트 조지기

- Redux (달성)

- Typescript (달성)

- next.js (미달성)


2. GraphQL 조지기

- apollo (미달성)

- Sequelize.js 기반 (달성)


3. 디자인패턴 공부 (달성)


4. 리액트용 TDD (달성)


위 내용들을 '마스터'했다 수준으로 익혔다는 뜻은 아니다.

시작이 반이라고, 이거 해봤어요? 했을때 살짝 알고있는 지식을 어필할 수 있을 정도이다.

하단에 목표에 대해 작성하겠지만 이 내용들은 앞으로 꾸준히 다듬고 정제하고 증진시켜야 한다.



2. 이직 준비


이직 준비를 해야겠다고 느꼈던건 지금 회사에서 자연어 처리 업무로 시작하고,

포지션이 변경되면서 모바일(RN) / 백엔드(Express, Django) / 프론트엔드(Jquery, React)를 모두 만지고 있는데

시간이 갈수록 전문성 없는 잡부가 되는 것 같았기 때문이다.


때문에 사실 프론트앤드를 진로로 설계하고, 그에 맞춰 플랜을 짠 건 그리 오래된 이야기가 아니다.


이번 이직 준비 과정동안 부족함이 많음에도 운좋게

전국민이 사용하는 메신저를 만든 기업의 프론트엔드 팀,

유우명한 오픈마켓 기업 등을 포함한 몇몇 곳에서 면접을 볼 수 있었고 아래와 같은 방향성을 얻을 수 있었다.


2-1. 무엇이 부족했나


- 기초/기본에 집중하자


프론트엔드는 js에서 시작해서 js로 끝난다고해도 과언이 아니다.

javascript 기준으로 언어에 대한 이해도는 초/중수 정도는 된다고 생각한다.(믿기 어렵겠지만 나는 겸손한 편이기에, 이렇게 말할 수 있다는건 정말 그만큼 많은 노력을했다는 뜻이다.)  

하지만 프론트엔드가 javascript만 잘하면 된다고 생각했던 멍청함이 발목을 붙잡았다.


- 다만 너무 하나에 빠지지 말라, 기반이 되는 지식까지 넓게 봐야한다


웹 개발에서 js나 라이브러리(react 등)를 잘쓰는 것도 중요하지만

결국 이 모든것은 브라우저 위에서 돌아가는데

브라우저(단순하게 보면 dom)를 어떻게 하면 잘 다룰 수 있는지에 대한 고찰을 충분히 하지 않았었다.


<xx놈이 뭣이 중헌지도 모름서 프론트엔드를?>


이것만으로도 프론트엔드 개발자 라는 타이틀에 자격 미달이다.

혹시 'Jquery 개발자'를 우습게본다면 한 번 생각해보라.

당신은 프론트엔드 개발자인가? React 개발자인가?(혹은 그에 준하는 라이브러리)


한번쯤은 vanilla js 위에서 최적화 된 웹 페이지를 연구해봐야할 필요가 있다.

(약간 오버하면 라이브러리 vs 바닐라는 최적화 면에서 JAVA와 C의 차이정도로 생각해볼 수 있다)


또한 웹은 통신의 산물이다. 네트워크에 관한 지식도 필요한데 대학교 이후로 생각해본적이 없었다.

이보다 멍청하지 않을 수가 없다.


- 기술 스택은 시간이 흐르면 변하지만 클래식은 영원하다.


추가로 아쉬웠던 점은 언어, 포지션에 상관없이 적용할 수 있는 개발소양

즉 클린코드, 리팩토링, 테스트 같은 내용들에 대해 심도있게 고민해보지 않았던 부분이다.(이미 몇십년 전부터 중요성이 있었음에도 불구하고..)


만약 이게 갖춰져 있었으면 (주니어 기준으로) 키워쓸 수 있겠다 싶은정도의 입지는 확보할 수 있었을 것이다.

'프레임워크 공부를 멈춰라'라는 글을 읽은적이 있는데, 이 시점 이후에나 그 참의미를 조금은 알 수 있었다.


2-2. 모든 행동에는 이유가 있어야한다


일을 하다보면 옳지 않음을 알고 있음에도 그렇게 하고있을 때가 있다.

예를들면 테스트 코드를 잘 작성하지 않는이유.


몰라서? 귀찮아서?

듣는 입장에서 이것은 이유가 될 수 없고 핑계라고 하기엔 설득력도 없다.


면접 자리에서 이야기를 하다보면 살면서 선택했던 순간들과 마주치게 된다. 잘한 일도 있고 잘못한 일도 있을 것이다.

하지만 논리성, 이성적임을 증명하기 위해서는 내 행동에 대해 납득할 수 있는 정당한 이유를 이야기할 수 있어야 한다.


하물며 왜 js를 주 언어로 택했는지, 왜 프론트엔드를 하게됐는지 같은 사소한 이유들에 대해서도 한번쯤 생각해보자



2-3. 결과론


구직 끝에, 사람 대 사람으로써 인상 좋고 유망한 기업에 이직을 할 수 있었던 상황이였으나 지금 회사 사정이 안좋아서 나갈 수 없었다.

사정이 안좋으면 빨리 나가야 하는게 아닌가 싶겠지만, 나 혼자 살자고 몇 년을 함께한 사람들을 버리고 갈 수 없었다. (내가 지금 핵심인력으로 구분되기 때문에 업무나 투자 면에서 타격이 크다.)


회사 존속 여부의 결과가 몇 개월 남지 않은만큼 망할때 망하더라도 끝까지 달려보자는 마음이 크다.

지금 새 보금자리를 찾나, 2달 뒤에 새 보금자리를 찾나 큰 차이는 없을 것이다.


실패도 경험이랬던가?


이도저도 아니게 중간에 도망치지 않는다. 

지더라도 후회없게 마지막까지 달려보자.



3. 일상


일상적인 부분에서 크게 기억이 남는건 두가지로 정리할 수 있다.


3-1. 종교생활


마음속의 알 수 없는 부름(request)에 이끌려 올해부터 종교생활을 시작해봤다(response).


1년의 시간동안 느낀 이것의 가장 큰 장점은 매주 한 번씩 회고의 시간을 가질 수 있다는 점이다.

매주 일요일 저녁마다(한 주도 빠지지 않았다.) 일주일을 어떻게 보냈는지 되뇌이면서 반성하고, 마음을 다잡는 시간을 가지며 다음주를 어떻게 보낼지 그림을 그릴 수 있다.


그리고 인생이라는 거대한 흐름을 신이라는 존재에 맡기고(위임) 내가 나아갈 방향에만 집중하게 해주는 효과도 있다.


3-2. 이사


월세 생활을 벗어나 대출을 받아 전세 집으로 이사갔다.

이전 집은 벽에 외풍이 있어서 자고일어나면 찬바람을 맞은듯 칼칼함이 있었는데 지금은 꽤 양질의 수면을 취하고 있다.

(다만 새벽에 자꾸 깨는건 여전하다. 출근 스트레스는 어쩔 수 없나보다..)



4. 총평


지금의 나는 과거의 내가 만든 모습이다.


첫 회고이기 때문에 기억이 잘 안나고, 정리가 잘 되진 않지만 어쨌든 지금의 내 모습을 보면 썩 부족한 일년을 보낸 모양이다.

올 한해는 잘 준비해서 좋은 결과를 내어보자.



2 0 2 0 목 표


2020년에 달성해야 할 목표를 간략하게 적어보자.

생각날 때마다 추가하고, 주기적으로 회고하며 보완할 수 있는 습관을 들여보자.


1. 책읽기


1년 동안 최소 12권의 전공 서적 읽기를 목표로 잡았다.

일단 몇가지 책들을 리스트업 해봤다.


gof 디자인패턴 / 리팩토링(마틴 파울러) / 리팩토링 자바스크립트 / 자바스크립트 성능 최적화 / 실용주의 프로그래머 / the art of readable code / 자바스크립트 패턴과 테스트 / 클린 코드 / 테스트 주도 개발 / dom을 깨우치다 / 읽기 좋은 자바스크립트 코딩 기법 / 그림으로 배우는 http & network





몇가지 책은 이미 읽었고 추가로 생각날 때마다 갱신하도록 한다.



2. 오픈브레인


오픈브레인 커뮤니티 플랫폼 개발은 3월부터 본격적으로 진행될 예정이다.

FE BE 모두 js 기반으로 진행할 예정이라 안해본 영역(백엔드) 쪽에 역할을 수행하고 싶었으나 일단 프론트부터 잘 다져놓는게 우선이 아닐까 생각했다.


어찌됐든 언어, 포지션에 상관없이 적용할 수 있는 개발소양에 집중해서 프로젝트를 진행할 것이다. 



3. 개인/팀 프로젝트


전에 같이 일했던 소장님과 몇몇 지인들과 함께 재밌는 서비스를 구상하고 있다.

매달 넷째주 월요일에 정기 모임을 갖고, 어떻게 얘기가 잘되서 이번에 정부 투자사업에 지원할 예정이다.

그런고로 어쩌면 내 다음 행선지가 될수도 있다.


그 외에 믿거앱 이라던지, 다이어리 앱도 슬슬 진행시킬 타이밍이 온 것 같다.



4. 개발 습관


TDD 책에서 프로그램은 완성시키는 것이 아니라 발전 시켜나가는 것이랬다.(정확한 멘트는 기억이 나질않는다.)

위에서도 언급했 듯 언어나 포지션에 상관없이 적용할 수 있는 개발소양을 발전시켜서 습관화 해나가자.


리팩토링이나 TDD 철학이 좀 정립되게끔 해서, 올해 말쯤에는 그에 대한 포스팅을 할 수 있을 정도를 목표로 잡아보자.



5. 개념화는 꾸준히


글 쓰는 습관도 게을리 하지말자.


the art of readable code에서는 '할머니가 들어도 이해할 수 있게 설명할 수 있어야 진정으로 이해한 것이다.'라는 문구가 있다.

공부한 것들에 대해 꾸준히 정리하고, 시간이 자나서 다시 검토해보고, 그때와 지금 느끼는 지식의 차이를 음미하며 다시금 다듬는 시간을 갖자.


javascript 프로그래밍 입문을 주제로 유튜브 강의를 만들어보는 것도 좋은 경험이 될 것 같은데, 여간 쉬운일이 아닐테니 일단 이 마음만 갖고가자.



6. 다짐


- 나중으로 미루지 않는 개발자가 되자.(어 이거 나중에 해봐야겠다 -> 당장 해봐라 미래의 나 녀석아..)


- 꼰대가 되지 말자.(꼰대 개발자는 치명적이다. 사상이 고이기 시작하면 다른 지식들을 수용하거나 받아들이지 못하더라)


- 이 세계에 절대적인 것은 없다. 자신의 코드가 완벽하다고 생각하는가? 항상 모든 것을 의심하라.


- 이제 회고는 끝났다. 실행에 옮겨라!



Comments