728x90

길다면 길고 짧다면 짧은 항해 플러스 백엔드 10주 차 과정을 마무리하였습니다.

 

돌이켜 보면 그 10주 동안 참 많은 일들이 있었다 느껴지네요.

 

첫 발제를 듣던 토요일,

어떻게 해야 할지 고민하는 일요일,

출근하면서 과제해야 하는구나 절망의 월요일,

멘토링 시간이 얼마 안 남았구나 화요일,

과제 제출일이 얼마 안 남았구나 수요일,

내일 제출이니 오늘은 밤새어서 끝내야지 목요일,

제출 완료했으니 정리 좀 해볼까? 금요일

 

일주일이란 시간 동안 참 알차게 보냈다 생각이 드네요.

 

많이 힘들었던 거 같네요.

지금 생각해 봐도 개인적으로 힘든 시간이었고, 출근하면서 과제를 수행하는 것은 또 하나의 고행이라고 느껴지기도 했습니다.

 

끝난 지 거의 1주가 다 되어가는 지금도 힘듬의 여파가 남아 있는 거 같네요.

 

근데!

후회는 전혀 없고, 오히려 앞날이 기대가 되기 시작했어요.

 

오늘 새로운 혹은 다른 분들이 어떻게 쓰는지 알 수 있겠구나 기대된다 토요일,

감사한 피드백을 토대로 이해하며 리펙토링 해보자 일요일,

우리 모두 같이해봐요 으쌰으쌰 월요일,

모르던걸 물어볼 기회가 생겼어!! 이참에 열심히 물어보고 고민해 봐야겠다! 화요일과 수요일,

오늘은 드디어 마지막 날이다! 파이팅 해서 마무리해 봐야지!! 패스받고 말겠어! 목요일,

오늘 잘 제출한 거 같아요 드디어 해방이다~~ 금요일

 

너무 재밌고 소중했던 일주일 시간이 보이네요.

너무나도 소중한 1조, 분위기 메이커가 많았던 3조, 4조, 5조.

 

그곳에만 가면 마음이 편해진다 10조. ( 자주 방문한 조들입니다.. 모두 사랑해요. )

너무나도 소중한 동료들과 같이 힘내서 일주일 동안 열심히 과제를 수행한 일주일 총 10주였습니다.

물론 힘들었죠, 하지만 믿고 따라갈 수 있는 코치님들과 동료들이 있으니 저는 너무나도 재밌는 과정이었던 거 같네요.

 

이런 과정을 수행한 저는 올해로 3년 차 백엔드 개발자 이건입니다.

 

저는 한 회사에서 현재 3년 차로 근무 중이고, 실제 업무는 풀스택을 수행하고 있습니다...

 

업무를 진행하면서 회사에서 사용하는 아키텍처, 개발문화, 코딩 방법, 소통방법 등등 저는 이 모든 것들이 외부 즉 지금 있는 환경 밖에서 어떻게 보일지 너무 궁금한 개구리였습니다.

 

회사의 바쁜 업무로 인해 아침 출근 새벽 퇴근을 밥먹듯이 하는 저는 성장이 너무나도 고픈 개발자였습니다.

 

하지만 이때 고민이 생겼습니다.

 

과연 내가 공부만 해서 계속 쌓여만 가는 연차를 커버할 수 있는 개발자인가??

또 좋은 리더급으로 성장하고 있는 중인가??

나는 열심히  공부하고, 소통하고, 개발문화를 만들어보고 싶어 노력을 하는데 이게 맞는 걸까??

 

여러분은 어떠신가요?

저와 같은 고민을 하시진 않더라도 이 글을 읽고 계신다면 비슷한 고민을 한 번쯤은 해보셨을 것이라 생각이 듭니다.

 

이런 고민을 해결할 수 있는 방법을 찾던 중 저는 아래와 같은 방법들을 고민해 봅니다.

  1. 부트캠프를 들어가 본다.
  2. 다른 개발자에게 커피챗을 신청해 본다.

너무 적은 선택지를 고민해 본 거겠죠?

 

하지만 개발자 세상을 잘 모르는 저는 위 두 방법밖에는 몰랐습니다.

 

그래서 보면 첫 번째 방법 "부트캠프를 들어가 본다." 흠...

경력이 쌓이면서 부트캠프를 반복적으로 들어가 6개월을 낭비해야 하나??

그게 바로 물경력 아닌가??라는 생각을 해서 기각하였습니다.

 

두 번째 방법 "다른 개발자에게 커피챗을 신청해 본다." 흠...

어떻게 해야 하지?? 괜히 바쁘신데 민폐 아닌가??

괜히 이야기하는데 내가 너무 준비 안되어있으면 어떡하지??

 

위와 같이 저는 두 가지 방법 전부 제대로 소화해 낼 자신이 없었습니다.

부트캠프는 퇴사를 해야 하고, 커피챗은 너무 부담이 되고...

 

그렇게 고민하던 중 항해 99를 보게 되었습니다.

항해 99는 원래 알고 있던 곳이었습니다.( 신입으로 들어오신 분들이 잘하셔서 )

 

그래서 항해 99에서 뭐 할 거 있나?? 호기심에 들어가 봤더니 거기에 재직자 대상으로 진행하는 코스가 있던 것이었습니다!

 

커리큘럼도 보니 TDD, 클린 아키텍처, Kafka, Redis, Mysql 와우!

평소 사용하고 있지만 제대로 이해하지 못한 것들, 그리고 배우고 싶은 내용들이 있었던 것이었습니다.

 

또한 돈을 내고 배우는 것이다 보니 무료 부트캠프처럼 아무나 오는 것이 아닌 성장에 목이 마른 분들이 오실 것이라 생각하고 바로 신청을 해버렸습니다.

 

들어와 보니 단계별로 실력을 인증한다네??

심지어 블랙 배지는 이뻤습니다.

 

그렇게 이쁜 블랙 배지를 얻고, 기본기도 얻고 다 얻어가기 위해 시작한 항해였습니다.

 

막상 시작하니 토요일마다 그 주 과제를 발제해 주는데 와 토론하고, 고민하고, 설득하고, 발제 듣고 와 저는 천국인 줄 알았습니다.왜 이렇게 재밌는 건지 요즘 개발이 재미없다 생각했는데 와 너무 재밌는 거예요?

 

이렇게 많은 개발자가 모이니 너무 재밌게 커뮤니케이션을 하게 된다라는 걸 처음 느껴본 거 같아요.

 

너무너무 재밌게 하고, 과제를 수행하는데 시니어 코치진의 멘토링 시간이 다가왔습니다.

이때는 제가 한 일, 고민한 흔적, 질문 등을 피드백받을 수 있는 시간인데요, 코치님들도 정말 어쩜 이렇게 다 다르신지...

 

선호하는 개발 스타일이 다른 게 그렇게 헷갈릴 줄 몰랐지 뭐예요.

하지만 단하나는 공통 사항이 있었는데, 그것은 개발에 진심인 분들이라는 것이었습니다.

 

단순히 나 개발 잘해가 아니고 눈앞에서 같이 고민해 보며 문제를 처리하는 과정을 보여주시고, 우리는 그것을 보면서 다른 방법은 없을까 고민을 해보고 정말 순환이 참 잘되는 구조였다고 생각합니다.

 

이렇게 좋은 코치님들과 동료들과 같이하니 시간도 후딱 가버리고...

첫째, 중간, 마지막에 술도 거하게 마셔주고...( 전 안 마셨어요 )

 

이런 시간이 지나고 나니 저에게 많은 변화가 있는 것을 느꼈습니다.

 

주변에 드디어 같이 고민을 나누고 같이 개발을 할 수 있는 소중한 동료분들이 생긴 것이 가장 최우선 첫 빠따이고,

점점 지쳐가는 개발자 인생에 또다시 어마어마한 활력소를 넣어준 것이 두 번째이요,

내가 해온 개발 기술들에 대해 설명할 수 있는 기본기를 갖추게 된 게 세 번째입니다.

 

거짓말 아니냐고요? 해보고 말씀하시기 바랍니다.

 

처음에는 꽤 비싸다고 생각하기도 했어요 거의 200에 가까운 돈이 나가니... 근데 첫 번째 동료들이 생겼다 전 여기서 100 이상의 값어치를 했다고 생각합니다.

 

그리고 코치님들과의 인연!! 이 인연 또한 제 앞날에 빛이 되어줄 인연이지 않을까요??

 

마지막으로 사람들 앞에 자신을 노출할 수 있는 자신감!!!!

물론 아직도 많이 떨리죠... 하지만 이를 극복하고 사람들 앞에 나서는 사람으로 발전되도록 노력할 수 있는 용기가 생긴 거 같아요.

 

또한 감사하게도 10주간 과제 통과율이 90프로가 넘어 블랙 배지를 얻을 수 있었습니다.

블랙 뱃지

 

여기까지 보시고도 항해 플러스 백엔드 교육과정을 듣는 것에 있어 고민 중이신가요??

 

바로 들어봐라!! 하고 싶은 마음도 있기는 하지만 신중하게 선택하시기 바랍니다.

 

저의 인생 터닝포인트가 이 지점이었지만, 여러분들의 터닝 포인트는 다른 곳에 있을 수도 있고, 세상은 넓고 할 수 있는 것도 많기 때문이죠!

 

많은 고민을 하고 선택하시기를 바라면서 여기서 글을 마무리 짓도록 하겠습니다.

 

읽어주셔서 감사합니다.

 

 


항해를 선택하기로 한 당신!!

  • 결제페이지 > 할인 코드 > 수료생 할인 코드 입력 시 20만 원 할인 적용 

위와 같이 하면 할인된다 하니 코드 필요하시면 쓰세요.


추천인 코드: VmJf7w

728x90

'항해99' 카테고리의 다른 글

[5주차 회고] 5주차를 마무리하며  (4) 2024.07.20
[1주차] 1주차 마무리...  (0) 2024.06.27
[플러스 백엔드 5기] 시작에 앞서  (2) 2024.06.15
728x90

서버 구축을 하는 5주 차가 마무리되었습니다.

 

요구사항 분석, 시퀀스 작성, ERD 작성, 서버 개발 등 다양한 작업이 있었는데요,

무엇보다 아픈 상황에서 진행을 하려다 보니 많이 힘들었던 것 같습니다.

 

사실 항해를 시작하면서 원했던 것이 다른 개발자분들은 어떻게 작성하고 있을까??

그리고 어떤 주제로 공부를 하고 이런 내용들을 제가 잘 이해하고 있을까?라는 점이 가장 궁금했는데요.

 

이러한 제가 원하던 부분들을 어느정도 경험을 할 수 있었고, 저 자신의 개발 실력에 대해 기본기부터 다져가며 학습을 하고 있는 것 같아 기분이 매우 좋은 상황입니다.

 

TDD를 제대로(?) 작성을 해보며 서버를 개발을 해보고 이 테스트 코드들이 CI에서 돌아가는 것들을 보면서 서버를 배포 시 문제 발생률은 테스트를 정확하게 했는지, 그리고 실패 케이스들은 예측을 하였고 그러한 실패 케이스들을 핸들링함으로써 해결을 하였는지를 검증하는 것이라 생각하였습니다.

 

무엇보다 실패 케이스가 가장 중요하다는 점인데요.

사실 저는 그냥 테스트 돌렸을 때 잘 저장되고 잘 작동하면 되는거 아니야??라는 생각이 많았습니다.

하지만 실패케이스를 강조를 하시는 것을 보고 왜 실패케이스가 중요할까 라고 생각을 해보니 실패 케이스를 예측하고 방지한다는 것은 결국 서버가 운영되었을 때 발생할 수 있는 오류 상황들을 인지하고 있고, 이를 방지하는 처리를 해놓았다는 말이 되는 것이라고 깨달았습니다.

 

만약 실패케이스를 제대로 잡지 않고 정상케이스만 테스트한다면 예상치 못한 상황들이 너무 많이 생겨버리고 그럼 오류가 터졌을 때 그 오류 케이스들을 잡아 내기에는 시간과 비용이 많이 들기 때문입니다.

 

덕분에 TDD의 중요성을 알게 되었습니다.

 

또한 TDD를 잘 작성하려면 모델 설계, 서비스간 의존성 등을 잘 설계하여 작성해야 하는데요.

이는 만약 여러 모듈들의 결합도나 호출 등이 너무 많고, 한 곳에서 모두 관리한다면 테스트의 시간도 오래 걸리고 하나의 메서드를 테스트하기 힘들어지기 때문입니다.

 

물론 하자면 못하는 게 없기는 하겠지만 그렇게 짠 코드가 가독성과, 확장성이 좋다고 생각이 들지는 않을 것 같습니다.

 

본인이 서버 개발을 한다면 혹은 어떤 개발을 하든지 잘 짠 코드 라고 했을 때 어떤 코드를 생각 하실지는 모르겠지만,

글쓴이는 잘짠 코드란 가독성과, 확장성이 좋으며, 적재적소에 존재하는 코드들을 작성하였을 때 잘 작성한 코드라고 생각합니다.

 

5주 차를 진행하면서 가장 좋았던 점은 테스트 코드라고는 알지 못하던 제가 테스트 코드를 짜게 되었고,

테스트 코드를 짜면서 실패 케이스들이란 어떤 것들이 있을지 고민하는 점을 보아 이렇게 서버 분석 및 설계를 좀 더 세세하게 살펴볼 수 있게끔 성장을 하였다는 점이 가장 마음에 드는 것 같습니다.

 

또한 개인적으로 제 강점은 관심사 분리를 잘한다는 점이라 생각하는데요.

이번 주차와 저번주차를 개발하면서 관심사 분리를 통한 코드 간결화등을 진행하며 테스트 코드 작성에 좋은 영향을 끼치는 것을 볼 수 있었습니다.

 

또한 관심사가 분리되다 보니 책임지는 로직, 테스트의 범위가 분리되어있어 보다 꼼꼼하게 테스트를 할 수 있었고, 어떤 점이 부족한지를 지속적인 리펙토링을 진행할 때에도 혼동이 없이 본인이 책임진 범위만을 수정하면 되니 굉장히 유지보수하기 편했던 점을 경험하였습니다.

 

 

728x90
728x90

1주차에는 TDD를 주 주제로 강의 및 과제를 하였습니다.

 

우선 TDD

TDD는 단위테스트, 통합테스트, E2E테스트로 이루어져있으며,

여기서 단위테스트는 하나의 Class내 작동 방식을 테스트한다고 보면 

통합테스트는 두개 이상의 모듈을 엮어 테스트 한다고 생각하면 좋을 것 같습니다.

 

E2E테스트는 실제 애플리케이션 구동 환경처럼 애플리케이션을 실행시켜하는 테스트로 API호출 부터 데이터베이스까지 조회, 및 테스트 시나리오대로 정상적으로 잘 작동하는지 테스트를 합니다.

 

단위테스트를 작성이 우선적으로 진행되고 그다음 테스트가 부족하면 통합테스트, 그다음 E2E테스트를 작성을 하는 것이라 생각하며,

TDD를 실제로 많이 사용하지 않았던만큼 테스트를 자동화 하는 부분을 고민해볼 것 같습니다.

 

 

 

 

GitHub - KrongDev/hhplus-tdd-java: 항해 플러스 1주차 TDD 동시성 제어 과제

항해 플러스 1주차 TDD 동시성 제어 과제. Contribute to KrongDev/hhplus-tdd-java development by creating an account on GitHub.

github.com

 

728x90
728x90

2024.06.15부터 항해99의 플러스 백엔드 5기가 시작하게 되었습니다.

 

개인적으로 플러스 백엔드를 시작하게 된 이유는 기본기의 부족함을 느껴서가 큰 이유인데요,

이번에 코칭 및 과제를 수행하면서 자신있는 부분과 부족한 부분을 찾을 수 있는 시간이 되었으면 좋겠습니다.

 

시작하는 마음은 기대반 두려움반인데요.

기대는 제대로 코칭 및 동료분들과 서로 협력하며 발전을 하는 것에 대한, 그리고 이제부터 수행하게될 과제들에 대한 기대가 많은 것 같습니다.

두려움은 앞으로 수행해야할 과제들에 대해 잘 수행할 수 있을 지, 문제는 발생하지 않을 지, 동료분들과 잘 지낼 수 있을까 마지막으로 제가 지금까지 학습한 내용들이 잘못 된 것은 아닐까 하는 마음이 큰거 같습니다.

 

적지 않은 금액을 지불하고 시작하는 만큼 적어도 제가 원하는 바는 이를 통해 이룰 수 있기를 바라는 마음이 커 열심히 10주간의 과정을 수행할 예정입니다. 

728x90

+ Recent posts