본문 바로가기
Moment

4년차 개발자 회고록 (혹은 작업기록)

by iyos 2025. 1. 5.

 

[지난 회고록]

3년차 회고록 (하반기)

 

3년차 개발자 회고록 (+ 2023년 하반기 회고)

1. 시작하며 3년차 개발자 회고록 (상반기)1. 시작하며 블로그에 "3년 차 개발자 회고록"이라는 타이틀로 글을 시작하는 날이 오다니 새삼 신기하다. 신입 때 나의 상상 속 3년 차 개발자는 분명

todayscoding.tistory.com

3년차 회고록 (상반기)

 

3년차 개발자 회고록 (상반기)

1. 시작하며 블로그에 "3년 차 개발자 회고록"이라는 타이틀로 글을 시작하는 날이 오다니 새삼 신기하다. 신입 때 나의 상상 속 3년 차 개발자는 분명 어나더클래스의 실력을 갖춘 미친 퍼포먼스

todayscoding.tistory.com

2년차 회고록

 

2년차 개발자 회고록

작년에도 연말에 휘몰아치는 업무를 해내느라 겨우 1월에 정신을 되찾고 회고록을 썼었는데, 올해는 무려 2월이 되어서야 작년 회고록을 쓴다. 작년 회고록에서 내 개발자 생활은 "눈코 뜰새 없

todayscoding.tistory.com

1년차 회고록

 

1년차 개발자 회고록

새해의 1월 하고도 12일이나 지났다. 회사에서 한 달 전부터 준비해온 22년 첫 업데이트를 무사히 끝내고 퇴근한 지금에서야 겨우 '아, 회고록!' 하고 마음을 다잡으며 키보드를 두드리게 된 나를

todayscoding.tistory.com

퇴사후 회고록

 

퇴사 후 회고록

방향을 찾고 싶은가? 그렇다면 먼저 방향을 잃어봤는가? 2020년은 내 인생 터닝포인트의 해라고 말해도 과언이 아닐 정도로 내 생각, 감정, 생활 등등 모든 면에 있어 큰 변화를 가져왔던 1년인 것

todayscoding.tistory.com

 

 

 

     

     

    시작하며

    1년 만의 회고록이다. 매년 이맘때쯤 회고록 쓸 때마다 '벌써 1년이나 지났다니!'라는 생각이 가득했었는데, 이번 24년은 특이하게도 다사다난했어서인지 아카이빙 된 자료들을 보며 '이게 다 1년 안에 일어난 일이라고?'라는 생각에 이걸 언제 다 적어낼지 까마득했다. 그만큼 일도 많고 생각도 많이 했던 한 해였던 것 같다. 어디까지 이 글에 담아내야 할지 12월부터 고민했지만, 고민만 하다가 시간만 가는 것 같아서 그냥 지금까지 기록했던 온갖 기록물을 참고하며 이번 해를 정리하기로 했다.

     

    시작!

     

     

     


     

     

     

    업무회고

     

    요약

    1월 - 파일 업로드 로직 개선
    2월 - AI 담당자 추천, AI업무필터 개선
    3,4월 - 보고서, 채팅검색개선
    5월 - 채팅멘션
    6월 - 채팅리액션
    7,8월 - 이커머스 상품정보공유, AI매출보고서
    9월 - 이커머스, 대시보드 바로가기
    10월 - 일렉트론 내부소스 모듈화
    11월 - 채팅고도화 설계, 키워드연동
    12월 - 채팅 리팩토링, 업무기능개선

     

    요약만 해도 정말 쉴 틈없이 달리고 달리고 달려왔던 한 해였다. 이렇게 보니 거의 한 달에 하나씩 기능 개발을 해냈던 나 스스로가 신기(?) 하기도 하다. 사실 올 해에는 중간에 번아웃이 오기도 했었는데, 왜 왔는지 회고를 위해 정리하다 보니 알 것 같다.

     

    지난해까지는 작업했던 기간을 캘린더를 보며 '업무비중 퍼센트'를 항상 날짜로 계산해서 기록했었다. 이번에는 다행히 12개월 내내 노션에 꾸준히 작업기록을 해놓은 덕에 한 번에 비중을 알 수 있다. 1년간 업무 중에 기록한 작업문서 111개 중 57%가 신규기능개발 및 개선에 관련된 내용이고, 36%가 R&D이다. 그 외에는 운영이나 장애대응 등에 관련한 내용인데, 이번 한 해는 운영 유지보수에 관련된 역할을 맡은 기간이 없어 거의 없다고 봐도 무방할 것 같다.

     

    (좌) 24년 연간 업무 비중 / (우) 기록했던 연간 작업 및 연구 기록

     

    각각의 작업들이 규모가 꽤 커서 모든걸 세세히 기록하긴 어려울 것 같아, 짧으면서도 핵심만 최대한 정리해 본다.

     

     

     

    파일 업로드 로직 개선

    개선 전 로직의 일부가 전역변수를 활용하는 방식으로 개발되어 있어, 2번 이상 동시에 전송을 시도하면 꼬이게 되어있었다. 꽤 오래전부터 발생하던 문제이지만, 한국에서는 업로드 과정이 굉장히 빨라 네트워크 저속환경에서만 재현되었었다. 그리고 여러 번 나눠서 전송을 시도하는 사용자가 적어 노출되는 케이스가 적기도 했다. 하지만 임시메시지 기능을 개발하여 몇 번의 클릭만으로도 동시에 여러 번의 파일/이미지 전송을 연속으로 시도하기에 더 쉬워지면서, 문제가 더 자주 노출되는 상황이 발생했다.

     

    이미지와 파일은 임시메시지를 막자는 의견도 있었으나, 당장 1월 내에는 부서 전체에서 진행하는 로드맵 기능들이 바로 추진되지 못할 것으로 보여, 일단 이 문제부터 개선을 빠르게 진행하는 것을 목표로 자체적으로 추진해서 진행했다. 서비스로직을 변경함과 동시에 구조적인 부분도 신경을 쓰려고 노력했다. 기존의 업로드 호출의 엔트리포인트가 너무 나뉘어 있어서 유지보수에 어려움도 있었고, 추상화가 안되어있어 로직파악에 굉장한 시간을 써야 했던 부분들도 함께 개선했다.

     

    바쁘다는 핑계로 개선은 못하는 조직이 되지 않았으면 해서 무리해서 진행했던 부분이기도 한데, 다행히 성공적으로 마무리되었다. 

     

     

     

    AI 담당자 추천 & AI업무필터 개선

    팀에서 다른 팀원분들이 진행하던 프로젝트에 지원으로 투입되었던 개발건이다. 컨벤션에서 열리는 행사도 예정되어 있던 만큼 제대로 된 기능을 짧은 시간 안에 선보여야 한다는 부담감과 압박감 속에 모두가 달려갔던 것 같다. 나는 그중에서 담당자 추천기능과 업무필터 개선작업을 약 2주.. 정도 되는 짧은 시간에 해냈던 기억이 있다. 불가능한 일이라고 생각했는데 어찌어찌 행사까지 성공적으로 마무리되었다. 하지만 당시에 너무 결과를 만들기 위한 것에만 치중하는 부분도 없지 않아 있었어서 개인적으로는 작업에 아쉬움이 남아있다.

    (좌) 기능오픈 이후 공개된 내용 중 일부 / (우) 행사 당일 현장

     

     

     

    보고서

    보고서 기능은 프로젝트 내에서 축적된 데이터를 바탕으로 업무 진행 추이, 담당자별 업무 건수 등의 정량적인 지표를 확인할 수 있는 일종의 프로젝트 대시보드와 같은 기능이다. 기존에 개발되었던 '인사이트'라는 기능을 더 확대해서 개발하는 부분이었다. 기능적 특징이 뚜렷하다 보니, 당시에 개발적 메인 주안점을 잡고 달성하기 위해 노력했던 것이 기억난다. 

     

    1. 각 데이터 조회값이 정확하고 빨라야함 (최우선)
    2. 더 많은 위젯 내부 컨텐츠가 추가될 가능성이 있기 때문에 역할 분리 및 구조 리팩토링을 병행해야함
      • 위젯 자체의 기능 중 공통화할 수 있는 부분(수정/삭제/이동 등)은 부모 컴포넌트로 추상화하여 묶어놓고, 위젯 타입 별 세부 구현은 자식컴포넌트에서 추가 할 수 있도록 구현
    3. 공유 권한에 대한 처리와 초대링크 처리
    4. 위 모든 것에 대해 추후 다른 기능에서도 재활용 할 수 있는 여지가 있다면 모듈화
    5. 조회 시 가독성을 높일 수 있는 디테일 처리 (크기/위치 자유도가 높은 라이브러리로 교체, 발표모드로 크게보기, 이모지 추가 등)

     

    위의 개발주안점을 가지고 한참을 달리고 있었으나, 중간에 오픈 일정이 변경되면서 일부는 오픈하고 일부는 개발이 취소되어 보류되었다. 미리 고려하고 설계했던 부분들이 중간중간 의미 없어지는 바람에, 전체적인 설계방향성에 있어서는 아쉬운 부분이 생길 수밖에 없었다. 그래도 모듈화를 목표로 했던 덕에 이 기능을 개발하기 위해 만들어놓은 모듈들을 다른 개발건에서 잘 활용해서 불행 중 다행이었다.. 흑흑

    (좌) 인사이트 기능 (중/우) 당시 컴포넌트 설계를 가시화했던 자료

     

     

     

    채팅멘션

    세상에 공개되지 못한 기능 잃은 슬픔(?)이 체 가시기도 전에 타사 채팅툴에서 익숙하게 사용되는 멘션기능 개발을 맡게 되었다. 고객들의 많은 요청이 있던 기능이라 작업 전/중/후 모두 설레면서도 책임감이 들었고, 그럼에도 불구하고 협업 과정에서도 즐기며 작업했던 기억이 있다.

     

     멘션기능에서 가장 오랫동안 고민하고 연구했던 부분은 바로 데이터 저장방식의 선택이었다. 풀스택인만큼 프론트 백엔드 구조에 대한 고민이 다방면으로 필요했기에, 사전에 멘션 기능을 갖고 있는 다양한 서비스의 방식들을 조사해 보았지만 우리 툴에 적용할만한 딱 맞는 통신 형태와 방식은 당연하게도(?!) 존재하지 않았다. 가장 적합한 방식을 설계한 뒤 각 클라이언트 개발자들과 굉장히 많은 대화를 하며 협업했다.

     

     또한 추후에 사용자 이름이 아닌 다른 정보(날짜/방)로 언급을 하거나 text 외의 값이 추가되어야 할 때, 최대한 기존 통신방식의 수정을 줄이고 type 만 추가하는 방식으로 설계하기 위해 신경 써서 설계했다. 또한 기존에 개발되어 있던 언급 기능은 휴먼에러를 발생할 여지가 다소 있었기에 그 부분의 개선을 고려했다. 통신 방식이 변경된 것뿐만이 아니라 DB 저장에 대해서도 새로운 방법을 시도했다. PostgreSQL에서 jsonb 타입을 채택 했는데, jsonb_path_ops를 사용하는 GIN 인덱스를 활용하는 방법, gin_trgm_ops에 대해서도 새롭게 알게 되는 계기가 되었다.

     

    (좌/중) 설계 후 동료 개발자들에게 전파했던 문서 / (우) 기능오픈 이후 공개된 내용 중 일부

     

    결과적으로는 내가 설계한 데이터 통신 방식에 대한 설득이 원활하게 이뤄졌고, 새로움에 대해 적극적으로 수용해 줬던 협업했던 동료 개발자들에게 감사함을 느꼈다. 그 과정에서 글로도 코드로도 설득하기 위한 자료들을 많이 만들고 공유했었는데, 문서화의 중요성을 또 한 번 느낀 계기이기도 했다. 

     

     

     

    채팅리액션

    이번에도 VOC로부터 시작된 기능 개발을 맡게 되었다. 리액션기능을 작업하면서도 굉장히 많은 개선을 시도했다.

     

    먼저, 기존 실시간 통신을 하던 방식에서 더 개선된 통신방식으로 변경을 시도했다. 불필요한 소켓 전송을 줄이고 클라이언트 간 정합성을 높이기 위한 방법이었다. 이 또한 클라이언트 개발자들과 동료들을 설득하기 위한 작업이 필요했는데, 앞선 작업에서 문서화의 중요성을 느꼈지만 글로 쓰여있는 것 만으로는 충분한 전달이 어려운 것 같아 이번 기능개발 때는 전체적인 설계도를 공유하기도 했다. 

     

    프론트 측면에서도 유저의 연속동작과 소켓 수/송신을 걸러주는 프론트 상태관리 설계가 필요했다. 또한 확장성을 위해 ‘채팅 메시지’에 종속되지 않는 리액션 모듈 추출을 위해서도 신경 써서 개발했다. 당시에는 최선이라고 생각했던 방식들이었는데, 사실 6개월밖에 안 지났지만 지금 생각해 보면 더 잘할 수 있었을 것 같아서 벌써 아쉽다...!

    (좌) 설계 후 동료 개발자들에게 전파했던 설계 / (우) 기능오픈 이후 공개된 내용 중 일부

     

     

     

    이커머스 상품정보공유, AI매출보고서

    하반기의 첫 과제는 사업적으로 이커머스 업계 특화 기능을 추진하는 TF였다. 크고 작게 온라인 판매를 하고 있는 기업들이 쇼핑몰과 '연동'해서 사용하는 기능을 개발하는 것이었다. 쇼핑몰의 판매 실적과 상품 정보를 확인할 수 있게 하기 위해 관련 회사의 타사 개발자들과 협업하여 개발을 진행했다. 회사 내에서도 수많은 아이디어와 제안을 교류하며 진행을 했었다. 

     

    아무래도 첫 연동 스타트를 끊는 개발작업이다 보니, 다른 연동사가 더 추가되었을 때도 쉽게 작업을 진행할 수 있도록 초기에 추상화를 잘해놓는 것이 백엔드에서는 가장 중요하게 생각했던 부분이었다. 그리고 AI를 활용하는 방식도 기존과는 차이가 있어, 최적화된 방식을 찾기 위해 수정에 수정에 수정에 수정을 거친 설계를 해냈던 기억이 있다. 

     

    이 과제는 협업 과정에서 참 우여곡절이 많았다. 쉽지 않은 과정이었던 만큼 나에게 큰 교훈을 준 프로젝트여서 의미가 있었다.

     

     

     

     

     

    그 외에도 

    일렉트론 내부소스 모듈화

    채팅고도화

    키워드연동

    채팅리팩토링

    .

    .

    .

    등등의 개발 작업건이 있으나,  이후로는 대부분 R&D 건이라 이 부분은 회고록이 아닌 기술 블로깅에 녹여내는 게 더 좋을 것 같다.

     

     


     

     

     

    업무 회고를 마무리하며

     

    힘들어 죽겠는데 기분은 좋았고, 솔직히 고생했다는 말밖에는 안 나오는 24년이다.

     

    현 회사에 입사한 뒤로는 언제나 바쁘고 정신없고 그만큼 매 순간 최선을 다하는 한 해를 보냈지만, 이번 해는 다른 의미로 정신없고 바빴다. 물론 위에서 작성한 대로 한 달에 한 개의 기능개발을 일 년 동안 지속할 만큼 업무가 많아서도 있지만, 내가 혼란을 느끼고 정신이 없었던 건 오히려 업무보단 상황이었던 것 같다.

     

    팀장이라는 직책을 부여받고 본격적으로 팀을 리딩하기 시작했는데, 팀원들의 성과와 리소스, 팀 내부 소통, 조직 내 중간 허리로서의 역할을 모두 신경 쓰며 그 와중에 내 개인적인 커리어 개발과 업무까지 완벽히 해내려니 쉽지 않았다. 회의에 참여해야 하는 시간도 훨씬 늘었고, 팀장이라는 직책을 맡고 있으니 내 업무보단 다른 상황과 감정에 더 집중해야 하는 의무가 있는 상황이 생기기도 했다. 하지만 내 업무의 양은 줄지 않고, 오히려 연차가 늘었으니 더 빠른 속도와 양질의 개발을 요구하는 주위의 기대와 부담도 더 크게 느껴졌다. 와중에 나는 스스로를 케어하기보단 마주한 상황에 좀 더 적극적으로 관여함으로써 더 나은 조직이 되는 것에 힘쓰려고 했는데, 그러는 중에 나도 모르게 번아웃이 왔던 것 같다. 긍정적으로(혹은 낙관적으로) 생각한다면 오히려 제대로 된 슬럼프가 한 번 다녀간 게 기특하기도 하다. 욕심을 내려놓고 설렁설렁했다면 슬럼프가 안 왔을 거니까!

     

    일단 무능은 아니고 슬럼프다! 아무튼 그렇다!

     

     

    예전부터 나는 스트레스를 느끼는 건 누구에게나 당연한 것이라고 생각하는 경향이 있는데, 그런 생각 때문에 더 번아웃에 빠지기 쉬운 것 같다. 앞으로는 좀 더 주위가 아닌 나 자신을 기민하게 살피는 것에 노력을 해야 할 것 같다. 

    사실 사회 초년생 때부터 수많은 리더십 책을 보며 리더들이 스스로를 돌보지 못한다는 글을 많이 봤다. '난 좀 더 현명하게 해야지!'라고 다짐도 했었는데, 막상 나에게 닥치니 그런 다짐은 싹- 잊고 어버버 했던 것 같고 현명하게 대처하며 흘러 보내지 못했던 나는 어김없는 초보팀장이었나 보다.

     

    후회도 아쉬움도 많은 한 해지만 그래도 이런 리더십에 대한 고민과 시행착오를 겪어 볼 수 있음에 감사하다. 더 좋은 동료이자 선배이자 리더가 되기 위해 노력하는 일에 게으르지 말자.

     

    사내 해커톤때 찍힌 사진으로 업무회고는 마무리!

     

     

    마치며

    24년에는 새로운 사람들을 굉장히 많이 만났다. 사내에도 많은 개발자들이 들어오기도 했고, 타사 개발자들의 생각과 상황이 궁금하기도해서 대외활동에도 힘썼다. 내 스스로에 대한 확신이 없어 증명과 파악이 필요하기도 했다. 주니어로 이루어진 개발팀의 특성상 앞선 선배 개발자들의 생각을 듣기 위해서 이리저리 대화하러 많이 다녔다. 정말 많은 분들께 많은 것들을 배웠고 위로도 조언도 받았다. 감사한 분들이 많은 만큼, 보답할 수 있는 사람으로 성장하자.

     

    개발자의 길에 들어서기 전, 이전 직장에서 퇴사를 결심했던 가장 큰 이유는 이토록 똑같은 일만 반복하는 생활은 발전이 없을 것 같다고 판단해서였다. 하지만 막상 새로운 것을 계속해서 생각하고 개발해야 하는 일, 그 와중에 익숙한 것들이 더 많아지기 시작한 4~5년 차 개발자가 되어보니 굳이 똑같은 일만 반복하지 않고 빠르게 흐르고 도전하고 변화하는 시간 속에서도 내가 안주하면 큰 발전은 없을 수도 있다는 것을 여전히 느낀다. 결국 환경도 환경이지만 마음가짐이 제일 중요한 것 같다. 

     

    안주하지 말자!! 갈 길이 멀다!! 아직 내 목표의 반의 반의 반도 안 왔다!!!!!

     

     

     

    진짜 마치며

    사실 회고록 내용만 보면 진짜 일만 하면서 지낸 것 같지만 24년엔 해외여행도 4번이나 가고 주말에도 여기저기 잘 놀러 다녔다. ㅎㅎ 마냥 힘들었다고 하기에는 감사하고 행복한 일도 너무 많은 내 일상이기에 24년도 순간순간이 소중하고 좋았다. 

    25년도 감동 없는 삶보단 몰입의 삶을 살자! 화이팅! 👏🏻

     

     

    반응형