본문 바로가기
experience/회고

3년차 백엔드 개발자의 2023년 회고

by heekng 2024. 1. 2.
반응형

2023년의 나, 참 열심히 했고 고생했다!

벌써 3년이라니?

2020년, 대학교 교양강의를 통해 개발자라는 길로 들어선지 벌써 4년째 그리고 실무에서 개발을 한 지 벌써 3년이 되었다.
마냥 개발자가 되겠어! 라는 생각을 가지고 달려왔고 수학교육 전공, 국비 교육, SI 부터 서비스회사로 이직하기까지 돌아보면 꽤나 괜찮게 2023년을 마무리 하는 것 같다.

백엔드 개발자로서 할 수 있는 많은 것들을 해보았다.

신규 서비스 구축 및 운영

올해 현재 내가 속하고 있는 조직은 두가지 서비스를 운영중이고, B to C 가 아닌 B to B 서비스로 신규 개발, 운영하는 것이 가장 큰 과제였다.
10년 가까이 운영되고 있던 두가지 서비스의 메인 기능을 외부 기업에 제공한다는 것은 생각보다 복잡한 과제였다.

  • 10년간 히스토리가 완전하게 관리되지 않아 놓치는 부분이 생김.
  • 짐작할 수 있듯이 레거시 프로젝트를 까봐야 함.

이런 이유가 첫 번째 난관이였고, 결국 팀 내 프레임워크를 Springboot3 버전으로 신규 구축하기로 하였다.
최신 기술 스택에 가장 익숙한 사람이였기에 기술적인 부분 대부분을 주도해서 개발했다.

  • Springboot3 + gradle + 멀티모듈 환경의 프로젝트
  • GithubAction + EC2/ECS 환경의 개발/운영서버
  • IP 또는 회원으로 관리하는 Security 환경
  • JPA + Querydsl, redis 등을 인프라스트럭처로 사용하는 시스템
  • Pinpoint, ElasticSearch를 이용한 모니터링 환경
  • Vue3를 이용한 어드민 개발

사실 이 외에도 운영 단계에서 겪게 된 문제로 RDS 환경 설정, 웹 서버 커넥션 설정, 로그 처리 등을 경험하게 되었다.

🎉결과적으로 총 7개의 public-api/private-api/batch 프로젝트가 완성되어 오픈하였다.

처음에는 내가 주도해서 개발하는 것이 굉장히 행복했다.

팀원과 상대적으로 저연차인 내가 프로젝트의 기술을 담당한다고?
내가 할 수 있는 모든 기술을 도입해서 잘하는 모습을 보여주는 프로젝트를 만들어봐야겠다!

하지만 성공적으로 오픈을 하게된 프로젝트의 현재 내가 생각하는 프로젝트의 완성도는

50%

정도라고 생각한다.

  • JPA와 Querydsl은 생각한 것보다 많은 기능을 포함하고 있으며 완전하게 사용하기 위해서는 꽤 깊은 이해도가 필요하다.
    • 이해도가 부족하면 오히려 코드가 지저분해진다.
    • myBatis를 사용하는 것이 더 안전할 수 있다.
  • 팀원 모두가서비스 아키텍처에 대한 이해가 필요하다.
    • 누군가 한명만 제대로 알고 있다면 결국 일이 돌고 돌아 한명에게 집중된다.

제안을 하고 좋다는 반응이 있었기에 도입한 기술들이지만 결국 운영은 팀원 모두가 해야한다.
이런 이유로 서비스 오픈 이후로 나는 다음과 같은 업무를 틈나는대로 진행중이다.

  • CI/CD 환경 구축/운영 방법 문서화
  • 한번 구축해 놓으면 특별한 이슈가 없을 때 건들지 않아도 되는 것들 (Pinpoint, ElasticSearch) 구축 과정 문서화

누군가 문제가 생기고, 내가 자리를 비웠을 때 대응을 쉽게 할 수 있도록 문서화를 진행중이다.

지금 내가 알고 있는 내용들이 완벽하지는 않다.
오늘 짠 코드가 한달 뒤에 보면 문제가 많은 코드가 될 수 있다.

“2023년이 새로운 시스템 설계를 위한 해였다면, 2024년은 시스템 안정화를 위한 해가 될 것이다.”

운영되고 있던 서비스의 서버 관리

기존에 운영되던 두가지 서비스의 배포 환경은 IDC와 EC2가 공존했다.
처음 입사하자마자 나에게 주어진 과제는 스테이징 서버를 두개로 분리해서 사용하는 것이였는데, 여기서 tomcat의 맛은 다 본 것 같다.

Springboot 가 아닌 Spring으로 개발된 프로젝트를 해본 경험이 큰 도움이 되었다.

꽤 오랫동안 관리된 서버이기에 필요했던 설정들을 다 까보면서 체크했다.
덕분에 신규 서비스 운영 설정에 큰 도움이 되었다.

커넥션설정은 꼭 체크하자
하나의 요청이 커넥션을 두개씩 잡아먹으면서 몇 분 씩 지연되던 기억은 아찔하다.

시야 넓히기 👀

컨퍼런스

올해에는 개발 컨퍼런스를 두차례 참여해보았다.

  • 우아콘
  • GDG 송도

우아콘은 회사 팀장님에게 양도받은 참여권으로 참여할 수 있었는데(감사합니다👍) 다시 생각해도 너무 좋은 경험이였다.
신규 서비스의 시스템을 설계하면서 시스템 아키텍처에 대해 많은 시간을 고민하였는데, 백엔드 세션에서 내가 고민하던 것들을 많이 해소해주었다.
또한 이 세상에 많은 개발자가 있고, 더 나은 서비스를 위해 노력하는 사람들이 많다는 것을 두 눈으로 보고 오니 번아웃이 싹 사라지고 의욕이 불탓다.

역시 우아한형제들은 매력적인 서비스를 개발하고 있었고, 많은 것을 배울 수 있었다.
모든 세션을 적지는 못했지만, WOOWACON(우아콘) 2023 후기 - 1, WOOWACON(우아콘) 2023 후기 - 2에서 간단한 후기?를 볼 수 있다.

GDG 송도는 생각보다 많은 분야의 사람들이 모였고, 주니어부터 시니어까지 다양한 발표자의 세션이 진행됐다.
평택에서 인천까지 왕복하기 힘들긴 했지만, 다시한번 의욕이 불탓다.

두 차례 컨퍼런스를 참여한 것은 올해 잘한 것에 포함될 것 같다.
내가 개발을 잘 하고 있나? 나 혼자 있는것같다 싶을 때에는 컨퍼런스 꼭 참여하는건 어떨까 제안하고 싶다.

내년엔 우아콘, 인프콘 다 가게 해주세요 🙏

독서

올해는 생각보다 많은 책을 읽었다.
사내에서 지원해주는 도서구입비가 한 몫 한 것 같다.

도메인 주도 개발 시작하기

웹 API 디자인

는 모두가 읽어보았으면 한다.
프로젝트를 진행하면서 이게 맞나? 하는 고민을 많은 부분 덜어내준다.

육각형 개발자

넷플릭스의 클라우드 엔지니어링

, 우아콘에서 받은

개발자 원칙

은 개발자로서 협업능력과 대화방법에 대해 많은 도움을 준 것 같다.

그 외에도 많은 책을 읽었고, 내년에는 더 많은 책을 읽어보도록 하자.

마무리

2024년은 더 많이 공부하고, 개인적으로 진행하고 있는 사이드 프로젝트가 성공적으로 오픈되었으면 한다.

2023년이 많이 고민하고, 지치고, 번아웃도 오는 한 해였다면
2024년은 긍정적인 측면에서 웃으며 개발할 수 있으면 좋겠다.

사실 앞으로도 많은 과제들이 남아있고, 일정이 촉박하지만 잘 견뎌내고 좋은 결과로 팀원들 모두 고생했다는 말을 하면서 커피한잔하면 그보다 좋은게 없지 않을까?

2024년의 나, 조금만 더 힘내자

반응형