[회고] 2024년 한 해 톺아보기

lango·2024년 12월 22일
3

회고(Retrospect)

목록 보기
4/4
post-thumbnail

들어가며

 벌써 2024년의 마지막 달이 되었다. 1년 동안 다양한 경험을 할 수 있었고, 보다 발전하기 위해 꾸준히 성장하는 것이 정말 쉽지 않은 것을 몸소 느꼈다. 어느덧 계란 한판을 넘어선 나이가 되었기 때문일까, 지치고 바쁜 일상 속에서의 자그마한 행복을 받았던 순간들이 한 해동안 나를 이끌어주었던 것 같다. 지난 해에도 2023년 회고를 기록했었는데, 이번 2024년에는 조금 더 소박하게 나의 1년이 어떤 일상으로 채워졌는지 남겨보려 한다.


회사에서 실무 경험 다지기

 작년 11월에 이직한 현재 회사에서 벌써 1년이 지났다. 2024년을 현재 회사에서 함께 했다보니 올 해는 회사 개발 이야기로 가득한 한 해가 아니었을까.

서버 개발부터 쿠버네티스 인프라 환경 구축까지

 작년 말 이직해서 지금까지 다니고 있는 회사에서는 백엔드 서버 개발업무뿐만 아니라 인프라 환경을 구축하고 CI/CD 파이프라인 최적화 등 데브옵스 업무도 병행하고 있다. 서버 개발하는 것만도 빡셀텐데, 왜 데브옵스 개발까지 했냐고 묻는다면, 여러가지 이유 중에서 소속된 팀의 비즈니스 목표 달성을 위해서라고 답해 줄 수 있을 것 같다.

 내 파트에서는 온프레미스 쿠버네티스 환경을 기반으로 개발한 애플리케이션과 더불어 여러 미들웨어들도 컨테이너 기반으로 제공해야 하는 요구사항이 있었다. 이전에 AWS나 GCP와 같은 퍼블릭 클라우드 벤더사들이 제공하는 매니지드 서비스들을 사용해본 터라 클라우드 및 k8s에 대한 진입장벽은 그리 높지 않았던 상태였다.(물론 잘하진 못했고 자신감만 있었다.) 백엔드 개발만을 주력으로 했던 나에게 인프라 환경을 구축하는 작업은 서버 개발과는 다른 러닝커브가 분명히 있었고, 많은 삽질을 할 수 밖에 없었다. 명령어 하나를 놓쳐서 하루, 이틀을 까먹기도 했고, 발생한 이슈를 디버깅하다가 끝내 해결하기 못해 덮고 넘어간 적도 많았다.

 그런데, 다시 돌아가서 인프라 업무를 할 수 있냐고 한다면 고민없이 맡겠다고 할 것 같다. 단순히 서버 API만을 개발하다보면, 애플리케이션에 한정된 좁은 시각으로 바라볼 때가 많은데, 인프라 아키텍처를 구성하며 고가용성 측면에서 바라보니 애플리케이션을 더욱 안정적으로 제공하기 위한 방안들을 물색하게 되었다. 이는 오히려 애플리케이션의 비즈니스 로직을 개발할 때 많은 도움을 주었다. 애플리케이션에서 구체적으로 명시된 부분을 인프라 영역으로 분산시켜 추상화하기도 하고, 애플리케이션을 빌드하고 배포하는 과정을 어떻게 최적화할 수 있을까 고민할 수 있는 좋은 기회를 창출할 수 있었다.

 제품 운용을 위한 인프라 환경을 구성하는 것으로 끝내지 않고 여러가지 작업을 진행했었는데 기억에 남는 업무들을 추려보면 다음과 같았다.

  • Jib 빌더 도구를 이용해 CI/CD 파이프라인 수행 속도를 단축시키기
  • 애플리케이션 가용성 및 배포 안전성 강화를 위한 Probe 설정 반영하기
  • Loki-Stack 차트를 활용하여 k8s 환경의 메트릭 및 로그 모니터링 수집기 구축하기
  • 개발자 및 관리자별 접근 제어 및 배포 관리 효율성 확장을 위해 ArgoCD RBAC 설정 및 App of Apps 패턴 도입하기

 인프라 관련 개발 업무를 병행하면서 쿠버네티스를 필두로 코드형 인프라의 이점을 느끼기도 했고, 자동화된 확장 및 복구의 매력에 빠지기도 했다. 다만, 운영해야할 마이크로서비스가 많은 것도 아니고, 고급 배포 패턴이나 멀티 클라우드 요구사항도 아니어서 인적 비용이 많이 들어가니 배보다 배꼽이 큰 것 아닌가 수십번 고민도 했었다. 그렇게 확장성, 유연성, 자동화에 대한 약속에 이끌려 쿠버네티스를 사용하는 것은 정말 큰 리스크가 따른다는 것을 깨닫게 되었다. 괜히 AWS의 관리형 서비스가 많은 기업들에게 환영받는 것이 아니다라는 것을 명백히 알게 되었달까.

사내 팀 스터디 운영과 어려움

 팀에서 어느정도 적응이 끝났다고 생각이 들 때쯤, 마음이 맞는 동료 개발자 3분과 스터디를 꾸렸다. 스터디 목표는 단순했다. 꾸준히 성장하는 개발자의 모습을 유지하고 싶다는 이유 하나로 뭉치게 되었다. 그런데, 스터디를 꾸준하게 지속하기엔 어려움이 있었다. 내가 말이 많은 터라 어쩌다보니 스터디를 리드하게 되었는데, 약 1달 반 동안 두가지 주제로 스터디를 해볼 수 있었다.

  • 코드 품질 및 요구사항 만족도 검증을 위한 테스트 컨벤션을 수립하고 순수한 비즈니스 로직을 위한 테스트 코드 작성하기
  • 코드 리뷰 및 Java 역량 증진을 위한 미션 프로젝트 개발하기

 TDD를 통한 개발 프로세스 개선까지는 바라지도 않았다.(나도 TDD를 잘 모르기도 했고..) 기능 단위의 티켓을 할당받고, 본인이 개발한 서버 API를 테스트 할 때 모두가 Postman을 붙잡고 있었다. Postman을 붙잡고 있는 것은 문제가 아니었지만, 테스트를 위한 시간이 많이 들어간다는 점이 문제라고 느껴졌다.

 여러 외부 의존성을 가지는 비즈니스 로직을 테스트할 경우 이슈를 디버깅하는데 오랜 시간이 소요된다는 것을 보니 비즈니스 계층의 품질을 검증할 수 있는 소형 테스트 컨벤션이 꾸려진다면, 코드 품질 검증과 더불어 어떤 계층에서 문제가 발생하는지 디버깅하는 시간을 줄일 수 있다고 생각했고, 그 시점에 스터디를 꾸리게 되어서 당당하게 첫번째 스터디 목표로 비즈니스 계층의 소형 테스트 코드 개발이라는 주제를 제안하게 되었다.

 핵심 비즈니스 로직을 가지는 서비스 클래스가 외부 계층의 클래스를 직접 의존하지 않고 인터페이스를 의존하도록 추상화하는 전략을 구상했고, 테스트 패키지에서는 외부 계층에 대한 Fake 인스턴스 객체를 통해 개발한 비즈니스 메서드가 기대한 바를 충족하는지 쉽고 빠르게 전파하고 개발할 수 있었다. 이를 통해 Mock 의존 없이도 서비스 클래스를 대상으로 하는 테스트 케이스를 도출해내어 검증할 수 있는 테스트 컨벤션을 고안하여 프로덕션에서도 도입하여 개발할 수 있었다.

 동료 개발자분들이 테스트 코드에 익숙해졌을 무렵, 모두가 코드 리뷰에 대한 니즈를 가지고 있다는 것을 알 수 있었다. 테스트 코드를 리뷰하는 것과는 다른 형태로 말이다. 실무에서는 개발 업무량이 많다보니, 코드 리뷰 횟수가 현저히 적었고, 구현하기 바빴다. 그래서 두번째 스터디 목표로는 미션 프로젝트 개발을 통한 코드 리뷰로 정하게 되었다. 실무에서 코드 리뷰를 직접 진행했으면 좋았겠지만, 각자의 사정으로 인해 아쉽지만 별도로 미션 프로젝트에서 진행하기로 했다. 우아한테크코스에서 제공하는 여러 미션 프로젝트가 상당히 좋은 레퍼런스를 제공하고 있어서 자동차 경주 게임숫자 야구 게임 두 가지 미션 프로젝트를 직접 구현해보며 코드 리뷰하는 시간을 가졌다.

 그런데 하필, 두번째 미션 프로젝트 개발을 마쳐갈 즈음, 한 두분씩 실무 개발 업무량이 너무나도 많아져 스터디 참여가 힘들어졌다. 스터디 과정이 실무를 진행하는데 부담이 없어야 하는데, 점점 부담이 되는 부분도 있고, 원하는 유의미한 피드백을 받지 못하는 등 목표 달성에 대한 동기부여가 떨어진 부분도 없지 않다고 생각했다. 그렇게 스터디를 잠정 보류하기로 결정했다. 참 안타까웠다. 스터디를 주도하는 입장에서 도움을 주기보단 마음의 짐을 드렸다고 생각도 들었다. 다음엔 기술 서적 독서와 같은 조금 더 가벼운 주제로 스터디를 이어나가볼까 한다. 망설일 바에야 실패하는게 낫다고 생각하기 때문에 좋은 동료분들과의 기술적 교류와 소통을 포기하진 않을 것 같다.

SQL 개발자 자격증 취득

 플랫폼 기반의 서버 API를 구현하면서 복잡한 DB SQL 쿼리를 작성하는 경우가 많았는데, 최소 성능이 요구되거나 방대한 데이터를 조회해야할 비즈니스 로직의 쿼리의 경우에는 팀 내 DBA분과 협업하며 쿼리를 개발했다. 이 때, 계층적 데이터나 트리 구조를 표현하는 CTE 재귀 쿼리라던가, 서브 쿼리를 리뷰하는 데 어려움이 있었다.

 서버 개발자임에도 쿼리 분석에 능하지 못하다는 사실이 나를 힘들게 했다. 그래서 SQL 개발자 자격증 취득을 위해 공부를 시작했다. 쿼리 분석을 위해 SQL 개발자 자격증을 따는 것이 좋은 대안이라고는 말하지 못하겠지만 기본적인 DB SQL에 대한 러닝커브를 줄일 수 있겠다 라는 취지로 시작했다고 볼 수 있겠다. 근 2주동안 조금씩 야근해가며 공부했고 다행히 한 번에 턱걸이 점수로 합격할 수 있었다.

 여담을 덧붙이자면, 필기고사를 치른 학교 언덕은 다시 생각해도 끔찍할 정도로 가파랐다. 차를 타고 가지 않았으면 8월 말이어서 온 몸이 땀으로 젖지 않았을까..? 그리고 생각보다 자격증 시험을 치르시는 분들이 많아 놀랐다. 대학생부터 시니어분들까지도 보였고 주말이어서 그런 건지 10개 이상의 교실을 채울 정도로 사람이 많았다.


TMI #1. 데스크 셋업 변천사

 현 직장에서는 사무실 데스크 셋업에 큰 욕심은 없어서 단촐했던 것 같은데, 지금은 거의 짱구 전용 데스크 셋업이라고 말해도 과언이 아닌 것 같다. 나이가 드니 귀여운 것을 찾게 되는 것인지.. 짱구를 어렸을 때도 챙겨본 것도 아니었고 가끔 보거나, 어렸을 때 개봉한 극장판 정도만을 봤는데 왜 이제서야 짱구에 꽂힌 것일까.

 가끔 짱구 관련 숏츠나 릴스를 보게되는데, 가슴 한켠이 뭉클해지는 감동을 받는다. 특히 최근에는 유치원에서 바자회를 해요라는 에피소드를 봤는데 울컥했다. 어렸을 때부터 이어져온 추억에 이끌린 것도 있지만, 짱구라는 애니메이션이 주는 교훈이나 메시지가 나에게는 일시적이지만 큰 울림을 주는 것 같다. 짱구 피규어를 구매한 것이 아닐까 조심스럽게 합리화한다.

 그리고 매직키보드와 트랙패드 셋업을 주력으로 개발에서 1년동안 사용하고 있다. 키보드에는 큰 관심이 없어서 매직키보드 원툴로 사용하고 있었는데, 최근 글또 대장님 성윤님의 로프리 플로우 라이트 후기를 보고 냉큼 주문했다. 내년에도 나의 데스크 셋업은 계속해서 맥시멀하게 쌓일 것 같은 예감이 든다.


💡 회사에서 실무 경험 다지기 3줄 요약

  • 회사에서 Backend 개발과 병행하여 k8s 인프라 환경에서의 DevOps 개발 업무도 수행했다.
  • 사내 스터디를 꾸준히 유지하는 것은 정말 어렵다.
  • SQL 개발자 자격증을 취득했다.

개발 커뮤니티 시작

 2023년 말 부터 글또라는 개발 글쓰기 커뮤니티 활동을 이어가고 있다. 6기에 참여했던 지인을 통해서 글또라는 커뮤니티의 존재는 인지하고 있었지만 크게 관심이 없었다. 그렇게 머릿 속에서 글또의 존재가 잊혀져 가던 중 8기를 참여하신 지인분께 글또에 대한 이야기를 전해 듣게 되었다. 도대체 어떤 커뮤니티이길래 주변 개발자분들이 만족스러운 후기를 들려주시는지 궁금해졌고, 글을 작성하는 개발 직군분들이 모여서, 좋은 영향을 주고 서로 같이 자랄 수 있는 커뮤니티라는 소개 문구를 봤을 때 나도 함께 참여하고 싶다는 욕구를 일으켰다. 그렇게 9기에 이어서 마지막 기수인 10기까지 이어서 합류하여 꾸준하게 글쓰기와 네트워킹 활동을 해나가고 있다.

꾸준한 기술 글 작성

 글또는 다른 커뮤니티나 스터디 모임에 비해서는 강제성이 높지 않은 편이다. 커뮤니티 운영 기간동안 2주마다 1개의 글을 작성해서 공유하는 것이 기본 룰이다. 그래서 커뮤니티 활동에 대한 부담도 적고, 대단하지 않더라도 조금씩 나아갈 수 있는 동기부여를 유지할 수 있었던 것 같다. 글또 9기에서부터 10기 활동 중인 지금까지 내 기술 블로그13개의 글을 작성했다.

 적다면 적고 많다면 많은 개수이지만 지난 1년동안 재미있고 야심차게 준비하여 작성했던 글도 있었고, 마감 기한에 쫓겨 겨우 작성했던 글도 있었다. 단순히 기술을 주제로 하는 글을 작성하는 것뿐만 아니라, 나의 글쓰기 방식이나 과정을 점검해보기도 했고, 내 글을 피드백받으며 새로운 인사이트를 얻기도 했다.

 글또 활동 전에는 글 소재가 떠올라도 쉽게 글쓰기를 시작하기 못하고 막막하기만 했던 내 모습이 떠오른다. 사실 지금도 여전히 글쓰기는 어렵고, 막막하고, 귀찮기도 하다.

 그런데 1년 전과 비교하여 달라진 점이 있다면, 첫째로,나만의 글을 써나가는 과정을 즐기게 되었다는 점이다. 엄청나게 쏟아지는 구글의 정보의 호수 속 글들을 보다보면 글 작성자들만의 생각들이 잘 표현되어 그들의 개성이 묻어나는 글을 접할 수 있다. 여태까지 글을 쓰면서 부족하지만 나의 생각이 듬뿍 담긴 기록을 남기려고 노력했던 것 같다. 내가 썼던 글들 중에서 애착이 가는 글들이 특히 그렇다.

 그리고 둘째로는, 피드백을 두려워하지 않게 되었다. 작성한 글에서 잘못된 내용을 전달할 수도 있고, 의도한 바와 다른 글이 나올 수도 있다. 모두가 나의 글을 나와 같은 생각으로 읽을 수는 없다. 누군가는 다르게 판단하고 바라볼 수도 있는데, 이러한 양질의 피드백을 두려워하여 글쓰기를 시작조차 하지 않는 건 아쉽지 않을까?

 무튼, 꾸준하게 지속하여 글을 쓴다는 것은 무척 어렵지만, 그만큼 자기 자신을 돌아보고, 머릿 속에 중구난방으로 존재하던 내면의 생각을 글이라는 창구로 정리하여 표현할 수 있는 좋은 수단이라는 것을 조금씩 느끼고 있다. 이를 느끼게 해준 글또에게 감사하다.

글또 9기: 백엔드/인프라 빌리지 반상회 준비위원 활동

 9기에서 기억나는 활동으로는 백엔드/인프라 빌리지 반상회의 준비위원으로 참여했던 추억이 있다. 왜냐하면 내가 제안했던 반상회 이름이 채택되었기 때문이다. 글또라는 커뮤니티 이름과 맞추어 사람과 사람이 연결되자는 의미로 커넥또라는 이름을 추천했는데 준비위원 분들이 모두 찬성해주셔서 덜컥 결정되었다.

 반상회 행사를 준비하면서 발표 연사, 굿즈, 음식, 네트워킹 조 편성 등 생각한 것보다 많은 콘텐츠를 준비해야 했고, 행사 당일 행사가 끝날 때까지 참여하시는 분들이 불편하시지 않도록 신경을 써야 했다. 그래서 반상회를 즐겼다기보다는 정신 없이 보냈던 것 같다. 나는 네트워킹과 음식 세팅하는 역할을 주력으로 맡았는데, 많은 사람들을 어떠한 기준으로 소그룹을 나누어야 한다는 것이 생각보다 쉽지 않았다.

 어떤 그룹은 모두가 샤이하셔서 적막한 네트워크 시간을 보낼 수도 있고, 또 어떤 그룹은 서로 말하기 바쁘셔서 정신없는 시간을 보낼 수도 있기에 미리 참여하시는 분들의 MBTI 등을 설문으로 받아 미리 성향을 파악하여 조 편성을 구성하기로 했다. 그리고 네트워킹 시간이 되었을 때 보다 생산적인 대화를 하실 수 있도록 여러 관심사별 대화 주제를 미리 준비했다. 많은 사람들이 라포 관계를 형성할 수 있도록 돕자는 의미의 커넥또 반상회 이름처럼 반상회 참여 인원들이 자신의 이름표를 목에 걸고, 특별하게 각자 자신을 설명할 수 있도록 하려면 어떻게 해야할까

 반상회 준비 위원들끼리는 구글 Meet에서 모여 짧은 시간에 많은 의사결정을 빠르게 진행했고, 반상회 행사 한달 전에는 선릉역의 우아한형제들 테크살롱에서 모여 오프라인 모임을 가지기도 했다. 여기서 신기했던 점은 마치 실무에서 호흡이 잘맞는 동료들과 일을 하듯이 자연스럽게 척척 시간에 맞춰 준비할 수 있었다는 것이다. 회사에서 업무가 많아 내가 담당한 부분이 미흡할 때는 다른 분들이 도와주시고, 다른 분들이 바쁘셔서 신경 못쓰실 때면 내가 자원하여 메꾸는 식으로 나름 큰 비용을 들이지 않고 편하게 준비를 마무리할 수 있었다. 반상회 당일에는 준비위원 분들도 대부분 퇴근하고 바로 오시는 분들이 많아 미리 준비할 수 있는 시간이 그리 많지 않았는데 오자마자 의자 세팅부터 카운터 자리 세팅 등 순식간에 손님을 맞이할 준비를 마치시는 것들을 보고 대단하고 느끼기도 했다. 음식은 노모어 피자에서 포장 주문을 했는데 비록 한 조각밖에 못먹어서 그런 것인지, 좋은 사람들과 좋은 시간을 보내서 그런 건지 너무 맛있게 먹었다.

 9기 백엔드/인프라 빌리지 반상회 행사가 거의 1년이 지났음에도 아직 선명하게 행사 당일의 기억들이 생생하다. 같은 개발 직군이고 각자 주어진 위치에서 더 나은 가치를 위해 노력하시는 분들이 모여서일까. 성장하고자 하는 동기부여는 물론, 더 많은 사람들을 만나 다양한 이야기를 나누는 것이 재미있고 생산적이라는 것을 지금까지 알게 해준 고마운 행사였던 것 같다.

글또 10기: 여의도 지역 소모임 채널 여의또 채널 운영

 올해 9월부터 시작됐던 10기에서는 무려 600명이 넘는 대인원이 함께 활동하고 있다. 이번 10기에서는 더 많은 사람들과 만나고 이야기 나누고 싶어서 회사 근처인 여의도를 위주로 주기적인 모임을 이어나갈 여의또라는 소모임 채널을 개설하여 운영하고 있다.

 여의또 채널은 챌린지나 과제성 성향의 채널보다는 지역적 모임이 주력이다보니 그리 큰 부담이 없었어서 조금 가벼운 마음으로 시작하게 되었다. 기술적인 만남이나 단발성 모임도 분명 좋지만, 여러 사람과의 관계를 쌓으며 추억으로 남길 수 있을 만한 모임을 이끌어내보자라는 이유 하나로 충분했다. 여태까지 10월과 11월에 한 번씩 2번의 모임을 가졌다. 모두 금요일 저녁 퇴근 후 식사 정도만 하는 시간을 가졌는데, 5명이 넘는 인원들과 이야기를 나누려니 짧은 시간이 야속하기만 했던 것 같다. 날이 좋아지면 한강 배타기 모임이라던가, 한강 치킨챗이라던가, 여의도에서만 할 수 있는, 기억에 남을 수 있는 콘텐츠를 구상해보는 것도 좋지 않을까 싶다.


TMI #2. 다양한 사람들과의 네트워킹, 새로운 만남

 글또를 시작하며 여러 분야에서 고군분투하시는 개발자분들을 만날 수 있었다. 이전에는 알고 지낸던 개발자 지인들 위주로만 만나는 우물 안 개구리였다면, 글또에서는 새로운 만남을 두려워 하지않는 자세를 지속해오고 있다.

 스타트업부터 대기업까지 다양한 도메인에서 개발자로 일하시는 분들과 이야기를 나누며 글쓰기 루틴이나 일상에서의 TMI 등의 편안한 분위기에서 이야기를 나누는 커피챗 시간을 가지기도 했고, 서로의 회사에서의 비즈니스나 기술적 성장 등에 관련된 속 깊은 이야기를 나누는 자리도 가졌다.

 많은 분들과 만나보니, 성향 상 교통 정리(?)에 대한 강박이 있는 터라, 함께 자리한 사람들이 어떤 생각을 가지고 있는지, 의견을 여쭤보고 주고받는 식의 피드백형 대화를 이끌다보니 (MC도 아니고.. 왜 그럴까?) 사람이 많아지면 많아질수록 내가 이끄는 대화로 병목이 생길 수가 있다고 문득 생각이 들었기 때문이다. 내가 이야기 화두를 던지면 모두가 한번씩 답변을 하는 방식으로 이어지다보니 주목받는 느낌이 부담이 들기도 했고, 자연스러운 분위기의 대화를 헤치는 건 아닐까 라는 생각도 들기도 했다. 그렇다고 나의 대화 방식이 싫지는 않아서 모두가 좋아해주신다면 계속 MC 기질을 이어가지 않을까 싶다. 특히나 일대일로 만나서 이야기를 나눌 때는 모두 나에게 잘 맞춰주셨던 좋은 분들만 있으셨는지 대화의 티키타카가 잘 이루어졌고, 어색하거나 적막이 이어지지 않고 서로 생산적인 이야기를 나눌 수 있었다.

 이젠 여러 개발자분들과 만나서 대화를 나누는 것이 기대되고 설레고 즐겁기도 하다. 글또 이후에도 더 넓은 세상에서 개발자분들과 만나 커리어 노하우를 풀거나 기술적 토론을 나누어보고 싶다. 고독한 전문가보다는 사람들과 교류하며 메타인지하고 동기부여 받을 수 있다는 것은 너무나 가치있는 것이지 않을까.


💡 개발 커뮤니티 시작 3줄 요약

  • 글또라는 IT 개발 커뮤니티에 참여하여 9기를 시작으로 10기까지 활동 중이다.
  • 자의적이든 강제적이든, 꾸준히 글쓰기를 실천했고, 1년동안 약 13개의 글을 작성했다.
  • 커뮤니티에서 다양한 사람들을 만나 많은 동기부여와 선한 영향력을 전달받았다.

기술 컨퍼런스 참여

 올 해 기술 컨퍼런스는 인프콘이나 토스 슬래시24와 같은 초대형 컨퍼런스는 추첨되지 못해 참여하지 못했지만, 스프링 캠프, CNKCD, 당근 테크 밋업까지 총 3번의 컨퍼런스를 참여할 수 있어서 감사할 따름이다. 회사 업무 이슈로 와탭랩스의 컨퍼런스는 참석하지 못해 아쉬웠다.

Spring Camp

 5월에는 KSUG(한국스프링사용자모임)에서 주관하는 스프링 캠프 2024 행사에 참석하게 되었다. 사실 혼자 뻘쭘하게 가서 세션을 열심히 듣고 오려 했는데, 같은 팀 동료도 참여하신다고 해서 동행하게 되었다. 행사를 참여하는 동안 혼자가 아니었기에 덜 긴장되고, 발표 세션을 듣고 난 후 각자 생각을 빠르게 주고받을 수 있어서 더 재미있게 보낼 수 있었던 것 같다.

 기억에 남는 세션으로는 조성아님의 왜 나는 테스트를 작성하기 싫을까? 세션과 김용욱님의 실전! MSA 개발 가이드 세션, 이규원님의 AutoParams를 사용한 Spring Boot 응용프로그램 테스트 세션 3가지 정도가 된다. 테스트 코드에 관심이 많은 지라, 조성아님의 Fixture Monkey와 이규원님의 AutoParams라는 테스트 지원 오픈소스를 소개받을 때는 깊게 몰입할 수 있었다. 김용욱님의 세션은 사실 크게 기대를 안하고 참여했는데, MSA를 위한 안티 패턴 템플릿을 알기 쉽게 설명해주셔서 꽤나 인상깊었다.

 스프링 캠프가 끝나고는 함께 행사를 참석한 동료분과 누룽지통닭을 먹으며 스프링캠프 후기 이야기를 나누었는데, 누룽지통닭이 너무 맛있어서 수분만에 흡입했다. 정말 맛있었다. 내년 스프링 캠프에 참석하게 된다면 같은 코스로 저녁식사를 하지 않을까 싶다..

Cloud Native Korea Community Day

 이어서 9월 말에는 Cloud Native Korea Community Day 2024라는 쿠버네티스 코리아 그룹에서 총괄하여 CNCF 프로젝트를 아우르는 대규모 기술 행사를 첫 오프라인으로 주최하게 되어 얼리버드로 티켓을 선점했다. 소속된 팀 내에서 쿠버네티스를 주력으로 다루기에 팀 내 일부 동료들에게 참여를 권유하여 이번에도 동료 2분과 함께 동행했다.

 국내에서 이렇게 k8s 사용자들이 많구나 싶을 정도로 많은 분들이 참석하신 행사였다. SRE 및 DevOps 엔지니어부터 Platform, Backend 엔지니어분들까지 다양한 직군의 개발자분들이 참석하신 듯 했다. 트랙에서는 퍼블릭 클라우드 보안 기업인 Akamai부터 Nginx를 인수한 F5 코리아 등 스폰서 기업에서도 트랙 세션을 발표하시기도 했다.

 그 중 LetLOX의 Cloud Native 서비스의 Multi-AZ/Multi-Region 환경을 위한 HA라는 트랙 세션에서 eBPF 기반 네트워크 가속 기능을 제공하는 오픈소스 LoxiLB에 대해서 소개해주셨는데 클라우드 네이티브 로드밸런서라는 키워드가 생소하고 대단하게 느껴졌다.

 그리고 이 때 당시에는 Observability에 관해서 흥미가 있었는데, 스마일게이트의 OpenTelemetry 기반 멀티 클러스터 Kubernetes Observability 구축 트랙 세션을 듣고 여러 인사이트를 얻을 수 있었다. 특히, 기존 Observability 환경의 한계점을 파악하고, OpenTelemetry 와 Grafana LGTM 스택을 도입하게 된 이유가 많이 공감되기도 해서 재미있게 들을 수 있었다.

 마지막으로 케이뱅크의 선언형으로 만드는 멀티 클러스터 - Cluster API 와 App of Apps 패턴 트랙 세션에서 ArgoCD의 App of Apps 패턴을 알게 되어 실제 팀 ArgoCD의 애플리케이션을 구성하는데 적용해보기도 했다.

 보통 기술 컨퍼런스를 코엑스에서 주로 참석했었는데 이번 CNKCD는 색다르게 용산구에 있는 백범김구기념관에서 진행하게 되었는데, 강남의 빼곡한 건물과 도로 위와는 사뭇 다른 한적하고 고즈넉한 분위기의 장소라 그런지 신기하고 재미있었다. 다음에도 백범김구기념관에서 여러 컨퍼런스들이 진행되었으면 하는 바램이다!

당근 테크 밋업

 CNKCD 행사를 끝낸지 2주도 채 안된 10월 초에는 2024 당근 테크 밋업에 홀로 참석하게 되었다. 나름 인지도가 있는 빅테크 기업의 행사여서인지 이번에는 팀 동료들이나 주변 지인들 모두 추첨이 되지 않아 아쉽게도 혼자 다녀왔다.

 컨퍼런스 행사 전부터 당근 앱으로 테크 밋업을 위한 모임 환경을 제공해주어서 여러가지 안내사항이나 세션 중 돌발 미션등의 콘텐츠를 이용할 수 있었다. 당근이 생각보다 컨퍼런스를 진심으로 준비했구나 느껴질 정도였다.

 멈춰버린 세계: 네트워크 통신 불가를 해결하기 위한 여정(feat. Istio) 세션에서는 네트워크 이슈를 해결하는 여정을 기술적으로 조리있게 풀어주셨는데, istio proxy의 CPU Limit 설정으로 인해 끝없이 트러블 슈팅을 이어나가는 중이라고 소개해주셨다. k8s에서의 CPU Limit 설정의 리스크를 잘 준비해야 함을 당부해주었다. 결국, 예측 가능한 동작을 보장하기 위해서는 애플리케이션 개발팀과 인프라 개발팀 모두가 같은 맥락 안에서 협업하는 것이 중요하다는 것을 느낄 수 있었다.

 그리고 궁극의 CI 환경을 만들기 위한 여정 세션에서는 당근의 IDP 서비스를 개발하시며 삽질했던 기록들과 빌드 속도를 개선하기 위한 리모트 캐시의 트레이드 오프를 직관적으로 알 수 있었다. 오늘 입사한 개발자가 당장 서비스를 빌드하고 배포할 수 있기 위한 플랫폼 Kontrol을 개발하며 빌드 시의 사용되는 리모트 캐시의 역효과나 부작용을 잘 파악해야겠다고 느끼게 해준 세션이었다.


💡 기술 컨퍼런스 참여 3줄 요약

  • Spring Camp, CNKCD, 당근 테크 밋업까지 3번의 컨퍼런스를 참여했다.
  • IT 기술 시장에서 빅테크들이 가진 노하우나 컨벤션, 팀 문화에서 많은 영감을 받았다.
  • 컨퍼런스는 혼자 참여하는 것도 좋지만, 동료나 지인과 함께 한다면 당당해질 수 있다.

한 해를 돌아보며

 2024년 한 해동안 소속된 회사에서 실무 생활을 하며, 사내 스터디 모임을 주도하며 기술적 영감을 얻기 위한 행사를 참여해보며 지난 1년의 시간동안 당연한 경험일 수도 있겠지만, 많은 경험을 쌓아볼 수 있었다. 커리어 하이를 위해 기술적으로 성장하는 것도 중요하지만, 업무 환경에 맞추어 보호색을 가진 채로 지속해서 학습하고, 실전에 뛰어든다는 것은 결코 쉽지 않은 일이라는 것도 깨닫게 되었다. 특히나 아쉬웠던 점으로는 2가지 정도가 있었던 것 같다.

뒷전이 되버린 To Do

 나 스스로를 과대평가했던 것인지, 하고 싶은 것은 많고 스스로 벌인 일도 많았다. 거기다 게으른 성격 때문인지 급한 일을 쳐내느라 중요하지만 급하지 않은 일은 조심스레 계속 뒷전으로 미루었다. 회사에서의 업무가 많아질 때는 좋아하고 재미있게 했던 개발도 체력이 부족하다보니 기댓값을 충족하지 못할 때도 많았다.

 돌아보면 그저 사소하고 단순한 동기부여들이 모여 꽤나 즉흥적인 계획들이 대부분이었다. 철저히 분석해서 예측한대로, 정해진대로 실행 계획에 맞추어 진행되기를 바라는 것은 아니었기 때문에 계획한 일을 수행하기 위한 동기부여가 유지되지 않았던 것 같다.

✅ Action Item

  • 하고자 하는 일의 우선순위를 정하고 주기적으로 리뷰하자.
  • 일 목록의 우선순위가 잘 리뷰되지 않으면 주변에게 피드백을 구하자.
  • 주기적으로 중요한 일 목록을 원만하게 완료했는지 회고하자.

동료의 귀중함

 보통 주변에서 소위 잘하는 개발자(?)로 거론되는 능력자 동료에게 많은 인사이트를 받고 동기부여를 받는 편이다. 그런데 내가 이러한 동료가 되기보다는 주변 동료나 지인들이 능력자이기를 내심 바랬던 것 같다. 직접 언급하거나 표출하지 않았을 뿐, 마음 속으로 동료와 나를 비교하곤 했고, 더 넓은 세상의 능력자들과 개발하고 싶은 욕구가 샘솟기도 했다. 정말 오만스런 생각이지 않나 싶다. 또, 동료에게 10의 기술 공유를 베풀었다면 10 이상의 것들을 받기 바랬던 보상심리가 있지 않았을까.

✅ Action Item

  • 겸손한 마음으로 무장하고, 잘하는 개발자는 동료에게 어떤 개발자로 기억되는지 분석하자.
  • 함께 일하는 동료에게 나는 어떤 개발자로 기억되는지 분석하자.
  • 내가 생각하는 잘하는 개발자는 어떤 개발자인지 고민하고 정리하자.




마치며

 올 한해를 기반으로 2025년을 이렇게 저렇게 살아봐야지라고 미리 차곡차곡 완벽하게 계획하지는 못할 것 같다. 다만, 더 나은 개발자 커리어를 위해 2025년의 나는 어떤 실천을 해야할지 분석하고 실천하는데 몰입할 수는 있을 것 같다.

⏳ 이번 글은 4일동안 8시간을 투자하여 작성했습니다.

profile
찍어 먹기보단 부어 먹기를 좋아하는 개발자

1개의 댓글

comment-user-thumbnail
2024년 12월 27일

정말 많은 활동을 하신 한 해였군요!
반성하고 갑니다..!

답글 달기