About HERREN
home
Media
home

개발파트 2023년 회고

안녕하세요. 개발파트 이안 입니다. 새해엔 다른 일들로 바쁠듯해서 2023년 회고를 적어봤습니다.
한 해를 정리하다보니 막상 일을 할때는 잘 몰랐는데 정말 많은 일들을 해냈다는 생각이 듭니다. 구성원들 모두가 한마음으로 잘 모아진 결과이고 참여한 모든 분들 다들 너무^100 수고했다고 말해주고 싶어요.
회고는 “매니저먼트”, “기술부채”, “프로젝트”, “기타” 총 네 개의 항목으로 정리했습니다.
1.
매니지먼트
먼저 개발파트의 규모에 대해 이야기를 해야할거 같은데요. 헤렌의 개발파트는 현재 21명이고 20명대 초반에서 중반 정도로 유지되고 있습니다. 제가 가지고 있던 가장 큰 숙제중의 하나는 파트에서 관리자 역할을 저 혼자 하고 있다는 것이었어요.
어떻게든 시간을 내서 1:1 미팅을 위한 템플릿부터 여러 경로로 의견들이 모아질 수 있는 시간들을 업무 프로세스에 녹여냈었지만 혼자 모든 이야기를 듣고 회사의 방향에 맞춰서 풀어내기에는 물리적인 한계가 있었습니다.
정기적인 1:1 미팅 시즌에는 2주 내내 풀타임으로 미팅만 진행해야 했구요. 이런 상황은 저 스스로에게도 긍정적이진 않았습니다. 당시 제가 선택할 수 있는건 두 가지 정도였습니다. 채용으로 풀어내거나 내부 인원 중에서 중간관리자로 적합한 사람을 세우거나.
전자의 경우엔 시간이 얼마나 소요될지, 채용된 분이 기존 구성원들과 얼마나 합이 맞을지에 대해 일정 시간이 지나야 알 수 있다는 부담이 있었습니다. 후자의 경우엔 내부에 적합한 후보자가 없으면 시도조차 할 수 없는 상황이었죠.
다행히 그동안 1:1 미팅 기록을 잘 쌓아놓은 덕분에 개선된 파트의 모습에 대해 밑그림을 그릴 수 있었고 한분씩 이야기를 나누면서 매니저 역량을 키우기 위한 그룹 스터디에 들어갔습니다. 여기서 조금 예외적인 것 합류한지 3달 정도 된 분에게 매니저 역할을 제안한 것이었는데 이건 다음에 기회가 된다면 좀 더 자세히 적어볼께요.
아무튼, 이렇게 선발된 3명은 2022년 겨울즈음 부터 그룹 스터디를 시작했고 해를 넘겨 2023년 3월 즈음에 회사 내에 공식적으로 매니저 직함(Header Assistant Manager, 이하 HAM) 으로 업무를 진행하기 시작했습니다.
이 시기 이후에는 매주 정기적인 미팅을 통해 서로가 겪는 상황에 대해 솔직하게 나누고 건전한 발전을 위해 고민하고 실천하는 시간을 가졌습니다.
이 시기 동안 함께 나눠진 업무는 아래와 같습니다.
1:1 미팅 담당자를 HAM 별로 분리
반기마다 진행하는 직무평가 및 평가계수를 4명이 논의하고 결정
이전보다 다양한 의견을 취합하고 들으면서 조금 더 건강한 방향으로 업무 진행이 가능해짐
담당자별 1:1 라이트 미팅 진행
기타 비정기적으로 발생하는 이슈 등 매니지먼트 관련 업무들에 대해 함께 논의하고 결정
참고삼아 인터뷰 영상 추가합니다.
2.
기술 부채 해결
어느 스타트업이든 비슷하겠지만 헤렌 역시 꽤 많은 기술부채를 가지고 있습니다. 특히 서비스마다 다른 언어로 개발되다보니 기술부채의 종류도 타 회사보다는 더 많은 편이었습니다.
서비스 불문하고 해결한 기술부채는 아래 네 가지 였습니다.
주기적인 기술문서 업데이트
정적분석툴 sonarCloud 도입
어드민 생산성 및 사용성 개선을 위해 retool 도입
정적분석툴은 고민한 것은 1년이 넘었었는데 다른 일들로 미루어지다 올해 적용하게 되었구요. 생각하지 못한 케이스도 잘 찾아내줘서 도움을 받고 있습니다.
기술문서를 주기적으로 업데이트 하다보니 신규 입사자 온보딩에도 활용하면 좋겠다고 생각되어서 온보딩 프로세스도 개선하게 되었습니다.
어드민의 경우 웹프론트까지 직접 유지보수 하기에는 리소스가 여의치 않았습니다. 주기적으로 관리하지 않으면 사용하는 패키지의 노후화로 인한 보안성 이슈도 발생했었구요. 그래서 좀더 높은 생산성을 유지하기 위해 점진적으로 retool 이라는 SaaS 로 전환하고 있습니다. 아직까지는 꽤 쓸만한거 같아요.
각 플랫폼 별로도 정말 많은 기술부채를 점진적으로 해결해가고 있습니다. 기술부채를 해결하면서 가장 중요했던건 기술적인 성숙도를 만들어가기 위한 꾸준한 노력이었습니다.
서비스에 반영되는 기능이 우선시되는 상황에서도 개발파트 구성원들이 책임감있게 각자 담당하는 기술적 성숙도를 위해 하나씩 부채를 청산해 갔습니다. 일부 일감들은 이제 시작단계에 있기도 하지만 시작이 반이라고 하니 그 다음 단계로 도약하는건 좀 더 손쉬우리라 기대해봅니다.
백엔드 셀
코틀린 도입을 위해 Java 8 → 17 로 업그레이드
공비서 알람톡 서비스 코틀린 전환 완료
공비서 신규 기능 코틀린으로 작성
브랜다즈 시스템 개선 프로젝트 코틀린으로 작성 중
백엔드 유지보수 향상을 위해 멀티모듈 도입
공비서 서비스 배포 단위별로 분리되어 있던 레포지토리 통합(배치, 어드민, 알림톡 등)
인스타겟, 시스템 개선 두개의 서비스를 인스타겟 레포지토리에 통합 관리
순환 참조 개선
테스트 코드 도입, 미사용 코드 삭제 및 실패하는 테스트 코드 정비
→ 새로 시작한 일도 주기적으로 관리하지 않으면 빠르게 부채가 될 수 있음을 느끼게 해주었습니다
불필요하게 분리된 데이터베이스 통합
비효율적인 Redis, MongoDB 구조 → RDS로 이관
AWS 비용 최적화
불필요 리소스 정리 및 일부 스펙 변경
개발서버의 경우 업무 시간에만 동작하도록 자동화
젠킨스 기반으로 CI/CD 통합
AWS 인프라 장애 알림 설정
애플리케이션 모니터링 설정
웹프론트
테스트 코드 도입
react testing library와 jest를 이용한 테스트 코드 작성
UI 컴포넌트의 동작을 독립적인 환경에서 테스트할 수 있도록 스토리북 발행
공비서 프론트엔드 인프라 변경
EB → AWS ECS Fargate
모니터링 도구 Sentry 도입
클라이언트에서 발생하는 오류를 신속하게 탐지하고 정확하게 원인을 파악하여 빠르게 대응하기 위함
nextjs 글로벌 에러 처리 방식 개선
네이티브
Android
모노레포로 구조 변경
java → kotlin 전환
라이브러리 정리 및 버전 최신화
groovy → kotlin DSL 전환
네트워크 로직 개선
HttpUrlConnection → Retrofit
iOS
모노레포로 구조 변경
테스트 코드 도입
Mock API + Mock Data 도입
라이브러리 정리
네트워크 로직 개선
레거시 코드, 리소스 정리
코드 컨벤션 문서 정리
디자인 시스템 공통 컴포넌트 구현
QA
배포 전 테스트 케이스 단위의 점검이 부족했는데 QA 채용 후 관련된 프로세스 정비 시작
정기 배포 흐름을 만들고 관련된 작업이 해당 주기에 맞춰지도록 함
프로젝트별 배포항목 정리 등 추가적인 개선 진행 중
3.
프로젝트
새로 진행되는 프로젝트 중에서 가장 기억에 남는 것은 공비서의 캘린더 개편과 인스타겟 서비스 리뉴얼 이었습니다.
공비서 캘린더 개편 프로젝트의 경우엔 기간도 길었지만 개편 범위도 너무 넓었고 고객에게도 영향도가 큰 프로젝트 였습니다.
개인적으로는 절반의 성공, 절반의 실패였다고 생각되는데요.
가장 많이 쓰는 기능과 관련된 기술부채를 상단부분 개선했다는 것은 큰 성과였지만, 오픈 이후 예상 외의 장애가 발생하면서 의미가 다소 퇴색된 것이 많이 아쉬웠습니다.
캘린더 프로젝트는 꽤 긴시간 진행됬었고 기존에 정리된 정책과 관련된 문서들이 없어서 프로젝트에 참여한 모두가 많이 고생했었습니다. 이 프로젝트의 결과를 반면교사 삼아서 이후에 진행되는 프로젝트에서는 좀더 단단해져 가고 있는걸 위안삼아 봅니다.
인스타겟 리뉴얼 프로젝트의 경우엔 기반 시스템 이슈로 인한 프로젝트 진행에 여러번 어려움을 겪은 프로젝트 였습니다. 오죽하면 참여했던 구성원 중 한 분은 회사 입사하고 처음 오픈한 거라고 감격해 했을까요.
리뉴얼 프로젝트를 성공적으로 마무리한 덕분에 이후 고객 관점에서 편리한 기능을 추가하고 연계된 레거시 시스템을 개선하는데 더 속도를 낼 수 있었습니다.
공비서
공비서 캘린더 개편 프로젝트 오픈
공비서 비즈콜 안드로이드 앱 배포
공비서 구독 결제 프로젝트 오픈
공비서 알림 충전 프로젝트 오픈
공비서 카카오 챗봇 프로젝트 오픈
공비서 예약 서비스 종료
브랜다즈
인스타겟 리뉴얼 프로젝트 오픈
인스타겟 메인 개편
인스타겟 카카오싱크 연동
브랜다즈 시스템 개선 프로젝트
주문 처리 프로세스 안정화
4.
기타
이 외에도 여러가지 시도들을 했던 2023년 이었습니다.
자체 세미나를 했던 경험을 살려서 인프콘에 후원사로 참여하기도 했구요. 정기적인 기술 관련 스터디를 통해 기술부채를 해결하고 새로 설계하는 시스템에 도입해보기도 했습니다.
시간의 소중함은 지나간 다음에야 알게 되는거 같습니다. 힘든 시간들도 있었지만 함께한 구성원들 덕분에 서비스도 더 성장할 수 있었고 기술적인 과제들도 충분히 해결할 수 있었습니다. 덕분에 한 해가 좋은 기억들로 채워졌다고 자평 해보며 회고를 마무리합니다.
다들 정말 고생 많으셨습니다~
1차 사내 세미나 진행
사내 스터디 지속적으로 진행
카프카 도입을 위한 스터디
개발환경 셋업
자바 → 코틀린 전환 스터디
알림톡 모듈을 코틀린으로 전환
웹프론트 모노레포 관련 스터디, 클린 아키텍처 도입을 위한 논의
iOS SwiftUI, Combine 스터디
안드로이드 MVI, Compose 스터디
네이티브셀 세미나