내용에 문제가 있는 경우 삭제, 수정조치하겠습니다.
순식간에 2주차가 지나갔다.
첫주차는 주저리주저리 다 적었다면 이제는 좀 간결하게 작성해볼 예정이다.
돌아보기
전주에 개선이 필요한 것들부터 돌아보자.
문제가 무엇인지 정확히 파악할 것 (섣불리 코드를 먼저 살펴보지 말 것)
이전보다 확실히 문제를 파악하는 시간이 단축된 것 같다.
이 과정에서 가장 도움이 됐던 두 가지는
이걸 해결해서 어떤 것이 나아지는가를 생각해보는 것, 그리고 그것이 완료되면 문제를 잘게 쪼개는 것이었다.
내가 하는 작업이 어떤 것을 개선시키고 어떤 가치를 가져오는지 파악하고자 할때 문제를 좀더 잘 정의할 수 있게 됐다.
그리고 테스크에서 주어지는 문제들을 다시 잘게 쪼개어 개발 단위로 쪼갰을 때, 확실히 시간이 단축되는 것을 느꼈다.
Context Switch 비용 아끼기 (문제를 파악하기전, 문제 해결 전에 무엇이 필요한지 생각해볼 것)
그렇게까지 명확하게 작성하고 들어간 것은 아니지만, 그래도 어느정도 배치형태로 이뤄질 수 있었다.
그리고 대부분의 세팅을 이번주에 완료해서일까, 아니면 익숙해져서일까?
이건 의도한 것은 아니지만 이전 주보다 확실히 환경구성이나 탐색하는 속도가 빨라졌다.
어쨌든 결과적으로 이슈를 해결하는 시간은 단축되고 있으니...
사실 Context switch만 잘된다면, 굳이 배치형태로 해결할 필요가 없으므로 이건 좀더 두고 봐야 할 것 같다.
시간 측정 정확도 높이기
타이머를 사용해서 시간 측정을 진행하고 있으나, 딱 30분 단위로 진행했더니 다음 어떤 것을 할지 결정해야하는 시간이 들어서 명확하게 시간 측정이 어려웠다.
아침에 모든 것을 기록하고 해볼까도 중간에 시도해봤지만, 사실 중간에 일이 생길 수도 있기에 이런건 어렵다고 느꼈다.
그래서 다음주에는 25-5형태로 25분 몰입하고 5분 다음 할 일을 계획하는 형태로 전환해 볼 예정이다.
또 직접 이걸 타이머로 관리하려니 가끔 놓치는 경우가 있어서, Flow라는 맥북 앱을 사용해볼 것이다.
느낀 것들
말하기
이번주에 주로 느낀 것은 말하기를 좀더 많이 연습 해봐야 한다는 것이다.
내가 어떤 생각을 하든, 글을 어떻게 쓰든, 어쨌든 소통은 말하기에 의해 이뤄지므로 내가 생각한 것을 올바르게 전달할 수 있어야 한다.
예전 면접볼 때 부터 말하기에 약하다는 것을 느끼고 있었는데 밥을 먹거나 커피챗을 할때 그런 말씀을 해주셔서 좀 더 필요성을 느끼게 됐다.
세 분과 관련해서 이야기를 나눴는데 공통적으로 하시는 말씀이 어쨌든 발화량을 늘려나가면서 익숙해지는 수 밖에 없다는 것이다.
업무관련해서 요점을 중심으로 말하는 연습은 물론이고, 스터디에서도 관련된 토론을 하거나 하는 식으로 좀 더 연습을 해서 더 익숙해져야겠다는 생각을 하게됐다.
잘한 것 들
DX에 대한 의견 제시
이전주와 마찬가지로 계속해서 의견제시를 지속하고 있다. 다만 이번주는 DX에 관한 의견제시를 꽤 했고, 거절도 몇 번 있었다.
하지만 나는 거절이 더 중요하다고 생각하고, 이런 경험을 꼭 하고 싶었다.
거절에 대한 근거를 이해하고, 나의 경험으로 만들어갈때, 더 넓은 관점을 갖고, 앞으로 성장할 수 있다.
거절의 근거를 학습하고, 계속해서 더 나은 방향이라 생각하는 의견을 제시하자.
개선이 필요한 것들
쪼갠 문제를 푸는 시간
생각보다 쪼갠 문제를 푸는 시간이 오래걸린다.
이 기능을 여기에 두는게 맞는가? 고민하는 시간이 많았다.
결과적으로 추산시간을 2시간으로 잡았는데 5시간씩 잡고 있게 되는 경우가 있었다.
이건 점차적으로 개선되겠지만, 컴포넌트나 함수를 어디에 둘지 고민하는 시간을 줄일 필요가 있다.
다시말해 컨벤션을 좀더 명확하게 이해할 필요가 있다.
물론 이건 익숙해지면 해결되는,
시간이 해결해줄 문제라고 할수도 있겠지만 인지하고 있는 것과 인지하지 못하고 있는 것은 큰 차이를 가져올 것이다.
추가로, 코드를 작성하는 시간, 진짜 말 그대로 타이핑하는 시간을 줄일 수 있다는 것을 알게 되서, 앞으로는 좀 더 빠르게 문제를 해결할 수 있을 것 같다. (cursor는 신이구나)
보다 꼼꼼하게
내가 생각한 것보다 더 꼼꼼하게 확인할 필요가 있다는 걸 느꼈다.
이건 그냥 피처를 개발할때도 마찬가지고, 나아가 패키지를 바꾼다거나 업데이트하면, 고려해야할 것들이 무수히 많다.
이런 일을 할때는 생각 이상의 세심함과 꼼꼼함이 필요하다.
나는 세심함이 체화된 사람은 아니므로, 세심함을 하나의 형식으로 관리해야한다고 느꼈다.
어떤 것이 변하는지, 어떻게 변하는지, 어떻게 확인할 지를 작성하고, 스스로 체크해야 내 작업의 퀄리티를 보증할 수 있게 된다.
사실 어떤 것을 확인할지,어떻게 변할지를 한눈에 파악하기란 어렵다.
그래서 우선은 과정에서 생각한 것들을 내 머릿속에서 다른 곳으로 이동시킬 필요가 있다고 느꼈다.
그리고 그 기록을 다시 확인하면서, 혹시 다른 경우는 없는지 파악하는 형태로 관리 방법을 바꿔볼 것이다.
도움을 빨리 구하기
괜히 이거 이렇게 하면 되려나? 아니면 물어보는게 더 빠르려나? 하지말고
물어보면 더 빠를 것 같다하더라도 혼자 할 수 있다면 빠르게 시도해보고, 안되는 부분을 정확히 체크해서 물어보는 과정을 빠르게 진행해야 생산성이 올라간다.
물어봐도 되나? 아닌가? 고민하고 코드 확인하고, 하다보면 그게 다 낭비되는 시간이라는 걸 알았다.
결단력 있게 빠르게 실행하고 진행해야 낭비되는 시간이 줄어든다.
마무리
저번주에 양으로 승부해볼 작정이라고 했었는데, 이번주는 정말 양으로 승부했던 것 같다.
꽤 바보같이 일하고 있다고 느끼기도 한다.
뭐 어떻게 보면 바보같이 일하고 있다고 느끼는 것 자체가 나아지는 과정일 수도 있겠지만
어쨌든 계속해서 어떻게 하면 더 개선할 수 있을지 고민해야할 필요가 있다.
그래서 생산성을 향상시키기 위한 이번주 목표를 정리하자면...
1. 시간 측정 25-5 뽀모도로 형태로 전환
2. 코드가 위치해야하는 곳 파악 (컨벤션 파악)
3. 확인해야하는 것들을 작업을 하면서, 떠오르는 대로 문서로 정리하고, 작업을 마친 뒤 빠진 것은 없는지 다시 확인
4. 할 수 있는 부분 빠르게 확인하고, 할 수 없는 부분에 대해 물어보기