ep 8. 벌써 다가온 상반기 마무리

이동엽·2023년 6월 19일
5
post-thumbnail

2023년, 계묘년이 토끼 띠가 잘 풀릴거라는 기대 하나에 잔뜩 신났던 1월이 훌쩍 지나고, 이제는 벌써 상반기가 마무리될 시기가 왔다.

이번 글은 아쉽게도 상반기 총 결산은 아니지만, 12월을 마무리할 시기에는 2023년 총 결산은 반드시 할 예정이다.
'시간이 지나도 올해만큼 열심히 한 시간이 있을까?'가 궁금하니까 나중에 내가 보려고 쓰는 거다.


아무튼 이번 글은 지난 회고록의 이후부터 6월의 노력들을 담아보는 회고록이란 말을 길게 해봄!


💡 취준컴퍼니

취준컴퍼니는 활동 기한을 한달로 제한하는데, 매주 2회 이상 회사를 지원 하는 미션을 매주 완료했을 시에는 기수를 1번 연장할 수 있다.
덕분에 기수를 연장하여 5월에도 취준컴퍼니 활동을 할 수 있었지만, 아쉽게도 커피챗을 진행하는 등의 이벤트는 없었다.

다만, 이게 나름의 트레이드 오프였는지 다른 쪽으로는 만족하는 결과가 생겼다!


📍 코드리뷰 스터디

취준컴퍼니 슬랙 내에 있는 #08-모집해요 채널에 어느날 코드리뷰 스터디 모집 글이 올라왔다.

연구실 내에서만 공부하던 나는 다른 사람들을 보았을 때 신선한 느낌을 받아 동기부여를 받곤 한다.
추가로 내 실력을 객관화하는 것도 좋아하는데, Skill까지 Java에 Spring? 아주 날 위한 거였다.

바로 신청!





코드 리뷰를 제대로 해본 적 없는 나로써는 아주 많이 배워가고 있다.
모르면 질문도 하고, 잘못된 걸 찾았으면 "왜 잘못되었는지"와 "다른 방법을 제시"하려고 나도 더 공부하게 된다.


위에서 신나서 많이도 첨부한 사진들을 보면, 각자 설계에 대한 생각이 달라 의견이 갈리는 상황이 오기도 했는데,

유독 저날따라 내가 알고있는 내용이 틀리지 않았다는 자신감이 솟구쳐서,
현아님께 내 생각을 제대로 전달하기 위해 다이어그램도 그리고, 관련 링크를 찾는 등 여러모로 애썼던 기억이 생생하다.


잠들기 전에 확인한 스레드에서는 현업자분의 칭찬까지..~!! 근래 중에선 가장 뿌듯한 하루가 아니였나 싶다.
늦은 시간까지 리뷰해주신 현아님 감사합니다.


📍 주영님 커피챗

주영님도 위에서 언급한 코드리뷰 스터디원 중 한분이다.
어느 날, 스터디 슬랙 채널에 교보문고 면접을 다녀왔는데 후기가 궁금하시다면 말씀해달라하셔서 냅다 커피챗을 신청했다.


당시 나는 말은 못했지만 서류 탈락 40건을 돌파하던 시기였다.


주영님과 커피챗을 진행하는 동안, 화면 공유로 공고도 추천해주셨고, 얼마나 많은 서류지원을 떨어졌는지도 서스럼없이 보여주셨다.
아래 슬랙에 보면 프로그래머스에서 데브코스를 진행하며 만난 사람들과 지내는 슬랙 톡방인데, 메시지에서 간절함이 묻어나오는 걸 볼 수 있다.


아무튼 주영님의 지원 이력을 보고선, 40건 가지고는 낙담하기는 이르다고 스스로 위로를 얻을 수 있었던 것 같다.

커피챗이 끝나갈 즈음엔 이번 시즌에 무조건 취준을 끝내고 싶다고 하셨는데, 최근에 당근마켓 인턴으로 최종 합격하셨다.
코드리뷰 스터디에서 나와 함께 제일 활발하게 하시던 분이라, 많이 참여를 못하게 되는건 아쉽지만? 굉장히 축하할 일이 아닌가!


나도 열심히 해야지


📍 이해만 코치님 추가 피드백

5월이 끝나갈 무렵, 더 이상 기수 연장도 못하는 시기가 다가오는데 아쉽게도 코치님들과의 커피챗을 추가로 잡지를 못했다.

이대로 아쉬워만하지 말고, 무언가 계속 찾아서 해야될 것 같았다.


지난 달에 해만님과 첫 커피챗을 통해 포트폴리오를 피드백을 받고, 부지런히 수정을 했고
다행히 한달이 지난 시점에서 커피챗 당시에 포트폴리오보다 훨씬 개선된 시점이였다.
(사실은 갈아엎은 수준이다)

아무튼? 해만님께 지난 한달간 피드백과 학습한 내용을 더불어 수정하였음을 알려드리고, 피드백을 부탁드려 마지막으로 기회를 쥐어짠 것 같다.

지난번과 마찬가지로 공부해야 할 내용을 잔뜩 얻어왔지만 이번에도 신기하게 잔뜩 동기부여가 되는 순간이다.


시간 내서 피드백 주신 해만님께도 감사합니다.



💡 개인 공부

📍 상품-주문 API 개발로 알아보는 TDD 완강

테스트 코드를 짜는 강의는 없는지 찾다가 발견한 TDD 무료 강의로, 대부분의 강의 순서는 기능별로 아래와 같았다.

  1. POJO로 개발하기
  2. 스프링부트 테스트로 전환하기
  3. API test로 전환하기

당시에 객체지향에 집중하고 특정 클래스나 라이브러리에 종속되지 않는 POJO라는 구성조차 몰랐기에 꽤나 신선하고 재밌었다.

아쉽게도 MockMvc가 아닌, Rest-Assured를 이용했지만 API 테스트를 작성하는 방법도 배울 수 있어 좋았던 강의로 기억된다.


📍 Spring MVC 완강

3학년이 끝날 쯤이 되어서야 스프링을 시작했었기에, 당장 4학년이 될 때 캡스톤 디자인을 하자니 막막했던 때가 있었다.

그래서 당시에는 급한대로 스프링 기본편으로 느낌을 알아보고, 김영한님의 JPA 활용 로드맵으로 갈아타 직접 프로젝트를 만들며 학습하는 방향을 택했고, 덕분에 지금은 얼추 기능 개발이 끝나 프론트엔드 서버와 연동하는 과정이다.


다만, 스프링으로 먹고 살려는데 MVC 하나를 제대로 몰라서야 안될 것 같아 시작했던 강의도 근 3주나 걸려서 끝냈다.
이렇게 오래 걸릴 강의가 아니였는데 중간에 살짝 나태했던 것 같다.


📍 호돌맨의 요절복통 개발쇼

SpringMVC를 끝내고 다음으로 택한 강의는 호돌맨의 요절복통 개발쇼!
개발바닥에 나오는 그분 맞다.

갑자기 Vue.js에.. AWS에.. 혼잡한 강의처럼 보일 수 있지만, 커리큘럼을 보면 알차다.
내가 원했던 MockMvc를 이용한 API 테스트부터, Restdocs 사용법, QueryDsl, AWS 배포, 세션-쿠키-JWT, Spring security, Vue.js 맛보기까지.


이게 어떻게 한 강의에 있는 커리큘럼이냐 싶겠지만, 아래 사진과 같이 호돌맨의 회고록을 보면 생각이 달라진다.
생각해보면 맞는 말이다. 게다가 안그래도 개발스택이 하나가 아닌, 여러개를 보유한 호돌맨이 이렇게 얘기하니 홀려서 사버렸다.


현재까지는 매우 만족중!


📍 클린 아키텍처

5월에는 클린 아키텍처를 학습하는 게 제일 재밌었던 것 같다.
안그래도 계층형 아키텍처로 설계했던 졸업작품을 만들면서, 변경 사항이 전파되는 것에 대한 스트레스가 꽤 많았다.


그래서 요즘은 얼추 기능 구현이 완료된 졸업 작품을 클린 아키텍처로 리팩토링하는 중이다.
아무튼 많관부!


📍 성원이형의 AWS 세미나

우리 연구실 선배들 중에는 참 대단한 사람이 많은데.. 그 중 한 사람은 성원이형이다.
(형이랑 네트워크 & 운영체제 세미나만 진행해봐도 참 아는게 많은 사람인 걸 느낄 수 있음)


어쩌다 최근에는 학부생들이 AWS에 관심이 있다는 걸 알게 되시곤, 연차쓰신 날에 대전까지 내려와 강의도 해주셨다.
역시 사람은 본업할 때 멋있다고~ 긴장하지 않고 여유로운 형이 참 멋있었다.


나도 열심히 살아서 형 이겨먹어야지


💡 활동

📍 새싹톤 탈락

지난 내 회고록을 보면, 가장 설레했던 이벤트 중 하나가 새싹톤인데 탈락했다.

당시에는 의견 조율에 어려움도 없었고, 극적으로 꾸려진 팀인데다 6년차 기획자분까지 있었으니 굉장히 맘에 드는 팀이였기에 탈락의 여파가 생각보다 커서 당일엔 하루종일 우울해했던 게 기억이 난다.


아쉽게도 사이드 프로젝트로라도 진행하려 했지만, 이유가 생겨 진행하지 못하게 되었고, 결국 나중에.. 기회가 되면.. 또 모이기로 했다. 😭


📍 와사비

와사비는 연구실 사람들과 "WiSoft 공식 기술 블로그를 만들어보자!"라는 의미로 기획된 프로젝트이다.

동기들끼리 진행하는게 아닌 이제는 취업한 선배와 내가 항상 배우는 대학원생 형과 프로젝트를 하다니.. 이야 죽인다!
매번 세미나할 때는 배우기만 하다가, 이번에는 배우는게 아닌 동등한 위치로 프로젝트를 진행하는 것이기에 자기 역할을 반드시 해보려고 노력하지만,


내 의지와는 상관없이 아직 지식이 부족해 형들에게 배우게 되는 상황들은 반드시 생길 것을 안다.
이때 잘 배워두고, 나도 나중에 후배들이랑 프로젝트도 한번 해보면서 이끌어보는 경험을 해봐야지~!!


📍 남준이형 커피챗

위에서 성원이형을 소개할 때 말했듯, 연구실 선배들 중에는 참~ 대단한 사람들이 많다.
남준이형은 그 중에서도 학부생들이 우러러 보는 분들 중 한 분인데, 진원이랑 같이 용감하게 커피챗을 신청했다.


남준이형과 대화도 한 번 안해봤고, 그 누구도 남준이 형님께 선뜻 커피챗 해달라고 하지는 않는다.
무식한 게 용감하다고.. 그게 아마 이런거겠지?


서울로 올라가서 찾아뵙고, 밥이랑 커피도 사주셨다.
포트폴리오 피드백을 받고 이외에 기타 개인적인 고민들도 들어주셨는데 돌아보니 참 많은 얘기를 나눈 것 같다.


가장 기억에 남는 대화는 두가지다.

첫 번째는 아무것도 모르던 학생을 이렇게 개발자로 키워주신 교수님이 여전히 감사하다고 하시면서,
나도 배우기만 했으니 이렇게 후배들 커피챗이 조금이라도 베품이 된다면 좋다고 하신 것과


두 번째는 이번에 우테캠 떨어졌다고 했더니 이번 우테캠에 면접관으로 들어간다고 하시는데
"합격했으면 만났겠네요?ㅎㅎ"라고 하시던 그 순간이 이상하게 기억에 남는다.


아마 나중에 같은 직장에서 뵙게 되는 순간이 온다면 비슷한 기분을 다시 경험하지 않을까?
그게 아니더라도, 그때 감사했다며 취직한 뒤 찾아뵈어도 기분이 뒤숭숭할 것 같다.


아씨 더 열심히 해야지


📍 AUSG & 구름톤 지원

AUSG은 대학생 개발자를 위한 클라우드 커뮤니티로, 서울에서 오프라인으로 만나 지식을 공유하는 커뮤니티 중 하나다.
디프만과 비슷하게 꼭 해보고 싶은 활동 중 하나인데 아우슥은 대학생만 뽑기 때문에 올해가 마지막 기회다.


나 좀 뽑아줍쇼


Velog를 평소에 자주 보는 사람이라면 모를리 없는 구름톤이다.
졸업 전까지 많은 대회를 나가서 여러 경험을 쌓아보고, 여러 사람들도 만나보고 싶다.


요새는 이런 경험을 통해 만난 사람들과 얻은 경험들이 모두 자산임을 크게 느낀다.



💡 캡스톤디자인

📍 Redis 도입

그동안은 로그인 및 로그아웃의 경우를 처리할 때, 해당 토큰을 DB에 저장하여 만료시간을 기준으로 유효성을 판단했지만,
이 모든 건 레디스를 쓸 줄 몰라서였다.


현재는 사용법을 익히고, 엑세스 토큰이 만료되었을 때 리프레시 토큰을 이용해 재발급받는 기능도 구현해놓았다!

다만, 레디스의 경우도 성능 튜닝시 효과가 큰 걸로 알고 있다. 그렇다면 알아봐야지..
공부엔 끝이 없다~..


📍 비동기 작업(CompletableFuture)

프로젝트에는 비동기로 처리해야 할 오래걸리는 작업들이 몇가지 있다.

  • 이메일 송신 기능
  • ChatGPT에게 질문하기
  • 서버 장애 발생시 Slack으로 메시지 보내기

Java 8부터는 CompletableFuture를 이용해 비동기 작업 성능을 개선할 수 있는데,
이를 적용해보고자 약 2주간 모던 자바 인 액션에서 해당 부분 학습을 마무리하고, 내 프로젝트에 적용해보았다.

(해당 내용은 별도로 작성한 포스팅이 있어 링크로 대체)


비동기 관련된 내용들로 접근하다보니, 스레드풀을 통해 멀티스레드를 관리하기까지 가게 되었는데 커피챗 내용 중에
"스레드를 잘 다루는 게 진짜 백엔드 잘하는 사람이다"라고 하실 정도로 깊이 학습하면 좋다고 하셔서
앞으로도 해당 내용은 계속 공부해갈 예정!


📍 결제시스템 개발

졸업 작품에 올인한지도 벌써 5달쯤 되었고, 벌써 지난 주엔 1학기가 종강을 했다.

그동안 비동기 작업 성능을 높여보고.. Swagger로 API 문서 자동화도 하고.. Redis를 도입하는 등의 작업을 했지만..
사실상 이메일 발송을 제외한 대부분의 기능들이 CRUD라고 말해도 틀린게 아니였다.


따라서 새로운 기능이 도입되었으면 했고, 생각해 본 바로는 아래와 같다.

  1. Spring Batch를 이용해 대용량 데이터를 일괄처리하기
    → 휴먼 계정이 있다고 할 때, 일괄로 이메일을 보내 알려주는건 어떨까?

  2. 결제 시스템 만들어보기
    → 아보카도의 경우 예약 기능이 있는데, 소액의 예약금을 받는 식으로 넣어볼까?

  3. Slack 챗봇 연동하기

이와 관련된 내용은 프로젝트 고민거리에서 볼 수 있습니다.


현재는 결제 및 환불 API까지 구현을 완료했지만, 결제는 어느 기업을 가도 예민한 정보다.
따라서 면접 질문에 결제 관련으로 심도있는 질문이 들어온다면 잘 대답할 수 있을까?와 같은 의문이 든다.


깊이있게 공부해보지 않을 바에는 했다고 쓰질 않는게 좋겠지 😭


📍 Slack 챗봇으로 모니터링하기

최근에는 프론트엔드와 연동하는 과정에 놓여있다.
PR 메시지에서 보이듯이 프론트엔드 담당은 어떤 예외가 발생했는지 등의 상황을 모니터링 할 수 있도록 Slack 챗봇을 도입했다.


이 과정에서도 비동기 작업에 대한 고민은 당연히 따라왔고, 직접 부하테스트를 진행해 성능 비교를 한 뒤 작성한 포스팅이 있어 첨부한다. → 링크


반년 전만 해도, 어려워서 해볼 생각도 안했던 것들을 지금보니 참 많이 자연스럽게 만들었고, 사용하고 있다.
스스로를 볼 땐 잘 몰라도, 성장하고 있긴 한가보다.


📍 헥사고날 아키텍처로 리팩토링하기

앞에서 이미 여러번 눈치챘을 수 있지만, 요새는 얼추 완성되었다고 보고있는 졸업작품을 헥사고날 아키텍처로 리팩토링하는 중이다.

README.md에서 볼 수 있듯이, 코드리뷰를 도입하고, 책임의 구분기술의 선택 등에서 아쉬웠던 점을 개선하는 데에 노력하고 있다.
사실 가끔은 내 졸업 작품보다, 이 리팩토링 프로젝트가 맘에 들 때도 있다.


어찌보면 아쉬운 점들을 고치고, 미숙했던 점들이 많이 사라졌으니 당연한건데.. 약간 차 바꾸고 괜히 바람핀 기분 드는 미안함같다랄까
그래도 정신차리고 저 리팩토링 프로젝트는 개인적으로 하는 것이니, 졸업 작품에 당연히 비중을 더 크게 두려고 노력해야겠다!



💡 마무리

지난 주부터 스스로 다짐한 내용이 있다.
부트캠프를 다니는 사람들이 매일같이 9시부터 6시까지 x개월동안 진행하여 4년간 배운 전공자보다 잘하는 사람도 많다.


열심히 사는 사람들이라고도 생각이 들지만, 반대로 생각해보면 의문이다.

'비전공자도 저렇게 열심히 하는데, 왜 전공자는 그것보다 열심히해서 일자리를 뺏길까?'
'만약 전공자도 똑같이 9시부터 6시까지 집중해서 공부하면 당연히 유리한 게임 아닐까?'


그래서 나는 지난주부터 아침 9시에 일어나서 공부를 하고 있다.


회고록을 쓰다보면 좋은 점은 지나고보니 고마운 사람들을 알게 된다는 것인데,
이렇게 아침부터 독하고 부지런히 공부해서 그 고마운 사람들한테 그때는 감사했다고 떳떳하게 성공해서 말하고, 내 도움이 필요한 후배들이 있다면 받은 것보다 더 베풀 줄 아는 멋있는 우상이 되고 싶다.

profile
백엔드 개발자로 등 따숩고 배 부르게 되는 그 날까지

3개의 댓글

comment-user-thumbnail
2023년 6월 19일

그래요 우리 열심히 합시다.

답글 달기
comment-user-thumbnail
2023년 7월 3일

로켓펀치 보고 찾아왔는데 상반기 엄청 열심히 사신게 느껴집니다..! 저도 많은 귀감이 되었어요. 앞으로도 화이팅입니다..!

1개의 답글