내용에 문제가 있는 경우 삭제, 수정조치 하겠습니다.
벌써 한달차가 끝나버렸다.
돌아보기
우선 이전 주 목표를 기반으로 돌아보고, 느낀 것들을 적어보려고 한다.
1. 뽀모도로 유지 및 좀 더 잘 작성하기
이전 주와 비슷하게 유지되었다. 다만, 좀더 익숙해져서 다음 일을 계획하거나 기록하는 것은 조금 개선됐다.
아직까지 완벽하게 일하다가 돌아와서 5분간 다음 할일을 계획하는 수준은 아니어서 이 부분에 대해서는 계속해서 의식적으로 인지해서 개선할 필요가 있다.
2. 문제가 안풀릴 땐 다시 상단부터 다시 좁혀나가기 + 코드/맥락 파악시 그림을 적극 이용하기
이번 주에 리팩토링을 진행할때 적극적으로 활용할 수 있었던 부분이다.
추상화 방식 자체가 잘못되었을 수도 있겠다는 생각에 좀더 상단으로 돌아가 생각을 했고, 보다 나아진 추상화 인터페이스를 생각해낼 수 있었다.
또한 이에 대한 그림을 그리면서 좀더 설계가 명확해지고, 설명하기 좋아지는 부분이 있었다.
3. 문제에 새로운 상황이 더해졌을 때 확인해보고 기존 뷰를 빠르게 버리고 새로 시작하기
마찬가지로 리팩토링할때 적극적으로 사용할 수 있었던 방법이다. 이전에 진행할때는 데이터 자체에 집중했어서 그렇게 중요하지 않은 부분에 대한 추상화를 했고, 결과적으로 복잡해지고 읽기 어려워지는 문제가 발생했다.
하지만, 대부분의 프론트엔드 코드에서 추상화된 인터페이스를 소비하는 것은 UI다.
결국 데이터를 다룬다고 해도 컴포넌트에서 해당 코드를 소비한다면 인터페이스 자체는 UI에 맞춰져 있어야한다.
4. AI를 활용해서 생산성을 높히기 위한 방법이나 툴 도입하기 -> 테스크 쪼개기/시간 관리 쪽으로
이 부분은 아직까지 깊게 고민해보지 못했다.
노션 AI를 사용해서 오늘 하루 어떤 일을 했는지 요약하는 정도로 도입했다.
이외에는 여러 사람들이 사용하는 방식을 살펴보고있는 상태다. 더 조사할 필요가 있다.
잘한점
개발자 작업 환경 개선을 위해
전반적으로 더 나아진 개발자 작업 환경을 구성하기 위해 노력한 점이다.
더 나은 타입 추론을 해서 코드량을 줄이기위해 typescript를 업데이트하고, 반복되는 컨벤션에 대해 lint룰을 만들고, 관리되기 어려운 코드를 다루는 방식을 변경하는 등 진행하면서 팀의 생산성을 높히기 위해 노력했다.
이런 경험은 코드베이스가 작은 환경에서는 하기 어려운 경험이기에 너무나도 소중한 경험이 아닌가 싶다.
또한 이런 경험을 하면서 배우는 것들도 꽤 되어서 누군가가 해야하고, 그것이 모두에게 도움이 된다면 내가 한다는 태도를 갖고 이어나가고자 한다.
사용자 경험 개선을 위해
네트워크로 너무 무거운 리소스를 반복해서 받아오는 부분을 개선하기 위해 라이브러리를 도입해서 해결했다.
몇 부분 없었지만, 프로덕트에 이런 식으로 기여하고 사용자 경험을 개선할 수 있었다는게 참 뿌듯했다.
UX자체를 개선하는 것도 중요하지만, 이런 식으로 자원이나 환경을 개선하는 것도 유의미할 수 있겠다는 생각을 하게한 경험이었다.
개선이 필요한 점
이번 주에 생각보다 내가 부족한 부분들을 많이 느꼈던 것 같다.
정확성
이전까지 tailwind로 개인 프로젝트를 진행하거나, 이미 잘 만들어진 디자인 컴포넌트를 사용해서 퍼블리싱을 해서 일까, 스펙과 동일하게 UI를 구성했다고 생각했으나 마진이나 패딩이 다른 부분들이 꽤 많이 있었다.
리뷰가 아니었다면, 전혀 인지하지 못했을 것이다. 이런 부분은 다시는 일어나서는 안되는 일이라고 생각한다.
무엇이 잘못 됐는 지를 몰랐다. 그건 너무 큰 일이다.
지금까지 나는 다른 부분은 부족할지 몰라도, UI 퍼블리싱에 있어서는 정확하게는 완벽하지는 않더라도 어느 정도는 맞출 수 있다고 자신했다. 그래서 따로 UI퍼블리싱을 할때 설계를 하지도 않았고, 좀 더 빠르게 만들어 내는 것에 집중하려했지만, 그렇지 않다는 것을 알게 됐다.
그래서 이번 주에는 정확하게 에 좀 더 집중을 해보려고한다.
하지만 UI를 모두 체크하기란 쉽지않은 일이다.
그래서 이런 부분을 개선하기 위해서 UI자체를 작은 단위로 설계한 뒤에 만들고 한번 확인할 때 완벽하게 끝낸다는 생각으로 임하려고 한다.
UI를 설계하고 코드로 작성하고, 확인하는 과정을 하나의 사이클로 만들고, 이 과정을 반복하면서 UI퍼블리싱에 대한 정확성을 가져가고자한다.
CSS 지식
리뷰를 받으면서 또 느낀 것이, CSS를 이론적으로 정말 잘 모르는구나를 느꼈다.
스펙대로 화면을 구현할 수는 있으나, 좀더 최적화되고 나은 방식으로 CSS를 만드는 방식을 모른다.
그래서 css코드에 필요 없는 스타일링 코드가 많이 들어가게 됐다.
이런 문제는 단순히 이렇게 바라보면 별개 아닌 것 처럼 느껴질 수 도 있지만, 이게 잘 안되면 js로 코드를 짜게되고, 이러면 실제 사용자 환경에서 프로덕트가 리소스를 더 잡아먹는 작업을 하게 만든다.
이런 부분을 개선하려면 CSS에 대한 이론 지식을 공부할 필요가 있다고 느꼈다.
느낀 점
이번 주엔 작성한 것 처럼 크게 UI퍼블리싱과 CSS에 대한 부분, 그리고 추상화에 대한 부분을 다시 고민할 수 있었다.
추상화에 대한 부분은 특히 좀 크게 배운 부분이라고 생각한다.
데이터를 받아오기는 하지만, 데이터를 소비하는 곳은 UI다.
추상화는 사용자에게 어떤 것을 원하는 지에 따라 간단 명료하게 제공되는 것이 가장 좋다.
따라서 프로덕트 화면에서 추상화는 데이터 기반이 아닌 UI기반으로 이뤄져야한다.
그래서 전반적으로 이번주 목표를 정리하자면
1. 뽀모도로 휴식시간에 다음 계획 더 잘 작성해보기
2. UI 퍼블리싱시 정확성을 위해 설계-코드작성-확인을 작은 단위로 진행하여 정확성 향상시키기
3. 화면 기반의 추상화를 진행하고 간단 명료한 인터페이스 짜기
4. CSS 이론 학습하기
5. AI를 활용해서 생산성을 높히기 위한 방법이나 툴 도입하기 -> 테스크 쪼개기/시간관리 쪽으로
이렇게 회고글을 적는 것은 나의 성장을 위한 것도 있겠지만
팀의 목표를 달성하기 위해서이고, 팀 내부에서도 나의 역할을 다하기 위해서이다.
나의 역할은 여러가지가 있을 수 있겠지만 최우선은 주어진 테스크들을 빠르고, 정확하게 이해하고, 이를 효율적으로 해결해내는 것이라고 생각한다. 이 역할은 가장 기초적인 역량이다. 어디에서나 필요하다.
따라서 목표들은 이런 역할을 효과적으로 수행하기 위해서 세우는 것이다.
그래서 이렇게 세운 목표는 한주 달성하고 끝이 아니라 계속해서 이어져야한다.
하지만 한달쯤 되어가다보니 이전 주에 세웠던 목표들을 제외하면 이전 목표들이 흐릿해져가는 경향이 있는 것 같다.
이 글에서 다시 새겨보며 맥락을 계속해서 가져가고자한다.
아래의 것들은 계속해서 지속해 나가야하는 목표이자 하나의 교훈이라고 생각한다.
목표
1. 문제가 무엇인지 정확히 파악할 것 (그 전까지 코드를 보기보다는 문제를 더 잘 정의할 것)
2. 문제를 파악할때, 문제 해결에 필요한 것들이 무엇이 있을지 생각해볼 것
3. 시간 측정에 대한 정확도를 높힐 것(뽀모도로 방법론 - 계획시간을 더 잘 쓸 것)
4. 코드 컨벤션을 파악해서 쪼갠 문제 푸는 시간을 줄일 것
5. 어떤 것이 확인이 필요한지 생각을 문서로 정리하고, 마친 뒤 빠진 것은 없는지 다시 확인할 것
6. 할 수 있는 것과 없는 것을 빠르게 확인하고, 할 수 없는 부분에 대해 물어봐서 낭비되는 시간을 줄일 것
7. 문제가 안풀릴 때, 새로운 상황이 추가됐을 때는 빠르게 전체적으로 확인해보고 필요 시 기존 뷰를 빠르게 버리고 새롭게 시작할 것
8. 코드/맥락 파악시-소통시에는 그림을 적극적으로 사용할 것
9. AI를 활용해서 생산성을 높히기 위한 방법/툴 도입할 것
10. UI 퍼블리싱시 정확성을 위해 설계-코드작성-확인을 작은 단위로 진행하며 정확성 향상
11. 프로덕트 컴포넌트에서는 화면 기반의 추상화, 간단명료한 인터페이스를 구성할 것
12. CSS이론을 학습해서 최적화할 것