24년 회고 & 25년 목표

2024. 12. 31. 16:49후기

올해를 돌아보며

올해는 개인적으로 가장 큰 성과와 변화를 맞이한 년도라고 생각합니다.

기술적으로나, 마음적으로나 학부 시절을 지내오며 그렸던 그래프들 중에서 가장 지수함수에 가까운 한 해였던것 같습니다.

뒤를 돌아보며 올해 이룬 성과와 아쉬움을 나누고 더 나은 2025년을 겪기 위해 회고를 작성합니다.

 

개인적으로 소프트웨어 개발, 특히 서버 / 백엔드는 추상화의 꽃이라고 생각합니다. 이 때문에 많은 사람들이 학습에 어려움을 겪고, 저 또한 그랬던 것 같습니다.

하지만 제게 맞는 학습 방법 <무작정 많이 보고 익숙해지기 & GPT (항상 고마운) > 을 찾아가면서 점점 구체화 시켰던 시기였습니다. 물론 아직 많이 부족한 것은 다름 없습니다.


올해의 마음가짐

학부 4학년이 되면서 취업에 대한 욕심이 많이 생겼습니다. 여러 프로젝트 활동을 진행하며
”O회사는 이걸 이렇게 쓴다더라“,
”D팀은 이런걸 만들었더라“ 라는 문구를 많이 들었습니다. 따라서 기술 선택에 트렌드가 많이 반영된 시기라고 생각합니다.

그 때문인지 자연스럽게 ’현업에서는 이런 기술들을 어떻게 사용할까‘, ‘내가 잘 사용하는게 맞을까’ 와 같은 호기심을 끊임없이 가지고 되물었던 시기였고, 자연스럽게 취업에 대한 동기로 작용한 것 같습니다. 

또한 PS에도 열중했던 한 해였습니다. 1일 1PS를 목표로 달려왔고, 몇 일을 제외하고는 나름 지켜진 것 같아서 뿌듯한 마음입니다.

 

1, 2월

1. UMC 동아리 활동

2. UMC 알고리즘 스터디 

 

이전 UMC 동아리에서 이어오던 프로젝트 개발을 진행했습니다.

훌륭한 팀원들을 만난 덕에 실물적인 성과로 가득 찬 프로젝트였습니다.

 

지자체 대회 수상 2회, 교내 수상 1회 및 지원금 등,
큰 성과가 있었지만 개발자로서는 가장 아쉬웠던 프로젝트 였다고 생각합니다.

 

  1. 부족했던 역량으로 인해 적극적인 개발 보다 이해를 위한 학습에 더 열중해야 했음
  2. 팀원의 이탈과 차이 나는 기여도로 인해 책임감이 떨어지고, 피보팅이 발생하며 프로젝트가 중지됨

이 상황들은 사이드 프로젝트를 하며 가장 흔하고 언제든지 발생할 수 있는 상황이라고 생각합니다.

다들 열심히 살다보니 순간이라도 루즈해지면 눈을 돌리게 되는 상황은 컨트롤할 수 없음도 동의합니다.

 

다만 스프린트가 돌아왔을 때, 팀원들의 집중을 이끌어 내는 역량은 평소 팀원들간의 유대, 목표 설정, 동기여부에 따라서 달라진다고 생각했던 시기였습니다. 따라서 같은 목표를 향해 달려가는 팀원을 만나고, 만들어가는 것 또한 중요한 역량임을 다시 한번 생각했던 것 같습니다. 

감사하게도 성숙한 PM 덕분에 감정 상하는 일 없이 웃으며 종료할 수 있어 좋은 기억으로 남은 프로젝트였습니다. 

 

3, 4, 5, 6월

1. 4-2학기 수강

2. SOPT 동아리 활동 

3. 교내 캡스톤 활동

4. 병렬 프로그래밍 학습 

 

4-1 학기를 지냈습니다. 2학기의 짐을 줄이기 위해서 수강할 수 있는 최대 학점을 수강했습니다.

덕분에 엄청 힘들었던 기억이 떠오릅니다. 힘듦과 별개로 수업은 재미있었습니다. 모두 전공으로 이루어져 있었기 때문에 평소 관심은 있었지만 시도해보지 못했던 과목들을 수강했습니다. ( 보안, 기계학습 등 )

나름대로 재미있었지만, 아직까지는 백엔드 프로그래밍이 더 재밌는 것 같습니다.

 

성장에 대한 열망이 있었기에, 대외활동인 SOPT도 함께 진행했습니다. 매 주 용인에서 서울을 다녀오는게 쉬운 일은 아니었지만, 이것 만큼 큰 열정과 동기 부여를 주었던 활동이 없었던 것 같습니다. 좋은 친구들도 많이 만난 것 같아서 올해 가장 후회 없었던 도전이었습니다.

 

주 마다 진행하는 세미나도 의미 깊었지만, 세미나를 준비하는 운영진들을 보며 열정을 많이 느꼈던 것 같습니다.

외적으로는 디자인 패턴 스터디와 기타 학술 스터디를 진행하며 부가적인 공부를 진행했던 것 같습니다. 

 

하지만 후반부에 가서는 시험일정에 가려져 참석률이 떨어졌던 점이 조금 아쉬운 점으로 남습니다.  

 

그와 동시에 교내에서는 캡스톤 프로젝트를 진행했습니다. 서비스 제작을 목표로 했기 때문에, 팀원 선정부터 친구들과 조율하는 데에 많은 시간을 기울였던 것 같습니다. 아이디어 선정에서 많이 걱정했지만 모두가 적극적으로 참여해준 덕분에 성공적으로 마무리 할 수 있었고, 1위라는 명예까지 얻을 수 있었습니다.

 

하지만 병행하던 활동이 많았던 탓에, 초반 코드 퀄리티에 비교적 신경을 못썼던 점이 아쉬움으로 남습니다. 이후 세미나를 진행하며 좋은 코드 컨벤션을 차차 학습하고 수정해 나갔던 점은 의미있는 기억으로 남습니다. 

 

다양한 활동들과 과제를 수행하면서 느꼈던 점은, 문서화에 귀찮음을 느끼고 약하다는 부분입니다. 고쳐야 할 부분인 것 같습니다. 코드는 버전 관리 도구가 도와주고 있지만, 문서화는 그렇지 않아서 그럴까요

함께 협업하는 입장에서는 명확한 문서가 제 깔끔한 코드 보다 더 중요할텐데 말입니다.

 

마지막으로 병렬 프로그래밍에 흥미가 생겨, 유데미를 사용해 병렬 프로그래밍에 대해 강의를 듣고 정리했습니다.

아직 프로젝트나 실무에서 사용한 적은 없지만, 어떻게 작성해야 하는지에 대한 아주 큰 숲 정도는 파악하게 된 것 같습니다.

 

7월

1. 솝트 프로젝트 합숙 시작

2. ICT 인턴십 지원 & 코딩테스트 

3. 정보처리기사 필기 시험 합격 

 

솝트에서는 학기가 끝나고 원하는 아이디어와 팀을 매칭해, 프로젝트를 진행합니다. 저는 가고싶은 아이디어가 명확했고 해당 팀 만을 바라보며 개인적인 포트폴리오까지 작성했었습니다. 

 

하지만 계획과 다르게 떨어지면서 역량이 부족한지 생각했습니다. 

이후 관심 대상에 없던 팀에 합류하게 되면서 잘 할 수 있을지에 대해 많이 고민했었습니다.

 

하지만 당시에는 자책하기보다는 있는 곳에서 최선을 다하자 라는 생각이 더 컸던것 같습니다.

오히려 안좋은 영향을 줬던 건 각 팀을 평가하고 정량적으로 저울질하는 인원이었습니다. 물론 프로젝트가 포트폴리오로 사용되기 때문에 이해하지만, 협업하고 싶은 타입은 아니었습니다. 

 

프로젝트를 진행하며 이전의 아쉬움을 보완하고자 하는 욕심이 있었기에, 의사소통에 심혈을 기울였던 것 같습니다. 타협하기 보다는 극복하고 싶어서 문제를 함께 밤새 고민했고, 해결할 때의 도파민은 아직도 생생합니다. 

 

그와 동시에 교내에서 진행하는 ICT 인턴십에 지원했습니다. JVM에 비교적 자신이 있었기 때문에, Spring을 사용하는 회사의 인턴십에 지원했고, 세개의 회사 중 하나에 면접 기회를 얻었습니다. 

 

하지만 일정 미숙지로 인해 면접 날짜를 맞추지 못했고, 기술 면접 또한 만족스럽지 못했습니다. 

결과는 당연히 탈락이었고, 일정 관리의 중요성을 뼈에 새긴 시기였습니다.

 

또한 부가적으로 정보처리기사 필기시험도 보았습니다. 난이도 자체가 어려운 부분은 없었기 때문에, 기출을 2,3회 정도 풀고 어렵지 않게 합격했습니다. 

 

8, 9월

 

1. 솝트 프로젝트 리팩토링

2. 알고리즘 공부

3. 오픽 IH 달성

4. 솝트 메이커스 가입

 

7월달에 앱잼 프로젝트를 마무리하고, 기능 고도화를 진행하면서 프로젝트 사양이 변경되었습니다. 

GPT API에서 SDK로 변경, Redis에서 SQS로 아키텍처를 변경하면서 기존 강결합된 코드를 모두 수정해야 하는 공수가 발생했습니다. 

 

이 상황을 기회 삼아서, 평소 생각하고 있었던 클린 아키텍처를 프로젝트에 적용해 보고자 하였고, 학습했습니다. 응집도를 높이기 위해 멀티 모듈 구조를 적용하고, 도메인 모델을 적용하고자 서적들을 학습했습니다.

 

https://search.shopping.naver.com/book/catalog/32436316743?cat_id=50010766&frm=PBOKPRO&query=%EB%8F%84%EB%A9%94%EC%9D%B8+%EC%A3%BC%EB%8F%84+%EA%B0%9C%EB%B0%9C+%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0&NaPm=ct%3Dm5c40ukw%7Cci%3Dfd95ef2d9b31135007ef368b380b5d5d2486e014%7Ctr%3Dboknx%7Csn%3D95694%7Chk%3D71801c4342a9467817b0bea601084ef2ee565b29

 

도메인 주도 개발 시작하기: DDD 핵심 개념 정리부터 구현까지 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com

 

해당 책을 사용해서 도메인 모델에 대한 개괄적인 이해를 잡았습니다. 흥미로운 주제를 잘 작성하셔서 2일만에 홀린듯 다 읽었던 기억이 있습니다. 

 

 

https://developers.hyundaimotorgroup.com/blog/381

 

클린 아키텍처의 이론과 실습 #2 실습편

클린 아키텍처로 리팩토링해보는 간단한 예제 프로젝트 실습을 통해 클린 아키텍처에 대해 학습해봅니다.

developers.hyundaimotorgroup.com

 

위 블로그와 다양한 아티클들을 참고하며 프로젝트에 어떻게 적용될 수 있을지에 대해 고민하며 적용했습니다. 

 

갑론을박이 많이 일어나는 주제이지만, 제 경우는 위 구조를 적용해 보면서 객체지향이 무엇인지에 대해 깊이 고민해 보는 계기가 되었고, 기술적으로도 많이 성장했다고 생각합니다. 

 

동시에 틈틈히 알고리즘 학습도 진행했습니다. 다양한 플랫폼의 문제를 풀어보는 것도 좋겠다 싶어서 백준과 리트코드를 병행하면서 풀이를 진행했습니다. 리트코드는 문제의 질이 정말 좋았지만, 반례를 바로 알려줘서 조금 아쉬웠습니다. 

 

8월 마지막에는 오픽 시험에 응시했습니다. 유튜브를 이용해 학습했고, 짧은 기간 안에 목표한 성적을 달성할 수 있어서 만족스러운 기간이었습니다. 

 

9월에는 솝트에서 사용되는 프로덕트를 만드는 메이커스에 합류했습니다. 

 

 

10월

1. 본격적인 취준

2. SAP 면접

3. 카카오 모빌리티, 토스, 넥슨, 현대캐피탈, 우테코, 오토에버, 이스트게임즈 등등... 코딩테스트 응시

4, 솝트 메이커스 활동

 

학교 관련 일정이 4-1에 종료되었기 때문에, 본격적인 취업 준비에 돌입했습니다. 

 

이력서와 포트폴리오를 정비하고, 알고리즘 문제들과 CS지식들을 학습하며 취준에 돌입했습니다. 

 

처음 지원했던 SAP사 서류에 합격해서 면접을 보게 되었고, 만신창이가 되었던 기억은 아직도 생생합니다. 

 

이후 포트폴리오를 재정비했고, 면접을 의도한 방향으로 이끌어 나가는 것 또한 능력임을 느꼈습니다. 

이후 기간들에는 하반기 공채가 시작되는 시간이었기 때문에, 여러 IT 기업들의 코딩테스트에 지원했습니다.

 

꽤 많이 지원했음에도 아직도 코딩테스트는 긴장되는 것 같습니다.

코딩테스트 조차 탈락하는 모습을 보며, 내년에는 꾸준히 풀어보자는 목표를 세웠습니다. 

 

 

11월 

1. 입사 전 신나게 놀기 

2. 시스템 설계 스터디

3. RealMySQL 스터디 

4. 운영체제 모의면접 스터디 

5. 메이커스 개발

 

10월 말에 진행했던 이스트게임즈에 합격하여, 처우를 협의하고 입사하게 되었습니다. 

12월 입사를 앞두고 남은 기간이 얼마 남지 않았기에, 많이 놀러다니며 어울렸습니다. 친한 친구를 보기 위해 다녀왔던 삿포로는 정말 좋았습니다. 

 

그동안 관성이 있던 탓인지, 

마냥 놀아도 근질거리는 느낌이 좋지 않았습니다. 따라서 평소 궁금했던 주제에 관련한 스터디에 참석하고 개설했습니다.

시스템 설계에 관심이 많았기 때문에, 솝트 인원들과 함께 스터디에 참석했습니다. 

위 경험을 통해서 아키텍트 직군에 관심이 생겼고, 충분한 현업 역량이 갖춰졌을 때의 커리어 목표로 삼게 되었습니다.

 

학교 친구와는 데이터베이스 스터디를 진행하면서, MySQL에 대해 학습했습니다. 더미데이터에 인덱스를 씌우고 옵션을 변경해 가며 학습했던 점이 재밌었습니다. 

 

또한 친한 친구의 소개로 운영체제라는 주제로 진행하는 목 인터뷰 스터디에 참여했습니다. 첫 2주간은 열심히 참여했지만, 입사 일정과 여행으로 인해 3주차 부터 성실히 참여하지 못했습니다.

 

마지막으로, 메이커스 플랫폼 팀에서 인증 중앙화를 위해 개발을 진행했습니다. 확장성과 유지보수성을 우선으로 두고 작업했기 때문에 초기 구조를 멀티모듈과 헥사고날 아키텍처로 정의했습니다. 

하지만 비교적 복잡한 도메인 규칙과 학습 곡선, 서로에 일정에 얽혀서 생산성이 낮았습니다. 

 

결국 모놀리틱 모듈로 회귀하였고, 강한 제약이 양날의 검으로 작용해 생산성에 영향을 주는 상황을 겪으며,

평소 코드 컨벤션과 맥락들을 작업 이전에 파악하는 것이 중요함을 느꼈습니다. 

 

입사 이후 가용한 시간이 적어지면서 점차 개발을 못하게 되었고, 결국 남은 작업을 동료가 대신 개발하게 되었습니다. 

이야기를 꺼내기 힘들었는데 먼저 물어봐주신 팀원분에게 미안하고 정말 고마웠던 순간이었습니다. 

 

12월

1. 첫 입사

 

첫 입사를 12월에 하게 되었습니다. 처음 겪어보는 회사는 너무 신기하고 흥미로웠습니다. 

온보딩 이후 아직은 정신 없지만, 첫 업무를 받고 진행하기 위해서 학습중에 있습니다. 

 


 

 

적어보니 많은 일들이 있었던 2024년 같습니다. 23년에 목표했던 대로 열심히 살아온 것 같아서 뿌듯하지만

많은 일들을 동시에 병행했던 만큼 아쉬운 점도 많이 남습니다. 

 

올해의 경험을 바탕으로, 2025년의 목표를 몇가지 세웠습니다.

 

1. 꾸준히 알고리즘 문제 풀기

2. 오픈소스 1개 이상 기여하기

3. 2분기부터 사이드 프로젝트 진행해보기

 

너무 배울게 많고 할게 많은 신입인 만큼, 스펀지처럼 흡수해서 역량을 발휘하는 25년이 되도록 내년도 노력하겠습니다!