조금 늦은감이 있지만 23년도를 회고해보자. 글은 길지 않고 딱 할 말만 작성해보자..
1. 서비스 회사로 이직
23년도에는 자사 서비스를 개발하는 경험을 하기 위해 이직을 결심했다. 결국 6월에 온라인 광고 플랫폼 회사로 이직할 수 있었고 결론부터 말하자면 이직에 대한 만족도는 높은 편이었다. 가장 큰 이유는 경험해보지 못해본 기술을 사용하여 개발할 수 있었고, 나의 개발 능력이 꾸준하게 성장하는데 많은 도움이 되고 있다.
2. 강의 수강
출퇴근 시간 혹은 퇴근 이후 시간에 공부한 내용을 정리해보았다.
- 2월 : 자바 ORM 표준 JPA 프로그래밍 - 기본편
- 4월 : 스프링 시큐리티 (이직 전 회사 동료분과 스터디)
- 5월 : 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
- 6월 : 스프링 핵심 원리 - 기본편
- 8월 : 모든 개발자를 위한 HTTP 웹 기본 지식
- 10월 : [데브원영] 아파치 카프카 for beginners (Kafka Consumer를 개발을 담당하게 되어 수강)
- 현재 진행형 : 코딩으로 학습하는 GoF의 디자인 패턴, 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
이 밖에 체력을 기르기 위해 5월부터는 운동을 시작해 지금까지 주5-6일 정도하고 있으며, 개발 지식 뿐 아니라 말하기, 인간 관계에 대한 책들도 읽었다.
3. 프로젝트 경험
현재 회사에 입사후 6개월 동안 벌써라면 벌써 여러개의 프로젝트를 참여하게 되었는데 Kafka Consumer를 담당하여 개발한 경험이 가장 크게 도움이 되었고 기억에 남았다.
그 이유는 바로 패턴에 대한 중요성을 체감하게 되어서인데 여러개의 패턴 중 팩토리 메소드 패턴을 사용하였다. 기존에도 Consumer를 통해 통계 데이터를 적재하고 있었는데 기존 소스는 KafkaListener로 여러개의 Topic을 받아 if문으로 분기 처리하도록 되어있어 Topic이 추가될 때마다 분기를 추가해줘야 했다. 하지만 신규로 개발한 Consumer는 팩토리 메소드 패턴을 이용하고 Topic 인터페이스를 만들어 상속받은 Topic들을 팩토리에 주입해줘 OCP를 만족할 수 있었다.
처음 개발 공부할때는 객체지향 5대원칙(SOLID)의 중요성을 체감하지 못했다.(도대체 수정에 닫혀있는데 확장에는 열려 있을 수가 있지..?)
이번 경험을 통해 OCP 원칙을 몸소 체감할 수 있는 좋은 기회가 되었다. 와.. 이거 였구나.. 하고 알고나니 기쁘고 재밌었다.
나중에 서비스 개발을 하면서 SOLID는 너무나도 중요하다는 것을 알게 될 것이고 꾸준히 공부를 해야겠다는 생각을 다시 한번 느끼게 될 것이다..
(간단히, 수정에 닫혀있지 않으면 기존에 서비스하던 것 까지 테스트할 범위가 늘어나기 때문에..)
프로젝트 경험에 대해서는 앞으로 적을 포스팅으로 더 자세하게 알아보기로 하자.
4. 앞으로의 계획 - 포스팅 방향성
개념과 기술, 예제에 대한 내용 정리를 잘한 기술 블로그는 많다.
(정리가 잘된 글들이 많기 때문에 결국 내 글을 읽을 이유가 없다...)
가끔씩 '이미 많은 개발 경험을 가진 개발자들의 경험치를 받을 수 있으면 큰 도움이 되지 않을까?' 생각했던 적이 있다. 그래서 앞으로는 기술 블로그 보다는 개발 경험을 적은 글을 작성하기로 하였다.
댓글