2024년 후기. 내가 뭐했더라...
- -
이벤트들
에이블리 인턴에서 정규직으로
에이블리 인턴에 합격하고, 수습을 거쳐 정규직 전환까지 되었다.
에이블리에서 근무 하면서 좋았던 건 인턴 / 신입 / 주니어임에도 불구하고 꽤 높은 수준의 책임감을 요구한다는 점이다.
솔직히 처음에는 아무 맥락도 모르는데 과제가 주어지고 결정들을 혼자 해야하는 경우가 많기도 하고, 주위에서 푸시는 계속해서 들어와서 많이 힘들었다.
주말에 코드를 1줄도 못짜고 하루종일 흰 화면의 코드들만 보다가 눈물난 적도 있다.
그런데 오히려 맥락이 없다보니 요청들을 하나씩 읽어나가면서 나름대로 코드를 읽는 능력이 길러진 것 같다. 이 점은 좋은 것 같다.
물론 아쉬운 점들도 있지만 일도 재밌고 현재는 만족하며 지내고 있다.
특히 지금 이동한 팀에서는 PO가 입사했을 때 사수분인데, 개인적으로 존경하는 분이기도 하고 배우고 있는 것들이 너무 많아서 이 부분이 가장 만족스럽다.
쿼리 튜닝 수업 수강
이전부터 쿼리 튜닝은 한 번쯤 공부하고 싶었는데, 이번에 소원을 이루었다. 공부하고 싶었음에도 불구하고 하지 않았던 이유는 투자 대비 임팩트가 약하다고 생각해서였다.
그런데 현재 조직은 DBA가 존재하지 않고 개발자들이 DB의 모든 것을 다룬다.
그러다 보니 상대적으로 문제의 원인이 DB에서 많이 발생하고 있고, 공부하면 기여할 수 있을 것 같아서 DBA 과정을 신청했고 괜찮은 내용들을 많이 배웠고, 현재 주요 업무중 하나로 타임아웃 발생하는 혹은 부하가 심한 쿼리 개선을 하고 있다.
사수분도 도움되는 내용을 많이 배워온 것 같다고 사내에 공유하면 좋을 것 같다고 해주셔서 리프레시 기간에 살짝 찍어서 올려봤는데 다시 보니 퀄리티가 좋진 않은 것 같아 아쉽다...
확실히 영상도 주제를 잘게 쪼개서 그 흐름대로 가고, 편집을 중간중간에 섞어야 하는 것 같다.
몽골 여행, 제주도 여행
둘 다 친구들이랑 다녀왔는데 너무 재밌게 놀았다. 사실 컨텐츠 보다도 별 것 없는 이야기하고 여러 생각하고 그런 것들이 좋았다.
신기하게 평소에 만나서 밥먹거나 할 때는 떠오르지 않던 영감들이 여행 때 유독 많이 생긴다.
또한 작년(2024년) 여행들에서는 여행이나 즐기는 것들에 대한 관점이 바뀌어 더 잘 즐기게 되었다.
최근 유튜브에서 내 최애 채널이 된 재지 마인드라는 채널이 있다.
채널 영상들을 보면 그냥 산책하고 실없는 이야기든 자신의 생각이 담긴 이야기든 하루종일 이야기한다. 예를 들어, 여기 자작나무가 있네? 나 자작나무 좋아하나봐. 이런 흰색 껍질이 이색적이라 좋더라고. 이런 식이다.
후술할 조수용님의 일의 감각 영상에서도 감각적이란 것은 무언가를 떠올리는 데 집중하기 보다는 빼야 되는 걸 생각하는 게 더 유리하다는 말을 하신다.
이 둘의 영상에서 나는 더 추가적인 무언가를 찾기 보다는 현재 있는 것에서 잘 골라내는 게 행복이든 일이든 더 좋은 선택이 될 것이라는 생각이 들었다.
가만 생각해 보면 카트를 타거나 별똥별을 보거나 하는 액티비티도 좋았지만, 이동하면서 시시콜콜한 이야기 했던 것들. 어 나 이런 것도 좋아하네 하는 순간들이 더 좋았던 것 같다.
그리고 그러한 순간들에 떠오른 생각들도 바로바로 적어줘야 하는 게 중요하다는 생각이 들었다.
앞으로 어디 갈 때 노트북을 챙기도록 해야겠다. 펜 혹은 휴대폰은 치는데 감질나서 금방 짜증나는 것 같다. 다음 노트북은 최대한 작은 걸로 사야지...
가만 생각해 보면 여행이란게 꼭 일정을 잡고 어디로 떠나야만 하는 것도 아님을 깨달았다.
12월 24일에 회사 동료분이 점심시간에 오늘 꼭 가보고 싶은 카페가 있다고 해서 따라갔다. 어딘지는 비밀이라고 끝까지 말 안 해줬는데 이런 곳이었다.
ㅋㅋㅋㅋㅋ 그때는 그냥 재밌었는데 지금 와서 생각해 보니 너무 좋은 추억 같고 데려가 줘서 너무 고맙다는 생각이 든다.
프로그래밍 디자인과 약속에 대한 고민
이전 팀에서 테크 스펙 작성해 갈때 마다 api나 코드 디자인에 대해서 시니어분이 정말 많은 코멘트를 해주셨다.
그리고 지금 와서 생각해 보면 왜 그렇게 했는지 모르겠는 결정들이 정말 많다.
일단 아쉬웠던 것들은
- restful design에 대한 이해도 부족
- 기존 코드 베이스를 이해하려는 노력 부족
이 있었던 것 같다. 1은 그냥 내 역량이 부족했어서 그런 것이라 지금은 많이 나아진 것으로 생각하고 2번은 빠따로 두들겨 맞았어야 했던 것 같다.
그때 생각으로는 일단 지금 들어온 요구사항을 최대한 빨리 쳐내고 싶다는 마음이 컸긴 한데, 지금 와서 생각해 보면 사실 2시간 정도 코드베이스를 탐색하며 이럴땐 어떻게 짜는구나 했어야 한다고 생각한다.
최근에 핫한 영상 중에 개발자 신입/이직 시 주의할 점 / 적응 잘 하는 법이라는 영상이 있는데 이 영상 내용을 보면 부끄러워지는 게 많다.
기존에 했던 결정 및 구조를 부정하는 것 뿐만이 아니라, 찾아보지 않는 것 또한 존중하지 않는 것이라는 생각이 든다.
잘한 것, 아쉬운 것, 개선할 것
잘한 것
- 작년(2024년) 초중반 까지는 루틴 유지했고, 자투리 시간 잘 활용한 것
- 사내 전문가가 존재하지 않는 db를 그래도 나름 열심히 공부한 것
- 영양제 먹는 시간 정해놓고 꾸준히 먹은 것
- 체중 감량한 것 (83kg -> 77kg)
- 받았던 좋은 피드백들
- 피드백 반영을 위한 노력
- 문제 해결 적극성
- 얼라인 맞추기
아쉬운 것
- 자는 시간을 제대로 제어하지 못한 것
- 제대로 레버리지하지 못한 순간들이 많은 것 같다
- 받았던 아쉬운 피드백들
- 일정 산정에 대한 아쉬움
- 완성도에 대한 고민을 줄여보기
- 커뮤니케이션에서 맥락을 따라가기 어려움
- 코인으로 번 돈 코인으로 잃은 것
생각해 보면 좋은 피드백은 피드백 마다 들었던 내용이고, 아쉬운 피드백은 모든 조직에서 들은 건 아니지만 3번 받은 것들 중 1~2번 씩은 들은 것 같다.
받았던 아쉬운 피드백에 대한 생각들
일정 산정에 대한 아쉬움
산정이 잘 안 됐던 경우를 돌아보면 크게 2가지 경우인 것 같다. 아예 가늠조차 안 되는 경우, 돌발상황(버그 등)에 대해서 고려 못한 경우
아예 가늠조차 안 되는 경우는 어쩔 수 없는 것 같고... 돌발상황에 대해 고려 못한 건 항상 일정을 best case로만 잡게 되어서 그게 문제인 것 같다.
보통 이런 경우 때문에 3배로 잡는다고 하던데 막상 일정 잡을 때는 잘 안 되는 경우가 많은 것 같다.
여기 관련해서는 팁들을 몇개 받았는데, 태스크들을 잘게 쪼개보는 연습 해보라는 조언을 받았다. 그렇게 해서 잘게 쪼갠 태스크들을 각각 시간 예상해 보고, 실제로 걸린 시간과 비교해 보라는 것이다.
책 '이펙티브 엔지니어'에서도 나왔던 내용인데, 이것도 좀 어려운 것 같다. 생각보다 내가 몇시간했지? 하는 것과 이건 몇시간 해야할까? 하는 것들이 순전히 감에 이루어지기 때문이다.
받았던 조언 중 가장 도움 되는 것은, 어차피 일정이란 게 정확히 지켜지긴 어렵기 때문에, 바뀔 때마다 이러이러한 이슈로 늦어질 것 같다고 보고하는 게 좋다는 조언을 받았다.
보통 사람들이 계속 일정 바꾸는 것을 심적으로 부담스러워 하는데, 애자일하게 무언가 하려면 사실 업무상 장애물이 있으면 바로바로 보고하면서 조정해 나가는 것이 좋다고 한다.
완성도에 대한 고민을 줄여보기
이건 고민 중인 부분 중 하나다. 엔지니어 평가가 아니다 보니 섣불리 평가하기 어렵다.
예를 들어 이전 코드들을 보면 동적으로 전역 변수를 선언하고 넣는다던가, 성능 누수가 심함에도 구현이 빨라서 구현한 경우가 종종 있다.
이 코드에 의해 전체 레이턴시가 늘어난다거나 하는 경우도 있고, 코드를 아예 따라가기 어려운 구조도 있어서 유지보수하기 굉장히 어려운 경우도 빈번하다.
매번 코드들에 대해서 측정하거나 하지는 않다 보니, 어떤 배포로 인해 늘어났는지는 잘 체크하기 어렵고 체크 안 하는 경우도 많다.
레이턴시가 늘어나면 구매 전환이 떨어짐이 실험을 통해 증명 되었는데, 빨리 하라고 해서 이러한 측정들을 안 하고 일단 나가보는 것에 대해 의문이 좀 있었다.
한 편으로는 일단 그렇게 만들고 PM분에게 레거시 구조를 따라가면 레이턴시가 이만큼 나오는데, 이게 느려서 구매 전환이 이만큼 떨어질 것 같다. 이런 식으로 이야기 했어도 괜찮았을 것 같은데 나 혼자 아 이거 느려지니 이 코드는 안 돼. 했었던 것 같아서 아쉽다.
하나 또 떠오르는 건, 보통 어려울 때 이건 이러이러해서 어렵고, 대신 다른 경우에는 어떻게 할 수 있을 것 같아요.
이런 식의 커뮤니케이션을 지향하라고들 한다.
근데 다른 경우에 대해서 떠오르지 않고, 이건 이래서 어려워요.만 되는 경우가 있는 것 같아서 이럴떈 어떻게 해야 하는지에 대한 의문이 있었다.
특히 나는 팀 이동이 잦아서 새로운 프로젝트 들어갈 때마다 모르는 코드들이라 기존 정책들을 몰라서 그런 경우가 많았다.
이런 경우 어떻게 하는지 워니님께 여쭤봤는데... 시안이 아주 긴급한 게 아니라면, 미팅에서 이래저래해서 어려워 보이는데 지금 막 들은 내용이라 당장 떠오르는 대안이 없네요. 미팅 끝나고 다른 대안들 좀 찾아보고 슬랙으로 공유드릴게요!
정도의 컴케를 하고, 미팅에서는 맥락을 최대한 파악하는 걸로 끝내고 그 이후에 그렇게 하는 식으로 일처리 하는 게 좋다고 조언 주셨다.
지금 다시 생각해 보니, 개발자들이 안 되는 이유에 대해서만 이야기 하고 다음 액션에 대해서 이야기 안 해주면, 기획자들은 그래서 어쩌자는 건지 김이 빠질 것 같다는 생각이 들긴 한다.
다음부터는 내가 협조하기 위해 어떤 액션을 취할건지도 확실하게 말해주는 것도 좋을 것 같다.
커뮤니케이션에서 맥락을 따라가기 어려움
업무에서 이야기할 때 논지 이상의 이야기를 한다던가, 현재 상황을 당연히 안다고 생각하고 주요 맥락을 건너 뛰어 말하는 경우가 많은 것 같다.
논지 이상의 이야기를 한다는 건, 예를 들어 신규 테이블 스키마 리뷰하다가 칼럼중에 UUID가 있어서 관련된 이야기를 하다가 나중에는 PK를 UUID로 쓰면 안 된다. 이런 식으로 이야기가 빠지는 경우가 종종 있는 것 같다.
지금 생각해 보니, 내가 이만큼 잘해요 이런 걸 은근히 드러내고 싶었던 건 아닐까 싶다.
어떻게 보면 자존감이 떨어져서 본인에 대해 확신이 떨어져서 그런 것 같기도 하다. 쉽게 조급해서 일정을 바짝 잡는 것도 여기서 비롯된 건 아닐까 싶기도 하고, 질문을 잘 못하는 것도 여기서 비롯된 것 같기도 하다.
올해는 자존감을 올릴 수 있도록 해보는 것도 좋겠다.
돌아와서 생각해 보니, 길러야 하는 역량은 다음과 같은 것 같다.
- 일정을 잘게 쪼개는 연습하기
- 현재 상황이 어떤지 '먼저' 공유하기. 단, 이때 간결해야 한다
- 상대방은 어느 맥락까지 알고 있을까? 생각하며 말하기. 상대방은 어떤 이야기를 하고 싶은 걸까? 생각하며 듣기
- 자존감 높이기 (나는 진지하게 이것 또한 역량이라고 생각한다. 특히 질문을 거리낌 없이, 자신감 있게 업무하기 위해서)
개선할 것
- x에 읽은 책 내용 / 생각 정리하는 습관 되돌리기
- 일 시간 줄이고 아침 루틴 되돌리기. 일기 꾸준히 쓰기
- 코딩 능력 기르기. 매일 알고리즘 문제 풀기
- 한 번에 하나만 하는 습관 기르기. 양치 / 세수하면서 유튜브 보는 것부터 줄여보기. 핸드폰하는 시간 정하기
작년(2024년) 초중반에 잘했던 것들은 주로 루틴을 만들어서 무언가를 꾸준히 한 것들인데, 워니님의 취업 준비 스터디가 이어져온 게 큰 도움이 되었다.
매일 저 이런 거 했어요 하고 보고하기 위해 억지로라도 꾸준히 하다보니 그것 덕분에 이룬 것들이 꽤 많다. 후술한 공부한 것들이나 체중 감량 같은 것들에도 좋은 영향을 미쳤다.
음 근데 최근에 여행다니고 하면서 체중이 79kg까지 돌아와서... 다시 체중 감량 모드로 돌아가야겠다.
2024년의 컨텐츠들
2024년 읽은 책들
- MYSQL을 더 빠르게, 성능 최적화 선택과 집중 (12월)
- 빅데이터를 지탱하는 기술 (12월)
- 비폭력 대화 (11월)
- 친절한 SQL 튜닝 (10월)
- 물고기는 존재하지 않는다 (9월)
- NoSQL 빅 데이터 세상으로 떠나는 간결한 안내서 (9월)
- 이펙티브 엔지니어 (8월)
- 실리콘 밸리의 실험실 (7월)
- 도메인 주도 설계 첫걸음 (6월)
- Open API와 스웨거를 활용한 실전 API 설계 (5월)
- 마이크로서비스 아키텍처 구축 (4월)
- 타입으로 견고하게 다형성으로 유연하게 (4월)
- 네이비씰 승리의 기술 (3월)
- 체크! 체크리스트 (3월)
- 규칙 없음 (3월)
- 회사에서 이커머스를 시작합니다 (3월)
- 대한민국 이커머스의 역사 (2월)
- 24단계 실습으로 정복하는 쿠버네티스 (2월)
2024년 시청한 것들
- 흑백 요리사
- 무파사
- 위키드
- 란마 1/2
- 백종원의 레미제라블
- 냉장고를 부탁해
- 주술회전
- 리지
- 죠스
2024년에는 딱히 많은 영상물들을 시청하진 않았다. 죠스
는 내 최애 영화중 하나인데, 넷플릭스에 잠깐 다시 떴어서 다시 봤다. 지금은 다시 내려간 듯 하다.
최근에 내가 비를 좋아하게 된 이유를 생각하다가 영화 어바웃 타임
과 미드나잇 인 파리
덕임을 깨달았다.
특히 미드나잇 인 파리
는 내 최애 영화중 하나라 다시 보고싶은데 넷플릭스에 자꾸 나왔다 사라졌다 해서 언제 다시 볼 수 있을지 모르겠네...
2024년 처음 게임한 게임들
- 포켓몬 스플랜더
- 뱅!
- 알리바이
- 꼬치의 달인
- 바퀴벌레 포커
- 텔레스트레이션
- 티츄
- 노터치 크라켄
- 아발론
- 세일럼
- 탑텐TV
- 블리츠
- 수상한 생선들
- 보난자
- 마헤
- 카멜업
수요일마다 영어로 하는 보드게임 모임에 참석하는데 생각보다 새로운 것들을 많이 배웠다 ㅎ
모임 덕분에 너무 재밌게 잘 놀고 있다.
나의 픽 2024년 베스트 컨텐츠
- 5년 만에 구글에서 수석 개발자가 된 방법
- 개발자로서 어떻게 하면 일잘러가 될 수 있는가? 에 대한 도움이 되는 정말 많은 팁들이 있는 것 같아 선정했다
- 조수용의 일의 감각 1편, 2편
- 내가 하는 일이 결국 무엇을 위한 것인지, 꼭 창의적인 무언가가 필요한 것인지 되짚어 보기
- 재지 마인드
- 최근에 알게 된 유튜브지만 주인장들이 일상의 삶을 바라보는 시선이 너무 좋다.
- 비폭력 대화
- 타인에 대한 이해의 필요성을 느끼게 해준 감사한 책
- 친절한 SQL 튜닝
- 나만의 역량을 가지게 해준 좋은 계기가 된 책인 것 같다. 책 내용도 어렵지 않고 꽤 좋은 편이다
- MYSQL을 더 빠르게, 성능 최적화 선택과 집중
- 쿼리 최적화를 비롯해 여러 MySQL에서 할 수 있는 최적화들에 대해 다룬다. 이런 서적들은 보통 DBA와 개발자들 모두를 대상으로 하는 책들이 많아서 필요 이상으로 어려워지는 경우가 많은데, 개발자들이 알아야 할 정보만 잘 담은 것 같다
2024년 얻은 레슨들
- 문제를 잘 깎고 뾰족하게 구체화하는 것이 중요하다. 수익은 그 다음에 생각하기. 사이드 프로젝트는 혼자 하기
- 2024년의 키워드:
레버리지
,린치핀
- 고점일 때 적립식으로 현금화 하기. 저점일 때 적립식으로 구입하기
- 갑자기 드는 생각이 있다면 그자리에서 적고 나중에 구체화하기
2024년의 키워드
이 두 가지 키워드는 내 인생관에서 추상적으로 느끼던 것들을 작년에 키워드로 명시할 수 있게 된 것들이다.
레버리지는 원래 내가 계산기 이론이라고 부르던 것인데, 쉽게 말해서 매 순간 내가 얻을 수 있는 최대의 행복양을 생각하고 최대의 행복을 얻을 수 있는 선택지를 선택한다는 것이다.
예를 들어서 오늘 단순히 심심해서 술을 마시는 것은 좋은 선택이 아니다. 이로 인해 금전적, 건강적, 시간적 손해는 현재 작은 기쁨에 비하면 아무것도 하지 않는 것에 비해 전체 행복양이 적을 것이다.
그러나 내가 현재 엄청 배고파서 편의점에서 핫바를 사먹는다면 좋은 선택일 수 있다. 현재 매우 기쁠 것이기 때문이다.
린치핀은 무얼 하든 잘하기 보다는 필요한 걸 하라는 것이다.
내가 삼국지에서 유비에 대한 평중 가장 좋아하는 건, 유비가 성공했던 이유는 엄청나게 뛰어난 역량을 보였다기 보다는 항상 정치적으로 필요한 위치에 있어서 다른 사람들이 필요해 했다는 견해를 좋아한다.
그래서 유비형 인재가 되야겠다는 생각을 속으로 조금씩 하고 있었는데, 린치핀의 내용이 그러했다.
린치핀은 책인데, 사실 유튜브 요약본으로 본게 전부다. 그러니 올해에는 좀 읽어봐야겠다.
올해에 린치핀을 잘했다 싶은건 쿼리 튜닝 정도가 있는 것 같다. 현재 사내에서 DB 전문가가 없고, DB가 병목되는 지점이 꽤 많다.
그래서 교육을 듣고 집에서 공부하고 그랬는데 생각보다 배운 내용을 써먹을 일이 많고, 사수분한테 칭찬 받았을 때도 기분이 몹시 좋았다.
다음 분기에는...
당장 해볼 것
쿼리 튜닝 관련 영상 만들기
여름 ~ 겨울에 쿼리 튜닝 교육 받았던 내용을 바탕으로 영상들을 만들기 시작했다.
근데 막상 만들고 나니 퀄리티가 영 별로였다. 특히 자료가 없고, 개념 설명 쪽에서 너무 빈약한 것 같다.
그래서 주말에 시간을 내서 자료를 좀 만들어 보고, 그걸 바탕으로 개념 설명을 보강해서 만들어 보면 좋을 것 같다.
다양한 사람들과 이야기 해보기
많은 사람들과 이야기 해봐야겠다고 생각이 든다. 꼭 일이 아니더라도 다른 사람들과 이야기 하며 이 사람은 어떤 말을 하고 싶어서 이야기를 하나 잘 듣는 연습을 해보려 한다. (듣기)
그리고 업무에서 말할 때는 내가 필요한 말을 하는 것인지에 대한 질문을 계속 던져보려 한다. (말하기)
작년에 커뮤니케이션에서 정말 잘 성장했다고 생각한 것은, 나도 모르게 비아냥거리고 싶을 때나 책임을 묻고싶거나 하는 때가 툭툭 떠오를 때가 있는데, 이게 정말 프로젝트 혹은 팀웍에 도움이 될건지 생각해 봤다는 것이다.
결론은 100퍼센트 아니었고 이러한 실수들을 정말 안 했다. 사실 놀리거나 비아냥 거리는 말들을 자주 해온 것 같은데 정말 잘 참아왔고, 버리면 좋은 습관 같다.
이것 외에도 조리있게 말 못하는 이유중 하나가, 해당 맥락과 맞지 않는 이야기를 할 때가 있는 것 같은데 이를 고치기에도 좋은 습관 같다.
다음 분기 목표 증진해야 할 역량
- 사내에 쿼리 튜닝 강의 촬영
- 코딩 능력(+ 디버깅 능력)
- db 모델링, sql 튜닝 심화
- 빅데이터(Spark, Airflow)
- Elastic Search, ScyllaDB
- 테스트, 리팩토링
'일기, 후기' 카테고리의 다른 글
아직도, 하루키 (1) | 2020.08.28 |
---|---|
당신은 그에게서 무엇을 얻어내려고 했습니까 (0) | 2020.08.22 |
와신상담 (2) | 2020.07.10 |
소중한 공감 감사합니다