오랜만에 회고를 작성한다. 거의 3주동안 많은 고민들이 있었고 푹쉬기로 하였다. 오랜만에 적는만큼 이번 회고에서는 그동안 있었던 일들에 대해 간략하게 정리도 해보고 앞으로의 계획과 지난 일주일간 배웠던 개발관련 내용을 정리하는 방식으로 회고의 방식을 좀 바꿔서 적어보려고 한다.

이직

6월 14일을 기점으로 최종적으로 이직하는 곳을 결정 지었다. 그동안 이직 준비를 하면서 2차 면접까지 가서 탈락을 하기도 하고 알고리즘 문제를 못풀어서 떨어지고 1차 면접에서도 몇번이나 탈락하는 등 많은 좌절을 겪었었다. 다행인지 불행인지 서류는 잘 통과하더라 ㅎㅎ
그러면서 자존감도 많이 떨어지고 반대로 많은 부분을 배우기도 하였다. 새로운곳에서 새롭게 시작하는 만큼 이곳에서 더 많은 것을 배우고 느끼면서 한단계씩 성장해 가도록 노력해야 겠다.

휴식

이직이 결정되고 일주일정도 휴식기간을 가졌다. 물론 3주동안 이직이다 뭐다 이런저런 핑계로 공부를 제대로 하지 않았다.
남들이 보면 왜그렇게 짧은 기간의 휴식기간을 가지냐고 말할 수도 있겠지만, 이전 회사에서 긴축경영을 이유로 주 4일 출근을 하면서 휴식에 대한 욕구가 없었기도 하였고, 특별하게 길게 쉬면서 얻을 수 있는 게 없다고 판단해서 일주일 정도만 휴식 기간을 가졌다.

앞으로의 계획

새로운 회사에 적응하고 얼마나 바쁘게 일하느냐에 따라 공부와 운동 계획이 달라질 것 같다.

  • 독서: 출퇴근 길에 틈나는 대로 계속 할 예정이다. 출퇴근길이 조금 길어지면서 출퇴근길에 책을 조금씩 읽으면 좋을 것 같다.
  • 영어공부: 자율 출퇴근제라서 그런지 최근 일주일간 일어나서 회사가기 바빳던 것 같다. 이전처럼 일어나서 1시간 정도 영어공부를 하는 것은 좀 적응하고 실행해 볼까 고민중이다. ~~ 저녁에는 절대 하지 않을 것 같다.~~
  • 운동: 회사의 업무강도가 낮지는 않기에 우선 좀 적응하면서 홈트레이닝을 하면 어떨까 한다. 우선 이번달까지는 운동은 쉬어볼까 한다.
  • 회고: 그동안 회고는 쉬었는데 이제 다시 주간 및 월간 회고를 작성해 보고자 한다. 이전 방식인 KEEP, WATCH, CHANGE는 사용하지 않고 일주일간 배운 기술들을 정리하는 것과 소소한 일상 얘기를 하면 좋을 것 같아서 회고 방식을 조금 바꿔볼까 한다.
  • 기타: 그외 알고리즘 공부나 블로그 작성, 기술 공부 등은 특정한 주기를 가지고 하기보다는 회사의 업무에 적응해 가면서 맞춰서 해야할 것 같다.

지난 일주일

15일 부터 새로운 회사로 출근하였다. 이제 또 새로운 곳에서 적응하고 생활하려고 하니 설레기도 하고 잘 적응할 수 있을까 걱정이 되기도 하다. 새로운 회사는 온라인 클래스 플렛폼을 서비스 하는 회사로 이전 회사와 다른 비지니스 모델을 가진 회사이다. 이곳에서 나는 커머스팀에서 커머스와 관련된 기능을 개발하는 업무를 담당하게 될 예정이다.
일주일간 느꼈던 회사에 대한 느낌은 자유로우며 바쁘고 활발하다 였다. 이전 회사보다 훨씬 스타트업스럽고 (문화, 마인드, 분위기 등) 활발한 분위기에 아무래도 적응하려면 시간이 좀 걸릴 것 같기도 하다.
개발 조직은 총 30명 내외로 백엔드는 10명 내외인 것 같다. 팀 구성이 목적 조직으로 구성되어 있다보니 개발인원을 전체적으로 파악하기가 쉽지는 않았다. 현재 백엔드는 typescript + node + graphql + mongodb 환경과 java + spring + restapi + mysql 환경이 공존하고 있는 상태이다. 점진적으로 java 환경으로 변경하려고 계획중이라고 CTO님께서 말씀하셨다.

입사하고 화요일쯤에 처음으로 받은 업무는 거래 대사 작업과 관련된 기능을 개발하는 것이었다. Kotlin 언어로 개발하다가 Java로 다시 개발하려고 하니 변화된 환경에 대한 설레임 반 두려움 반으로 업무를 진행하고 있다. 아래 목록은 내가 이번주 동안 고민하거나 사용했던 기술들에 대한 정리이다.

  • Slack logback

    이전에는 Slack Web Hook 기능을 이용한 로깅이나 메시징 기능을 사용할 때 단순히 RestTemplate 라이브러리를 이용해서 연동을 하는 방식을 사용했었는데, 이곳에서는 Spring의 logging 기능을 이용하여 좀더 세련되고 편한 방식으로 Slack Web Hook을 사용하고 있었다. 이부분은 앞으로도 유용하게 사용할 수 있을 것 같고 제대로 알아두면 좋을 것 같은 기능이라 튜토리얼을 한번 해보면서 정리하면 좋을 것 같다.

  • Lombok

    Kotlin을 사용할 땐 사용하지 않았기 때문에 Lombok을 실무에서 사용해 보기는 이번 작업 때 처음이었다. 꽤 강력하고 편리한 기능을 제공하지만 JPA와 같이 제대로 알고 사용하지 않으면 수많은 이슈와 마주할 수 있을 것 같아서 조심스럽게 사용해야 할 듯 하다. 개인적으로는 DTO 외에는 무분별하게 사용하는 것은 지양하면 좋을 것 같다.

  • Jackson

    거래 대사에서 외부 API와 연동을 위한 전문을 정의할 때 많은 시간을 할애하였다. Spring에서는 JSON 직렬화와 역직렬화를 지원해주는 도구로 Jackson 라이브러리를 제공한다. Lombok과 함께 사용하려고 하니 생각지도 못한 여러곳에서 이슈가 발생해서 많이 애를 먹었었다. 앞으로도 Jackson은 많이 사용하게 될텐데 제대로 잘 사용하기 위해선 실제로 직렬화 및 역직렬화가 어떻게 동작하고 어떤 제약조건을 가지고 있는지 살펴볼 필요가 있어보인다.

  • GitHub 멀티 로그인

    이전 회사에서는 Git을 AzureDevOps로 사용하였기 때문에 문제가 되지 않았지만 현재 회사에서는 GitHub을 사용하고 있다. 그러다보니 개인적으로 사용하는 계정과 회사용 계정을 내 PC에서 동시에 사용해야 해서 설정하는 방법을 찾아보고 적용하여 사용하고 있다. 설정 방법은 정리해 두고 앞으로 필요할 때 참고해서 사용하면 좋을 것 같다.

  • OpenCSV

    OpenCSV는 Java에서 CSV 파일을 파싱하기 위한 오픈소스 라이브러리이다. 처음 사용해 보는데 사용방법이 어렵지 않고 편리하여 잘 알아두고 앞으로 사용하면 좋을 것 같다.

  • Mac OS 사용

    현재 회사에서 지급되는 개발용 PC는 Macbook이다. 오랜만에 다시 Mac OS를 사용하려고 하니 다시 적응하고 이것저것 환경 설정 시 이슈가 많이 생겼었다.

  • Intellij Auto-Convention

    인텔리제이에서 코드 저장 시 자동으로 컨벤션을 맞춰주는 확장 라이브러리를 우연히 발견하게 되었다. 앞으로 사용해보면서 장단점을 봐야겠다.

  • ClickUp

    회사에서는 이슈관리 도구로 ClickUp을 사용하고 있다. 처음 사용해 보는 데 Jira도 사용해보고 AzureDevOps도 사용해 보았기 때문에 익숙해지면 사용하는데는 큰 무리가 없어 보인다. 다만 Git 연동 기능은 현재 사용하고 있지 않아서 한번 물어보고 사용해 보면 어떨까 생각한다.