글또 8기에 참여하면서 업무나 사이드 프로젝트를 통해 알게된 것들을 공유했다. 도움이 됐다는 메시지를 받거나 내 글이 큐레이트되기도 했다.
글또를 시작하면서, 고민의 기록을 남기고 피드백 받을 용기를 얻어가고 싶다고 했었다. 너무 소중한 고민의 기록이 10개 정도 추가됐고, 내가 쓴 글을 다른 사람에게 자신있게 공유할 수 있게 됐다. 이제껏 회고도 제대로 하지 않았는데, 성윤님께서 공유해주시는 회고에 대한 생각과 다른 분들의 회고를 참고하면서 나도 회고를 시작하게 됐다. 글또를 하지 않았다면 6개월이라는 짧은 시간동안 이만큼 성장할 수 있었을까? 다음 기수에도 꼭 참여하고 싶다. 🙂
사내에서도 위키에 글을 열심히 쓰고 있다.
우리 프로젝트는 오래된 레거시 코드가 많은 편인데, 레거시 코드와 관련된 부분에 기능을 추가하려면 기능 개발보다 레거시 코드 분석이 오래 걸릴 때가 많다. 이런 코드를 분석할 일이 있으면 분석한 내용을 위키에 정리해 놓는 편이다.
규모가 큰 프로젝트를 진행할 때도 그 프로젝트를 진행하면서 생긴 고민이나 의사결정을 위키에 정리하고 있다.
미니 테크 세미나를 9개월 째 진행하고 있다
작년 오픈소스 컨트리뷰션 아카데미를 진행하면서 알게 된 분들과 매주 미니 테크 세미나를 진행하고 있다. 보통 블로그에 썼던 글의 내용을 토대로 발표를 진행했는데, 자료를 준비하고 발표를 하는 과정에서 내가 했던 생각을 더 깊고 상세하게 정리할 수 있었던 것 같다.
가장 좋았던 부분은 다들 서로의 발표를 주의깊게 듣고 좋은 질문을 많이 해주셔서 발표의 내용이 더 풍부해질 수 있었던 점이다. 이 스터디를 하면서 스터디에서 발표도 중요하지만 질문을 통해 내용을 구체화하는 과정이 훨씬 더 중요하다는 생각을 하게 됐고, 나도 다른 사람의 발표를 듣고 나서 적극적으로 질문하려고 노력하고 있다.
꾸준히 운동하기
4월부터 런데이 30분 달리기 도전을 시작해서, 지금은 컨디션이 좋을 땐 20분까지도 뛸 수 있게 됐다. 수원에 있을 땐 집 앞에 달리기 트랙이 있어서 거의 매일 뛰었는데, 서울로 이사온 후에는 15분 걸어가야 아주 작은 공원이 하나 있어서 좀 아쉽다… 그래도 퇴근 후에 10분씩 달리고 있다.
러닝을 하면서 살이 정말 많이 빠졌다. 체력은… 잘 모르겠다. 정신적으로도 도움을 많이 받은 것 같은데, 그나마 러닝을 해서 번아웃이 왔을 때 완전 무너지지 않았던 것도 같다…
러닝 외에 운동을 하나 추가해 보고 싶은데, 헬스는 도저히 재미가 없어서 못 하겠다… 일단 이것저것 찍먹해보려고 다음주에 F45 체험 신청을 해놨다. 이것도 재미없으면 테니스 해봐야지
반복적이고 실수할 수 있는 일을 자동화하기
디자인패턴 스터디를 하면서 각 디자인패턴에 대해 정리한 글을 깃 리파지터리에 올렸었는데, README에 목차를 직접 작성하는 게 귀찮기도 하고 충돌이 자주 일어났다. 그래서 main 브랜치에 커밋이 생길 때마다 알아서 목차를 생성해서 README를 수정해주는 깃허브 액션 워크플로우를 만들었다.
목차 생성과 비슷한 느낌으로, 블로그에 새 글이 올라오면 내 깃허브 프로필에 최신 포스트 링크를 업데이트해줄 수 있을 것 같아서 이것도 깃허브 액션과 웹훅을 활용해 자동화했다. (링크)
우리 회사는 최근에 웹 e2e 테스트를 도입했는데, 깃을 잘 모르는 QA 분들이 쉽게 프로젝트 세팅을 할 수 있도록 하는 쉘 스크립트를 작성했다. 스크립트를 다운받아서 실행시키기만 하면 프로젝트 클론부터 환경변수 세팅과 VSCode 확장 프로그램 설치까지 해줘서 아주 짧은 매뉴얼로 프로젝트를 한 번에 세팅할 수 있게 됐다.
PROBLEM - 문제가 된 것
의욕이 심각하게 떨어졌었다. 다른 사람과 나를 비교하면 안 된다는 걸 알지만 그래도 나보다 잘 하고 열정 많은 사람이 너무 많아서 마음이 힘들었던 시기가 잠깐 있었다. 나는 UI나 사용성보다는 내부 로직과 구조를 설계하고 개선하는 쪽이 재밌기도 하고 관심이 많은데, 이런 부분에서 내 성향이 사실은 프론트엔드 개발과는 잘 어울리지 않는게 아닐까 하는 고민이 있었다.
UI와 사용성에 아주 관심이 없는 건 아니다… 나도 기본적인 부분은 당연히 챙기고, 당연히 프론트엔드 개발에서 가장 중요한 부분이라고 생각한다.
그래서… 이런 성향이 프론트엔드 개발에서 어떤 장점이 될 수 있을까를 고민하고 있고, 백엔드 개발을 다시 공부해볼까 하는 생각도 했었다.
사실 내 성향과 지금 일하고 있는 그래픽 에디터 도메인이 잘 맞긴 한 것 같다. 우리는 UI도 정말 중요하지만, 그 내부에서 동작하는 내부 로직도 중요하고 복잡해서 내가 하고 싶은 개발을 할 수 있는 환경인 것 같다. 그런데 지금 환경에선 괜찮지만, 만약 지금과 다른 환경이 된다면 그래도 잘 할 수 있을까? 애초에 지금 나는 잘 하고 있는 걸까? 하는 생각이 많이 들었다.
아직도 이 부분에 대한 생각이 잘 정리되진 않았지만, 힘들었던 건 이젠 좀 괜찮다… 부족한 점은 채우면 되는 거니까!!! 항상 하고 싶은 개발만 할 수는 없고, 부족한 점을 알았으니 하반기에는 부족한 점을 채우기 위해 노력해봐야겠다.
TRY - 다음에 시도할 것
출퇴근 시간을 활용해서 책이나 아티클 읽기
올해 초에는 책을 정말 열심히 읽었다. 밀리의서재 기준 10권 정도 읽었고, 종이책도 5권 정도 읽었다. 그러다 3월부터 슬슬 번아웃이 오기 시작하면서 책 읽을 의욕도 떨어져 버린 것 같다…. 이젠 좀 회복됐으니 다시 책읽기를 시작해보려고 한다!
Substack에서 몇몇 뉴스레터를 구독하고 있는데, 여기에서 날아오는 글도 틈틈이 열심히 읽어두려고 한다.
아티클이나 강의를 통해 배운 것을 적용하고 활용하기
지금은 그냥 읽거나 듣고 흘려버리는 내용이 너무 많은 것 같다. 읽은 내용을 간단하게나마 요약해서 내 지식으로 만들거나, 할 수 있다면 지금 하고 있는 작업에 활용해 봐야겠다.
전부터 블로그 안에 짧은 글을 올릴 수 있는 기능을 만들어 보고 싶었는데, 하반기에는 한 번 만들어 봐야겠다.
그 외
상반기엔 회사에서 재밌는 프로젝트를 많이 맡아서 정말 재밌게 일했었다.
1년 동안 회사를 다니면서 꼭 리팩터링하고 싶은 부분이 있었는데, 팀장님께서도 흔쾌히 허가해 주셔서 한 달이 넘는 기간동안 리팩터링을 진행했다. 불필요한 캐싱이나 중복되는 클래스를 전부 없애거나 통합시키고, 너무 복잡한 클래스는 일부 기능을 위임시키도록 만들어서 훨씬 나은 구조로 개선되었다. 이 과정에서 <리팩터링>이나 <레거시 코드 활용 전략> 같은 책을 많이 참고했다. 작년에도 하고 싶었지만 엄두도 못 내던 작업이었는데, 한 해 동안 많이 성장했다는 걸 느꼈다.
그 외에도 왼쪽 패널을 확장, 축소할 수 있는 핸들을 추가하거나, 텍스트 요소의 스타일을 바꿀 수 있는 추천 버튼을 추가하기도 했다.
5월에 오픈소스 컨트리뷰션 아카데미 지역 스프린트 멘토로 충북대학교에 다녀왔다. 5년차가 되기 전에 한 번쯤 멘토로 활동해 보고 싶었는데, 좋은 기회를 얻어서 짧은 시간이나마 멘토 활동을 하게 됐다.
아쉬운 점은, 멘티님들이 스스로 고민할 수 있게 도와드리기보다는 정답을 처음부터 알려드릴 수밖에 없었던 상황이 자꾸 생겼다. 1박2일로 진행하다 보니 작업에 쓸 수 있는 시간이 너무 부족하기도 했고, 멘티 분들께서 작업에 필요한 기술에 익숙하지 않다 보니 직접 해결 방법을 고민하실 시간을 드리기에는 너무 촉박했다.
다행히도 모든 멘티 분들께서 각자 하나 이상의 이슈를 해결해서 PR을 머지하셨고, 활동이 끝날 때쯤 새로운 릴리즈를 배포할 수 있었다. 열심히 참여해주신 덕분에 우리 프로젝트도 정말 많은 부분이 개선될 수 있었다. 멘티 분들께도 좋은 경험이 되었길.. 🙏
넥스터즈 활동을 두 기수 째 하고 있다.
올해 초에는 웹 프론트엔드 개발자와 디자이너로만 구성된 팀에서 인터랙션 위주의 정적 사이트를 만들었다. 업무에서는 UI보다는 주로 내부 로직을 개발하는 편이라 CSS와 인터랙션에 약했는데, 이 프로젝트를 하면서 인터랙션을 정말 원없이 써볼 수 있었다…
이번 기수에는 내가 발제한 아이디어가 선정돼서 PM으로 참여했다. 앱 기반 프로젝트이다 보니 웹 개발 우선순위가 약간 밀려서 PM 역할에 집중하고 있다. 작업과 관련해 발표할 일도, 팀 관리와 의사 결정할 것도 많아서 오히려 다행인 것 같기도 하다. 그리고 내가 개발하는 부분은 상대적으로 덜 중요하다 보니 해보고 싶은 것들을 맘껏 해볼 수 있게 됐다.