나름대로 2022년을 바쁘게 살았는데 그냥 흘려보내면 어떤 경험을 했는지 기억나지 않을게 분명하니까 글로 남겨봅니다.
접근성을 개선하기 위해서 노력했던 이유와 과정들을 발표했습니다. 제 이야기를 하는거라서 금방 준비가 끝날 줄 알았는데 여행 중에도 발표 스크립트를 수정하며 연습했습니다. 과장하거나 미화하지 않고 작은 노력이지만 좋은 영향을 줄 수 있다는 내용을 담았습니다.
센드버드로 이직했습니다. iOS Chat SDK를 개발하게 되었습니다. 1월은 기능 개발은 하지 않았고 온전히 온보딩에 집중 할 수 있었습니다. 그리고 SDK를 활용해서 샘플앱을 만들어봤습니다.
기능 단위로 나눠진 샘플앱을 만들었습니다. 기존에는 다양한 기능들이 하나의 샘플앱에 들어 있는 구조였는데, 이번에는 기능마다 앱을 나눠서 구성했습니다. 새로운 기능을 추가하는건 다른 개발자들이 하기로 해서 이해하기 쉬운 구조를 만들기 위해서 꽤나 머리를 썼던 기억이 납니다😇 그래도 Tuist도 유용하게 적용해볼 수 있어서 뿌듯했습니다.
온보딩 과정 후에 Chat 스쿼드에 합류해서 개발했는데, 이전 회사에서 했던 것 처럼 기여할 수 있는 부분이 바로 보이지 않아서 힘들었습니다. 시간이 흘러서 구조를 어느 정도 이해하게 되었을 때는 이런 마음은 들지 않게 되었습니다. 초반에 이런 시간을 잘 견디는게 중요한 것 같아요.
Scheduled message 기능 개발을 했습니다. Http, Web Socket을 사용하는 기능을 하나 추가해보니 프로젝트 구성을 어느정도 이해할 수 있게 되었습니다.
하반기에는 운영 이슈 해결하는데 집중했는데 멀티 스레드 이슈를 많이 발견하게 되었고 팀원들과 동시성 이슈에 대해서 분석하고 해결책을 논의해보는 시간을 가졌습니다. 아직 답을 찾아가는 과정이지만, 고민하는 과정 자체가 즐거웠던 것 같습니다. 2023년에는 이 이슈를 어떻게 접근해서 수정하고 있는지 회고해볼 수 있으면 좋겠네요.
운영 이슈를 해결하면서 알고리즘 공부를 해야겠다는 생각도 들었습니다. (TMI인데 스스로를 위해서 자세히 기록해보겠습니다) 여러 스레드에서 로그인을 요청하는 문제가 있었습니다. 처음엔 단순하게 단일 스레드에서 처리하도록 변경하려고 했는데, 이러면 하나의 작업이 완료될 때 까지 다음 작업이 처리되지 않는 이슈가 있다는 것을 알게 되었습니다. 결국 여러 요청이 들어오면 기존 작업을 취소해주는 방식으로 개선했는데, 처음엔 어떻게 구성해야할지 바로 떠오르지 않았습니다. 이 문제를 해결하면서 알고리즘 문제를 풀면서 연습을 해왔다면 좀 더 빠르게 해결할 수 있었겠다는 생각을 했습니다. 알고리즘 연습을 해두면 문제를 섬세하게 해결할 때 필요한 근육을 키워줄 수 있을 것 같습니다.
Client팀 전반에 걸쳐서 사용할 수 있는 기능을 개발하는 팀으로 옮겨왔습니다. 모듈화하고 CI를 구성하는 작업도 함께 하게 되었습니다. 모듈화는 아직 많이 작업하진 못했습니다. 그래도 배포 자동화 기능을 맡아서 여러 시도를 하고 방법을 찾아갈 수 있어서 좋았습니다. Foundation팀의 Nathan, Chris와 여러 방면으로 대화할 수 있어서 좋았습니다. 정답을 정해두지 않고 열린 상태에서 토론하는 경험이 즐거웠습니다. 무튼 몇 개월 간의 실험과 많은 대화를 통해서 배포 자동화를 도입할 수 있게 되었고, Chat product에는 배포 자동화가 적용되었습니다.
이전 회사에서는 시니어 개발자 분들이 저를 대신해서 이런 자동화를 구축해주셨는데요. 이런 작업이 궁금하긴 했지만 지식이 부족하기도 하고 선뜻 나서기 두렵기도 해서 CI 작업을 많이 못해봤었습니다. 이번 기회를 통해서 SDK 배포에 대한 전체 프로세스를 배울 수 있었습니다. shell script, python, 여러 플랫폼의 API 다루기, jira automation과 친해질 수 있었습니다. 실험하면서 꽤 많은 시간을 투입했습니다. 이 과정에 대해서는 회사 블로그 글로 조만간 찾아뵙겠습니다.
평소에 즐겨보는 채널인 EO에 출연하게 되었습니다! 사실 영상을 돌아보면 여전히 부끄러운데요ㅋㅋ... 제가 얘기 했던 블로그를 통한 학습을 과연 스스로 잘 하고 있는지 의문을 던지게 됩니다. 그리고 여러 개발자 분들의 이력서를 리뷰했는데 오히려 제가 많이 배우는 시간이었습니다. 촬영을 준비하면서 '이게 왜 탈락하는 이력서에요?' 라고 질문했던 기억이 나네요.
개발을 할 수록 서비스 전반이 어떻게 구성되어 있는지 궁금해졌고, 가장 커다란 블랙박스 처럼 보이는게 백엔드 영역이라 도전하고 공부하고 싶어졌습니다. 올해 초에 이런 생각을 했는데 빨리 실행으로 옮겨보고 싶어서 코드숨 과정에 참여했습니다. 8주 동안 저녁이 되면 과제를 진행하고 Java, Spring에 대해서 공부하는 시간을 가졌습니다. 과정을 마치고 회사 일이 바빠져서 토이 프로젝트 진행을 아직 하지 못하고 있는데 2023년에는 서버 운영을 하는 경험을 해보려고 합니다.
2022년은 이직하면서 새로운 환경에 적응해나가는 한 해 였던 것 같아요. 이제는 환경에 좀 더 익숙해졌으니 2023년에는 좀 더 중요한 문제들을 동료들과 풀어갈 수 있으면 좋겠습니다. 그리고 개인 시간에 하루 한시간 정도는 알고리즘 공부를 할 계획입니다. 무엇보다 다가오지 않은 불행을 두려워하기 보다, 과정 자체를 즐기는 한 해가 되면 좋겠습니다 😊