티스토리 뷰

회고는 무슨, 회나 먹고 싶다.

2017년 1월에 2016년 회고록을 쓰다가 잠시 접어놓고, 정신 차려보니 2017년이 끝나고 2018년이 와버렸다. 이런 젠장 이렇게 게으른 주제에 회고는 무슨 회고냐. 내 주제에는 회나 먹으러 가는 '회 Go'가 어울린다. 그렇지만 앞으로 달려나가는 것도 중요하지만 지나온 길을 돌이켜 보고 다음을 준비하는 것도 분명 중요한 일이다. 그래서 이 단락으로 2017년 회고의 첫 문단을 뗀다.

나는 영혼을 바쳐 개발을 했고, 결국에는 퇴사했다.

개발하다가 코피 터져본적 있음? 난 있음. 2017년 1월

2016년 10월에 모바일 O2O 커머스 스타트업 백엔드 개발자가 되었고 2017년 11월에 다시 백수가 되었다. 퇴사한 회사는 좋은 경험으로만 남기면 되니 회사에 대해 왈가왈부 할 필요는 없고, 단지 내가 맞닥들인 상황은 아래와 같다.

현재 서비스가 돌아가도록 유지하면서,

인원과 비용은 줄여야하고,

새로운 기능도 추가시킴과 동시에 기술 부채도 걷어내야한다.

  • 매달 천 몇 백 달러씩 발생하던 서버 비용을 600 달러까지 줄였다.
  • 레거시 PHP 서버를 Node.js로 새롭게 설계하고, 포팅하고, 새로운 기능을 추가했다.
  • 기존에 수작업으로 노가다하던 일을 백오피스 툴과 기능 개발로 해결했다.
  • 팀간 업무나 외부 업체와의 일을 조율해야 했다.
  • 아무도 건들지 않았던 수많은 똥(기술부채)과 버그를 치워야 했다. 다는 못치웠다.
  • 6명이던 개발팀이 2명까지 줄고, 서서히 4명까지 늘었지만 다시 또 2명이 되었고 나는 팀이 박살 나지 않게 최선을 다해 막으려 노력했다.
  • 위에서 뭔가 하자고 하고, 지금 상황에 도저히 안될 거 같으면 온갖 근거를 들어 막아야했다


대략적인 2017년의 Github 커밋. 1,000여개의 기여 중 700개는 회사 업무다.

돌이켜보면, 일에 치여 스스로의 발전이 있었을까라는 생각이 든다. 어려운 상황 속에서 팀과 회사를 위해 내가 할 수 있는 모든 것을 했어야했다. 정말 상황이 어려울 때는 개발을 하지 못하고 다른 업무를 하면서 발로 뛰기도 했다. 그나마 사정이 괜찮아졌을 때도, 먼 미래보다는 당장 닥칠 일을 걱정하며 계획하고 개발했다.

이 과정에서 나에게 무슨 성장이 있었는지 지금은 잘 모르겠고, 구체적으로 정리가 안된다. 그렇다고 얻은 것이 아예 없다고는 하지 못한다. 분명 그런 과정 속에서 나는 뭔가 느끼고, 경험했기 대문이다.

나는 무엇을 읽었나?

요즘에는 인터넷이나 기술 공식 Docs가 워낙 잘 나와있기 때문에 기술이나 개념 습득 등에 굳이 책을 볼 필요가 많이 없어졌다고한다. 실제로 주변 킹왕짱 개발자 분들 중에도 책을 멀리하고 인터넷과 포럼을 가까이 하시는 분들이 종종 있지만, 나는 둘 다 선호한다. 인터넷으로 익히는 내용은 인스턴스 같은 느낌이고 책으로 익히는 내용은 저자의 생각이 뇌에 다이렉트로 꽂히는 느낌이라 좋아한다.

2017년에 아래에 나열한 책들 보다는 더 읽을 계획이었지만, 읽지 못한 친구들은 내 책장 한구석에서 곱게 내가 읽어주기만을 기다리고 있다. 아래의 책들은 올해 읽었던 책들 중 인상 깊었던 친구들만 골라봤다.

개발자로서 어떻게 살 것인가?

개발자로서 세상을 어떻게 살아가고, 어떻게 학습하고, 어떻게 성장하며 미래를 준비할 것에 대한 고민이 많았다. 물론 나의 상황에 100% 대입 할 수는 없겠지만 앞으로 내가 살면서 맞닥들이게될 다양한 상황들을 간접 체험 할 수 있었고, 선배들의 다양한 조언이 담겨있었다.

소프트웨어 개발를 어떻게 할 것인가?

2017년에 나는 프로젝트를 이끌거나 개발팀의 로드맵을 그려야하는 일이 종종 있었다. 개발팀은 어떻게 일 해야하는지, 개발 프로세스, 다른 직군 팀과의 협업을 어떻게 해야하는지 고민했다. 고민 당시에는 위의 책들 보다는 더 읽었겠지만 지금 내가 구매해서 보유하고 있는 책은 위 두 권 뿐이다.

기타

  • 그림으로 공부하는 IT 인프라 구조
    • 자기 전에 가끔씩 보고 있다. 아직도 덜 봤다.
  • 도메인 주도 설계
    • 내가 이해하고 싶은 책 중 1순위다. 반정도 읽었지만, 반의 반정도도 이해 못한것 같다. 어려워..
  • 객체지향의 사실과 오해
    • 일명 토끼책으로 불리고, 대학교에서 배웠던 '객체지향'이라는 개념을 더 보강해줬다. 근데 내용이 기억 안나는 걸 보니 조만간 다시 읽어봐야할 듯..
  • 만약 헤밍웨이가 자바스크립트로 코딩한다면
    • 재미로 읽었다. 문학 작가의 스타일 별로 자바 스크립트 코드 형식을 다양한 스타일로 엮어둔 책이다. 물론 저대로 하면 lint에 걸리는 것들이 있다.
  • 손에 잡히는 Vim
    • 나는 vim충이다. 2013년 처음 vim을 익혔을 때 부터 계속 사용해 왔고, 올해가 되서야 겨우 vim을 벗어나 Atom + vim mode 조합을 사용 중이다. vim을 조금 더 잘 쓰기 위해 구매해서 읽었지만 간단한 팁 정도 얻는 느낌이고, 혁신적인 발견은 없었다.
  • 블록체인 구조와 이론
    • 요즘 가방에 넣고 다니며 읽고 있는 책이다. 근데 가방에 넣고 다닌지 2달 정도 된거 같다..

읽겠다고 사놓고 먼지만 쌓여가는 책들

  • 함수형 자바 스크립트
  • 머신러닝 인 액션
  • 마스터 알고리즘
  • 실용주의 프로그래머
  • 누워서 읽는 알고리즘
  • 개발자 영어
  • 등등..미안해 책들아..

물론 개발 공부를 책으로만 하지는 않았다. 괜찮은 포스트나 감명을 주는 포스트, 웹페이지를 보면 페이스북에 저장하거나 공유하는 습관이 있어 지난 1년간 내가 어떤 글들에 감명을 받았나 살펴보고 다시 읽어 봤다.

2017년 인상 깊게 읽은 포스트


수 없이 읽었던 기술 포스트 중 페이스북에 저장되지 않은 링크는 빠졌고, 그 중에서도 나름 뺀다고 많이 뺐는데도 많다. 지금 보니 2017년에 크게 관심 가졌던 주제는 '개발 프로젝트', '개발 프로세스', '스타트업', '인프라 아키텍트', 'API', 'javascript'다.

감명 깊게 봤던 포스트들을 제대로 아카이브 해놓지 않은게 아쉽다. 당시에 감명 깊게 봤던 포스트도 시간이 지나면 흐릿해지고, 다시 봤을 때 새로운 걸 깨닫는 경우도 많기 때문이다. 2018년에는 뭐든 방법을 생각해서, 인상 깊은 포스트를 잘 아카이빙 해봐야겠다. 한상곤님이나 아웃사이더님의 블로그 포스트 처럼 기록해두는 것도 좋은 방법일 것 같다.

나는 뭘 했을까

발표

총 3번의 발표를 했다. 아쉬운 점은 기술적인 발표가 없다. 기술 내용에 관한 발표도 항상 해보고 싶기는 한데 아직은 왠지 자신이 없다. 2017년에 한 외부 발표는 진로나 학습 방법에 대한 발표 뿐이다.

OSS 개발자포럼 겨울 캠프. 2017년 1월

  • 개발자가 되기전 누군가 알려주면 좋았을 모든 것들
    • 17년 1월 OSS 개발자 포럼X국민대학교 겨울 캠프에서 특강으로 발표했다. 말을 좀 더 천천히 하면 좋겠다라는 주최측의 피드백을 받았다.
    • 이 특강이 끝나고 참여자 한분으로 부터 메일을 받았다. 지방에 거주하는 고등학생이고 친구들과 개발 학습을 시작하고 싶은데, 뭐 부터 시작해야할지 잘 모르겠다는 내용이었다. 최대한 성심성의껏 장문의 답변을 드렸고, 큰 도움이 되었다는 회신은 정말 기뻤다.
  • 나도 내가 뭘 말해야되는지 잘 모르겠어, 본격 스타트업 환상 부수기
    • 17년 10월 모교인 가톨릭대학교 컴퓨터정보공학부에서 학회와 취업 특강에서 각 2회 발표했다.
    • 아무래도 스타트업 위주의 내용이라 취업을 준비하는 대학생 친구들에게는 큰 인기가 없었던 것 같다. 흑.

오픈소스

반성해야할 부분이다. 언제나 오픈소스에 기여를 많이 하고 싶다고 생각하지만 올해도 생각으로 그쳤다. Github 저장소 찾아가서 Issue나 깔짝깔짝 남기던 것을 제외하면 실제로는 딱 하나의 오픈소스 npm 패키지에 기여했을 뿐이다.

  • node-escpos
    • Node.js 용 ESC/POS 프린터 드라이버 패키지. 회사 업무에 필요해서 사용했고, 기능이 부족해 추가 커밋을 만들어 컨트리뷰터가 되었다. 지금은 콜라보레이터다.
    • 하지만 퇴사를 했고, 더 이상 POS 프린터를 만질 수 없으니 이제 기여를 할 수 없을 것 같은 느낌이다.

개발 커뮤니티

다양한 개발자들을 만나고, 얘기를 듣는 것은 역시나 흥미로운 일이다. 하지만 2017년 보다는 오히려 대학생일 때 더 잘 한 것 같다.

  • OSS 개발자 포럼
    • 감사하게도 나를 특강과 조교로 불러주셨고, OSS 개발자 포럼 주최 컨퍼런스나 세미나도 참여했다.
  • 9XD
    • 1회 9XD 해커톤에 참여했다.
    • 공식 9XD Meetup에 매번 신청하지만 매번 떨어졌다.
  • 우분투 한국 커뮤니티
    • 2016년 까지 나름의 우분투 애정을 가지고 열심히 할려고 했던 커뮤니티인데, 2017년에는 활동이 0이다. 반성..

토이 프로젝트

재직 중에는 거의 못 했다. 회사 내에서 토이 프로젝트를 여러개 진행 했었지만 대외비라 여기에 기재하지는 않고, Github에 공개된 프로젝트만 기재한다.

  • datetime-offset.js
    • 시간 관련된 npm 모듈이다. 사실 moment.js를 래핑하고 있는 모듈이고, C#의 DateTimeOffset 구조체에서 영감을 받아 만들어봤다. 테스트 케이스를 빡쌔게 만들어 봤었다.
    • 쓰다보니 역시나 moment.js가 최강이라서 지금은..
  • 9xd-Go-Server
    • 1회 9XD 해커톤에서 만든 '9XD Go' 애플리케이션에 사용된 백엔드 서비스다.
    • 해커톤이다 보니 프로토타입이고, 그냥 간단한 express.js 와 sequelize 구현체에 가깝다.
  • react-wedding-card
    • React.js로 작성된 모바일 웹 청첩장 템플릿이다.
    • 친한 친구의 결혼식에 실제로 사용하기 위해 만들었고, 가능하면 다른 경우에도 사용되었으면 좋겠다는 희망과 함께 README.md를 열심히 썼지만 인기는 없다.
  • resume
    • 퇴사 후 이직을 위한 새로운 웹 이력서를 만들기 위해 시작한 프로젝트다.
    • 아웃사이더님의 이력서 포스트에 영감을 받았다. 지금은 간단한 index.html 한 개 HTML 문서지만, 조금 더 나를 표현하기 위해 어떤 방법이 있을지 고민 중이다.
    • 나를 표현하기 위한 방법으로 '뇌내망상 코너'를 준비 중인데, 아직도 준비만 하고 있다.
  • winter-is-leaving-and-Spring-is-coming
    • 나의 첫 Java Spring 프로젝트다. 이젠 한번 쯤은 해봐야 할 것 같았다.
    • 그냥 Spring Boot + JPA를 사용한 간단한 API 서버다.
    • 졸라 개 허접하고 나는 정말 자바를 잘 못 쓰는구나 깨달음을 얻었다.

블로그

재앙이다. 올해는 단지 8개의 포스팅만을 했을 뿐이다. 손들고 반성 중이다.

페이스북

블로그 포스팅 횟수가 줄어든 반면, 간단한 생각들을 장문의 포스트로 페이스북에 작성하는 습관이 들었다. 블로그 보다 내 의견에 대한 피드백을 바로 받을 수 있는 점이 매우 마음에 든다. 사실 내가 관종이라 그렇다. 아래는 2017년 페이스북에 썼던 똥글 중 진지하게 썼던 것들을 모았다.

2018년 나는 이제 무엇을 할 것인가?

지금까지 위 내용들을 꽤나 오랜시간에 걸쳐 돌이켜보고, 정리했다. 내가 2017년에 어떤 부분이 부족했는지 대략 보인다.

부족했던 기술 원리에 대한 이해

나는 "개발자"가 아니라 "기술 사용자"가 아닐까? 라는 생각이 여러번 들었을 정도로 단지 서비스를 개발로 찍어내는데 급급했던 지난 해였다. 어떤 기술을 선택 할 때 보수적으로 선택하지만 '그 기술은 아직 안정화 되지 않았어' 와 같이 리스크를 피하기 위한 선택이었지, 구체적인 근거를 들어가며 '우리 아키텍처에는 이런 이러한 이유로 그 기술은 적합하지 않아'라고 얘기하지 못했다. 그냥 많이 쓰이고 있고, 레퍼런스가 많다는 이유로 선택하기도 했으며 그러다보니 내가 쓰는 기술에 대해서도 그 원리를 정확하게 설명하지 못 했다.

또한 개발자에게 알고리즘은 필수 교양과 같은 종목이다. 개발 능력과 알고리즘 능력은 별도로 구분되어야 하지만, 상관 관계가 없는 것도 아니기에 날카로운 칼을 갈듯이 항상 감을 잃지 않도록 해야된다.

솔직히 고백하자면 알고리즘에 약한 편이다. 똑같이 노력해도 남들 보다 효율이 떨어진다. 아마 남들보다 평균적인 감이 부족한 것 같다. 내가 더 흥미를 가지고 있고, 잘 하는 것에 집중하자면서 개발하다보니 잘 늘지를 않더라. 지금 수준도 나름 열심히 한다고 해서 끌어 올렸지만 아직도 많이 부족한 영역이다.

  • 기술 원리에 대한 이해를 하자. 최소한 지금 내가 쓰는 기술들의 Docs라도 제대로 읽자
  • Codewars를 열심히 풀자. 5 kyu 까지는 가고 싶다.

부족했던 독서량과 블로그 포스팅

책을 읽은 시간이 없다는 것은 핑계다. 오가는 출퇴근 시간도 활용 할 수 있고, 잠들기 전 누워서도 충분히 읽을 수 있다. 그냥 내가 게을렀을 뿐이다. 실제로 정말 쩌시는 모 킹갓개발자 분은 1주일에 한 권씩 개발 서적을 떼신다고 한다. 나는 자신 없으니 작게 시작한다.

블로그 포스팅은 어떻게 늘릴지 잘 모르겠다. 이전에 TIL을 쓰던 것처럼 포스팅을 작성하는 것도 좋을 것 같고, 페이스북에 싸지르던 생각들을 정리해서 포스팅하는 것도 좋은 방법이 될 것 같다. 그리고 요즘 모든 문서를 마크다운으로 작성하고 있으니 진지하게 티스토리 블로그를 탈피하고 Jekyll로 이전하는 것도 생각해볼 법 하다.

또한, 위에서 언급했던 것 처럼 매 주, 혹은 최소 매 달 감명 깊었던 포스트나 웹 페이지를 정리하는 것도 좋은 포스트가 될 것이다.

  • 한 달에 최소 1권의 기술 서적을 떼고 독후감을 씁시다
  • 생각과 익힌 것을 정리하여 블로그의 기술 포스트를 늘리자
  • 매 주, 혹은 매 달 감명 깊었던 포스트나 웹 페이지를 정리해서 아카이브시키자
  • 블로그 플랫폼을 옮기는 것도 고려해보자

부족했던 기술과 개발 경험에 대한 발표

2018년 상반기는 영 정신 없는 기간이 될 것 같고, 하반기 쯤에는 기술이나 경험에 대한 발표를 해보고 싶다. 매번 발표 때 마다 놀라는 점이지만 내 미약한 지식과 경험마저 누군가에게는 큰 도움이 되더라.

  • 1번 이상의 기술, 혹은 경험에 대한 발표

부족했던 오픈소스 기여 노력과 개발 커뮤니티 활동

나는 정말 노오오오력이 부족하다. 오픈소스에 기여를 하고 싶다면 최소한 소스 코드를 읽고 플로우를 따라가보기라도 해야되는데, 나는 정말 이런 노력이 부족했다. 솔직히 자신은 없고, 유명한 오픈 소스들은 내가 뭘 기여 할 수 있을지 전혀 모르겠지만 우선은 시도라도 해봐야겠다.

더 다양한 개발자들을 만나보고 싶고, 그들의 이야기를 들어보고 싶으며, 커피나 맥주 한 잔 거하게 때리면서 놀고 싶다. 2017년에 회사가 바쁘고 피곤하다는 핑계로 개발 커뮤니티 활동을 별로 못 해서 그런지 갈증이 심해진 느낌이다.

  • 유명한 오픈소스를 2개 이상 깊게 이해해보자
  • 가능하다면 오픈소스 컨트리뷰트를 시도해보자
  • 개발 커뮤니티 갈증을 해소하자. 근데 난 소심 A형 남자잖아? 으으..

취업

감사하게도 다양한 곳에서 기회를 주셔서 열심히 인터뷰 보러 다니고 있다. 2018년 초에 이동수가 들었다더니 정말 그런가보다. 이직과 이사를 한 큐에 해결해야된다. 늦어도 설 연휴가 끝나는 2월 중순이나 2월 말까지는 다음 거취를 결정할 생각이다.

위에 거창하고 장대하게 2018년의 계획을 세웠지만 아마 2018년 상반기는 새로운 곳에서의 적응과 일로 인해 이루지 못 할 확률이 높다. 하지만 할 수 있는데 까지는 해봐야..!

  • 내가 정말로 성장 할 수 있고, 지금까지 경험하지 못 한 것들을 경험 할 수 있다고 생각되는 곳에 취업하기
  • 회사 주변 땅 값 싸고 교통 편하고 큰 방으로 전세 대출껴서 이사가기 흑흑

마무리

최근 퇴사 후 휴식기를 가지면서 많은 생각을 하고 있다. '나는 무슨 일이 하고 싶은 건가', '나는 어떤 개발자가 될 것인가' 등 마치 사춘기에나 할 법한 고민을 지금도 하고 있다. (앞으로도 계속 할 것 같은 느낌이다.) 아직도 답은 없고 그나마 깨달은 것은 매년 내가 하고 싶은 일이 바뀌고, 흥미 가는 개발이 바뀐다는 것이다.

얼마전 존경하는 모 개발자님과 상수동에서 해물과 소주를 마시면서 대화를 나누던 중 들었던 생각이 있다. '내가 언제부터 뭔가를 하기 전에 이렇게 조심하고 고민하기 시작한거지?'. 머리를 한 대 얻어 맞은 기분이었다. 원래의 나는 일단 저지르고 보자면서 빠른 행동력의 대명사였는데, 나도 모르는 사이에 돌다리도 두드려보고 건널려고 하고 있었다.

27세의 2017년이 끝나고 28세의 2018년이 시작된다. 2018년 계획을 거창하게 세웠지만 우선은 발 가는대로, 손 가는대로, 마음 가는대로 일단 간 다음에 돌이켜봐야겠다. 그래도 2018년 회고를 쓸 때는 올 해 보다는 반성을 덜 했으면 한다. 마지막으로 내 인생의 격언으로 삼는 명언들이 있다. 이 명언을 끝으로 2017년 회고를 마친다.

  • 일단 만들어! 그리고 부숴! - 토르비욘

  • 지속적인 자기발전이 없다면 현재의 당신이 앞으로의 당신이 될 것이고, 당신이 될 수 있었던 사람과 당신이 비교될 때 고통은 시작될 것이다 -엘리 코헨

  • 무릇 군자(君子)는 고요함으로 자신을 수양하고, 검소함으로 덕을 키운다. 담박하지 않으면 뜻을 밝힐 수 없고(非淡泊無以明志), 고요하지 않으면 먼 곳에 이르지 못한다(非寧靜無以致遠)" - 제갈량이 북벌을 떠나기전 아들 제갈첨에게 남긴 글


프로필사진

Yowu (Yu Yongwoo)

그냥 지나가는 흔한 백엔드개발자423 느낌 입니다
우분투 데스크탑 개발 환경을 선호합니다
최근에는 vscode에 vim 모드 올려서 쓰고 있습니다
개발용 키보드는 역시 해피해킹 프로2 무각입니다
락 밴드에서 드럼을 꽤나 오래 쳤었습니다