12 minute read

22년 돌아보기

회사생활 시작

3월부터 카카오에서 일을 시작했다.

카카오톡 안에서 설문조사를 할 수 있는 비즈니스폼 프로젝트에 배정됐다.

Nuxt 2와 Composition Api, TypeScript로 구성된 프로젝트였는데

열심히 코드를 읽다가 중복된 코드와 타입 추론이 부족한 부분이 보였다.

마침 DDD에 빠져있어서 컴포넌트 간 코드 중복은 유스케이스별 함수 분리로, 타입 챌린지를 풀면서 얻은 지식으로 Vuex 타입 추론 문제 해결할 수 있어 보였다.

DDD를 전파하고 코드 개선하는 게 생각보다 쉬운 일이라는 것을 알리기 위해 개선사항을 정리해서 깃헙 이슈에 올렸다.

팀에서 반응이 좋았는지 진행하면 좋겠다는 의견이 나왔다.

갑자기 프로젝트를 맡게 되다

팀원들 학습용으로 작성한 개선사항을 실제로 프로젝트에 적용하는 일을 맡게 됐다.

우선, 진행하려는 일이 팀원들에게 어떻게 도움이 되는지 설득하기 위해 PPT를 만들었다. (Slidev 사용)

UI와 비즈니스 로직은 분리될 수 있고, 로직을 분리하면 재활용할 수 있으므로 나중에 작성할 코드가 줄어들어 개발 속도가 빨라진다는 내용이었다.

“전술이 없는 전략은 승리로 가능 가장 느린 길”이라는 말이 있다.

해야 할 이유가 생겼으므로, 실제로 어떻게, 어떤 방식으로 하는지에 대한 구체적인 전술이 있어야 했다.

개선이 필요한 컴포넌트 목록을 구글 스프레드시트에 정리해서 각각에 담당자, 완료 여부를 체크할 수 있게 했다.

또한, 실제로 코드를 어떻게 수정해야 하는지 스텝 바이 스텝 가이드를 작성했다.

달성할 목표를 세우고 개선이 얼마나 이뤄졌는지 지표를 뽑아서 매주 공유했다.

CleanShot 2022-12-31 at 15 56 03@2x

코드베이스 전체를 리팩터링하는 규모가 있는 작업이었는데 버그도 거의 없이 잘 마무리됐다.

진행 상황이 눈에 보이니까 프로젝트 막판엔 엄청난 속도로 작업이 마무리되기도 했다.

프로젝트 진행 후기

  • 처음 프로젝트를 맡아서 진행했는데 팀원들에게 도움을 엄청 많이 받았다. 좋은 회사는 따로 없고 팀원들이 좋은 회사인 거 같다.

  • 함수만 분리한다고 모든 게 분리되는 게 아니었다. 함수가 반환하는 데이터 형식에 의존한다면 분리해도 분리된 게 아니다.

  • Vuex를 열심히 분리하면 따로 떼서 테스트가 쉬울 줄 알았는데, 실제 테스트를 위해서는 결국 Vuex에 필요한 전체 데이터를 넣어줘야 한다. 목업 라이브러리를 쓰면 사정이 나아지지만, 별도의 타입스크립트 플러그인을 작동시켜야 한다. 현재 사용 중인 Nuxt 타입스크립트 컴파일러 버전 낮아서 적용이 힘들다.

  • 그래도 코드 재사용이 많이 늘어났고, 컴포넌트 코드가 가벼워졌다.

번아웃이 오다

코딩하는게 너무 재밌어서 평일에도 일하고 주말에는 사이드프로젝트를 진행했다.

모나코 에디터 기반 HTTP 프록시 앱을 만들었는데

서버의 모든 API를 목업해서 반환 데이터를 로컬에 저장하고

저장된 데이터를 VS Code의 에디터로 맘껏 조작하면서 FE웹앱을 테스트할 수 있다.

CleanShot 2022-12-31 at 16 13 22@2x

일렉트론 기반에 trpc, Vue 3, fxts 등등 원하는 기술스택을 모두 가져다 쓰고

주말에 아무 눈치 안 보고 내가 원하는 대로 개발하니까 도파민이 미친 듯이 뿜어져 나오면서 너무 재밌었다.

이러다가 평일엔 매일 반복되고 덜 재미있는 회사 일을 하니까 (이걸 20년 더 하라고..?) 도파민 불균형 때문인지 급 우울증이 왔다.

열심히 만든 위의 앱이 서버 인증 방식 변경으로 못 쓰게 되는 상황이 오기도 했다..

번아웃 극복 (with 금융치료)

어느날 도저히 일을 못하겠어서 키보드도 쳐다보기 싫어졌다.

그래서 오프를 내고 키보드를 바꾸러 용산에 갔다.

image (출처 - 레이저 용산 아이파크몰 스토어)

용산 레이저 스토어에 가서 키보드, 마우스, 패드까지 50만원 어치를 지르고 왔다.

IMG_0598 (1)

칙칙하고 때가 탄 키보드만 보다가 형형색색의 키보드와 마우스패드를 보니 기분이 약간 좋아졌다.

IMG_0604 (1)

그래서 번아웃 극복 팁 1: 환경을 바꿔본다. 급진적으로

주말엔 동기형이랑 한강에 돗자리 펴고 술 마시면서 이야기를 나눴는데, 확실히 고민을 나누면 마음이 가벼워진다는 것을 느꼈다.

번아웃 극복 팁 2: 술 마시기 터놓고 말하기

인생책을 찾다

이펙티브 엔지니어를 읽고 진짜 인생이 바뀐 것 같다.

CleanShot 2022-12-31 at 16 51 51@2x

내가 들이는 시간 대비 가장 성과가 높은 일을 하라는 레버리지 개념을 이해하게 됐는데

매일 가장 중요한 일을 먼저 처리하고 남은 시간에 부차적인 업무를 하기로 결심하고 나서부터는

업무에 여유가 생기기 시작하고, 미뤄왔던 사이드프로젝트들이 저절로 마무리됐다.

CleanShot 2022-12-31 at 16 51 40@2x

무엇보다, 팀원들의 시간을 줄여주는 도구들을 많이 만들 수 있었다.

  • 브랜치의 지라 티켓 이름 기반으로 깃헙 PR 제목을 자동 입력해주는 확장 프로그램
  • 매일 적어야 하는 데일리스크럼을 구글 캘린더와 지라 기반으로 자동 생성해주는 프로그램
  • HTML 마크업 비교기, 캘린더 기반 일정 계산기 등등

이렇게 줄인 팀원들의 시간이 1년에 800시간 정도된다.

이런 도구들을 만들면서 쿠버네티스 같은 사내 인프라도 써보고, TDD도 숙련시킬 수 있던 건 덤이다.

외에도, 불필요한 회의를 없애고 줄여서 1년에 1000시간이 낭비되는 것도 예방했다.

현재 업무방식에 큰 영향을 끼친 책

  1. 이펙티브 엔지니어
  2. 딥워크
  3. 나는 4시간만 일한다.
  4. 피플웨어

 

회사 다니면 책 읽을 시간이 없을 줄 알았는데, 역대급으로 책을 많이 읽은 한해가 됐다. (90권 정도)

책을 읽고 행동이 바뀌어야 제대로 읽었다고 할 수 있는 것 같다. 안 그러면 그냥 본거다.

개발 관련

  • 좋은 코드 나쁜 코드
  • 밑바닥부터 만드는 인터프리터 in Go
  • 가상 면접 사례로 배우는 대규모 시스템 설계 기초
  • 게임 엔진 블랙 북: 울펜슈타인 3D
  • 레거시 코드 활용 전략
  • 쏙쏙 들어오는 함수형 코딩
  • 함께 자라기
  • 프로그래머의 뇌
  • 죽을 때까지 코딩하며 사는 법
  • 프로그래머, 수학의 時代 :프로그래머의 길을 생각한다
  • 클린 코드 :애자일 소프트웨어 장인 정신
  • (유지보수 가능한) 코딩의 기술 :클린 코드의 비결,자바편
  • 구글 엔지니어는 이렇게 일한다 : 구글러가 전하는 문화, 프로세스, 도구의 모든 것
  • 프로그래머가 알아야 할 97가지
  • 개발자 리부트 : 새 판을 리드하는 개발자 미래의 모든 것
  • 이펙티브 엔지니어
  • 컴파일러 개발자가 들려주는 C 이야기 : 아무도 알려주지 않던 심오한 C의 비밀
  • 테스트 주도 개발
  • (이펙티브) 타입스크립트 : 동작 원리의 이해와 구체적인 조언 62가지
  • 소프트웨어 장인 :프로페셔널리즘/실용주의/자부심
  • 안드로이드 뜻밖의 역사 : 세상을 뒤흔든 모바일 OS에 담긴 숨은 이야기
  • 피플웨어
  • (미래를 만든) Geeks
  • (직장인을 위한) 실무 구글 스프레드시트 : 실전! 비즈니스 구글 스프레드시트 완전 정복

디자인

  • 실무 피그마
  • (한 끗으로 달라지는) PPT 디자인 공식 :직장인을 위한 파워포인트 실전 노하우
  • 최고의 주택 평면 : 집짓기 전에 봐서 다행이야
  • 정보는 아름답다
  • 디자인, 일상의 경이
  • UX/UI의 10가지 심리학 법칙 :사용자의 마음을 읽는 인간 중심 제품과 서비스 디자인
  • 비주얼 씽킹 : 일 잘하는 사람들이 쓰는 간단한 표현의 기술
  • 명작 의자 유래 사전 :한눈에 알 수 있는 350가지 의자의 역사와 디자인

경제

  • 파이어족이 온다 :금융위기 후 전 세계 젊은이들을 사로잡은 라이프스타일 혁명
  • 이웃집 백만장자 변하지 않는 부의 법칙 :흔들리지 않는 부는 어떻게 축적되는가
  • 블록체인 트렌드 2022-2023 : 기초 개념부터 투자 힌트까지 쉽게 쓰인 블록체인 교과서
  • 거인의 포트폴리오 : 월급을 쪼개서 경제적 자유를 만드는 23가지 전략
  • (파이어족 강환국의) 하면 된다! 퀀트 투자 : 부와 자유를 꿈꾸는 직장인을 위한 주식투자의 정석
  • (운명을 바꾸는) 부동산 투자 수업 : 내 집 마련부터 실전 아파트 투자까지, 결국 돈 버는 부동산 투자 트레이닝: 기초편
  • 세이노의 가르침

  • 전략적 공부기술
  • 일하면서 성장하고 있습니다
  • 나는 4시간만 일한다
  • 일놀놀일 : 일하듯이 놀고 놀듯이 일하는 마케터의 경계 허물기
  • 코딩 몰라도 됩니다 : IT 기업에서 비개발자로 살아남기
  • 나는 애플로 출근한다 =I work for Apple
  • 언리시 =Unleash : 내가 지금 가진 것들을 성장의 무기로 만드는 법
  • 30대에 하지 않으면 후회할 것들
  • 휴먼 스킬 :인공 지능은 감히 넘볼 수 없는 인간의 기술
  • 딥 워크 :강렬한 몰입, 최고의 성과
  • 인생 직업
  • 솔로 워커 : 미치지 않고 혼자 일하는 법
  • 신입사원 상식사전 :옆자리 선배도 모르는 회사생존 매뉴얼 115!
  • 보고는 요약이다 : C.O.R.E. 단숨에 일머리를 키우는 생각 정리의 기술
  • 똑바로 일하라 :성과는 일벌레를 좋아하지 않는다
  • 판교의 젊은 기획자들 : 존재하지 않던 시장을 만든 사람들
  • 실리콘밸리에선 어떻게 일하나요 ; 직원 만족과 경쟁력을 함께 키우는 조직문화 7
  • PM 입문 : 프로덕트 기획을 위한 UX적 발상법과 사내외 커뮤니케이션

심리학/철학

  • 통찰, 평범에서 비범으로
  • 데이터는 어떻게 인생의 무기가 되는가 : 당신의 모든 선택에서 진짜 원하는 것을 얻는 법
  • 인생의 가장 결정적 시기에서 : 20대가 중요한 이유와 그 시기를 지금 최대한 활용하는 법
  • 지속가능한 삶을 모색하는 사피엔스를 위한 가이드
  • 생각하지 않는 사람들 :인터넷이 우리의 뇌 구조를 바꾸고 있다
  • (강원국의) 어른답게 말합니다 :품격 있는 삶을 위한 최소한의 말공부
  • 말은 딱 깔끔하고 센스 있게 : ‘좋아요’를 부르는 전달의 법칙
  • (밥 프록터) 부의 확신

마케팅

  • 보랏빛 소가 온다
  • 믹스 =Mix : 세상에서 가장 쉬운 차별화
  • 머물고 싶은 순간을 팝니다 : 지속 가능한 일상이 그리워지는 지금, 우리가 원하는 공간에 대한 모든 것

 

내년 목표

  • 프로그래밍을 한지 7년이 됐다. 이제 경력은 2년차가 되지만, 최소 5년차 개발자처럼 능력을 발휘하고 책임감있게 행동한다.
  • 지금까지 읽은 책들을 활용해서 비즈니스 가치를 창출한다. 시장과 사용자를 분석해서 문제를 발견한다. 빠르게 제품을 구현하거나 구현한 척만 한다. 실험과 지표를 기반으로 제품을 발전시킨다.
  • 기초를 단단히 하고 깊이 판다. 제품과 관련된 iOS, Android, Java Spring 레포의 아키텍처와 코드 흐름을 파본다. 언어와 무관하게 프로그램 확장성에 도움이 되는 구조를 발견한다.

Categories:

Updated: