'끝났다.'
'끝났다...'
'정말 끝났다...!'
시간이 정말 어떻게 갔는지 모르겠다.
'끝났다.' 이 한 문장을 쓰고나서 몇번이고 몇글자 쓰고 지우고를 반복했다.
분명,,
쓰고 싶은 이야기,
하고 싶은 이야기,
담고 싶은 이야기가 정말 많은데 어떻게 무엇부터 써야할지 모르겠다.
우선, 퇴근 후 평일 저녁 여유롭게 '무엇을 할까' 고민하는 것이 낯설다.
10주라는 시간이 돌이켜보면 정말 짧게 느껴졌지만,
그 10주라는 시간의 흐름 속에 서 있을 때는 꽤나 길었던 시간이었던 것 같다.
늘 그렇지만 시간은 흘러간다.
최종회고라고 썼지만, 이 최종회고는 또 다음의 무언가를 위한 시작을 위한 글이다.
시간과 노력을 들여 무언가에 몰입한다는 것은 귀한 일이다.
그리고 그 몰입을 통해 무언가를 배우고 느꼈다는 것은 너무나 소중한 일이다.
그리고 혼자만 배우고 느끼는 것을 넘어 주변의 동료와 이웃들과 함께 말로 표현하지 못할 무언가를 함께 기억한다는 것은 참 큰 행운이다.
나에게 항해는,
그러한 귀하고 소중한 행운을 주었다.
남는 것은 감사뿐이다.
작년 인프콘에서 김영한님의 세션을 통해 들었던 한마디는 내가 조금이라도 게을러지려고 할 때마다 정신이 번쩍 들게 해준다.
(나의 정신을 번쩍들게 해준 그 세션이 궁금하다면 👉🏻 2022년 인프콘 후기 - #7 어느 날 고민 많은 주니어 개발자가 찾아왔다.)
"1년차의 경험이 10년을 반복하면 1년의 경험을 가진 10년차가 됩니다. Comfort Zone 에서 벗어나세요."
영한님의 저 말을 항상 마음에 세기며 꾸준히 성실히 공부를 지속했다.
이제 막 4년차가 된 나는 그래도 꽤나 부지런하고 공부도 지속적으로 하는 개발자였다.
나름 열심히 사는 나란 개발자 ✨
- 1일 1커밋을 최대한 하려고 한다.
- 공부하고 싶은 내용을 담은 인프런 강의를 듣는다.
- 평일 모각코에 참여해서 퇴근 후 공부를 한다.
하지만,
뭐랄까...🧐
'이렇게 공부하는 것이 맞을까?'
'내 공부의 방향성이 맞을까?'
'혼자 이렇게 단방향으로 공부를 하면 지속적으로 성장할 수 있을까?'
강의를 듣고 있는데, 어느 순간 내가 알고 있는 것들을 계속 반복하고 있는 것 같다는 생각이 들었다.
지속적인 성장을 위해서 공부한다고 생각했는데,
어느 순간부터는 같은 것을 반복하고 있다고 느껴졌다.
그렇다고 내가 무엇을 어떻게 공부해야할지 막막했다.
이렇게 되다가는 같은 것을 반복하는 연차만 쌓인 개발자가 될 것 같다는 두려움이 엄습했다.
나는 비전공자, 국비출신, 그리고 30대에 개발자로 취업에 성공한 사람이다.
그렇기에 야생에서 손에 잡히는대로 공부했다.
언젠가는 그 지식들이 한데모여 큰 그림을 그려줄 것이라는 기대를 안고 말이다.
결론적으로 그런 나의 학습태도는 지금의 나를 있게 해줬다.
- 2021년 부터 2024년까지 나름 빼곡히 쌓아온 나의 공부 흔적들...
하지만 실제 필드에서는 녹록치 않았다.
성실과 열심은 인정 받았으나, 나 스스로가 실력적으로 만족이 되지 않았다.
더군다나 이직을 한 회사에서 내가 느낀 것은 바로,
"아, 나 이렇게나 못하는 사람이었나..?"
였다.
잘하는 사람이 너무나 많았다.
'나 그래도 꽤나 인정받았었는데...' 따위의 생각은 아무 소용이 없었다.
성장에대한 갈증이 너무나 컸다.
내가 모르는 것이 너무나 많다는 것도 절박하게 느껴졌다.
우물안에 있던 개구리가 그 우물에서 난 최고다 라고 생각했다가,
막상 세상에 나와보니 세상이 너무나 커서 놀라는 것을 넘어 절망을 느끼는 그런 감정이었다.
(나의 성장 스토리가 궁금하다면 👉🏻 법대생이었던 내가 일어나보니 개발자가 된 건에 대하여)
그 와중에 나에게 항해플러스 백엔드 5기가 눈에 들어왔다.
TDD, 클린 아키텍처, 대용량 트래픽, 동시성 이슈, Kafka, .... 🤤
혼자 공부하기에는 부담스럽고, 어떻게 시작해야할지도 막막했던 키워드들이 (그리고 너무나 맛있어 보이는..) 있었다.
그렇게,
항해를 시작하게 되었다. ⚓️
살이 정말 많이 쪘다. 으악 😱
fun 항해플러스() {
while(10주_완주?) {
출근()
퇴근()
공부()
과제()
회고()
if (과제_끝?) {
잠()
}
}
}
위와 같은 삶을 지속하다보니 살이 꽤 쪘다.
운동을 거의 못하고 앉아서 코딩만 매일 매일 하다보니 살을 얻었다. ㅋㅅㅋ.......
이제, 다시 운동을 해야할 때! 💪🏻
10주간의 과정을 통해 많은 것을 배웠다.
위의 PR 은 내가 10주간 과제를 진행하며 고군분투한 내용을 담은 이력이다.
지금 다시 보니 감회가 새롭다.
토요일 발제를 듣고,
주중에 치열하게 과제를 한다. 🔥
최대한 코드를 과제를 검사하는 코치님들이 보기 편하도록 커밋도 이쁘게 작성하려고 노력했다.
내가 10주간의 여정동안 만든 어플리케이션은 '콘서트 예매 서버'다.
테스트코드,
클린 아키텍쳐,
동시성 이슈를 해결하기 위한 락,
대용량 트래픽을 감당하기 위해 Redis 를 활용한 대기열 설계 및 구현,
Kafka 를 통한 이벤트 기반의 API 설계
....
맛있어 보였던,
그리고 마냥 어려워 보이고 뭔가 나와 멀어보였던 키워드들이 어느새 하나의 프로젝트에 모여 하모니를 이뤘다. 🎶
매번 하나의 산을 넘을 때마다 항상 느끼는 것이지만,
'일단 부딫혀보면 뭐든 되어있다.'
코드를 작성과 동시에 위와 같이 문제 해결을 위해 고민한 내용과 설계에 대한 공부를 정리한 보고서도 작성했다.
(보고서가 궁금하다면 👉🏻 보고서 모음 Github)
정말 치열하게 공부했다.
정말 치열하게 고민했다.
퇴근하고 집에와서 정신없이 과제를 했다.
야근하고 집에와도 정신없이 과제를 했다.
회식하고 집에와도 정신없이 과제를 했다.
무슨일이 있었어도 정신없이 과제를 했다.
그런데, 이런 고민을하고 공부를 한 내용을 그대로 흘려보내는 것이 너무 아쉬웠다. 🥹
그래서 내가 과제를 제출을 하고, 한 주간 공부하고 고민한 내용을 매 주 한번씩 블로그를 통해 정리를하면서 회고를 했다.
매주 회고를 하면서 내가 느낀 것은 다음과 같다.
"진짜 내 공부는 내 언어로 다시 한 번 정리할 때 되는 구나"
그렇다.
강의를 듣더라도,
무언가 내 손으로 만들더라도,
내 언어로, 내가 이해한 것을 다시 한 번 정리를 하는 것이 정말 좋은 공부구나 라는 것을 회고를 하면서 알게 되었다. 💡
덕분에..
이젠 조금, '흐름' 이 보이는 것 같다.
이젠 뭔가, '내가 어떻게 공부를 해야할 지' 알 것 같다.
적어도 '레이어드 아키텍처'가 무엇이고, 어떤 고민을 하면서 코드를 짜야할지 이야기 할 수 있을 것 같다.
조금이라도 MSA 와 트랜잭션의 관계를 논하는 자리에서 대화를 즐겁게 해볼 수 있을 것 같다.
이벤트 기반의 어플리케이션의 흐름을 이제는 조금 이해할 수 있을 것 같다.
"내게 주어진 시간과 공간속에서 항상 최선을 다하는 것."
10주간 나는 내게 주어진 시간과 공간속에서 최선을 다했고, 그 이상의 것들을 누렸다.
많은 사람들이 각기 다른 배경과 이유로 항해플러스 5기를 시작했다.
하지만, 아마도 정말 많은 것이 다른 우리가 하나의 공통점이 있다면 그것은 바로,
'성장하고 싶은 욕심' 이지 않을까?
항해가 지향하듯 함께 이야기하며 과제를 수행하고, 서로의 지식을 나누며 함께 성장했다.
그러면서 참 좋은 사람들을 많이 만났다.
우선, 항해플러스 5기의 유일한 코틀린조였던 우리 16조.
처음 시작했던 인원 7명중에서 4명이 수료했지만, 함께 끝까지 좋은 성적으로 수료하게되어 참 기뻤다.
마지막까지 함께 완주해준 우리조에게 다시 한 번 박수!! 👏
우리조 덕에 마지막까지 힘내서 잘 마무리 할 수 있었다 ㅎㅎ
그리고, 항해플러스 새벽반 Gather 깡패(?)들..
덕분에 정말 즐겁게 항해를 잘 해낼 수 있었다.
다들 개성이 정말 다 달라서 너무 재밌었다 ㅋㅋㅋㅋ....
가만히 무슨말 하는지 듣고만 있어도 개꿀잼이었음...ㅋㅋ
앞으로도 계속 좋은 개발자로 성장해 가길 진심으로 응원합니다 ! 💪🏻
이건 좀 자랑하고 싶다.
10주간 모든 과제를 ALL PASS 했고, 가장 최고 등급인 블랙 뱃지를 달성했다.
10주간 직장을 다니면서 단 한번도 포기하지 않고 모든 과제를 제출했고, 통과했다.
블랙 벳지는 생각보다 꽤 많았다.
하지만, 과제 ALL PASS 는 전체 인원중 7명뿐이었다.
사실, 누가보면 그게 그렇게 의미가 있나 싶겠으나,
개인적으로는 너무 뿌듯했다.
모든 과제를 제출했고, 모두 통과했다는 것은
내가 나에게 주어진 시간 속에서 최선을 다했다는 것을 반증하기 때문에 마지막 과제의 결과가 나온 순간, 너무 기뻤다.
이번 항해를 통해 배운 내용들과 더불어 나에게 큰 경험적 깨달음을 준 '회고의 힘'을 통해 더 큰 바다를 항해하겠다.
우선은, 사놓은 기술서적을 읽으면서 섹션마다 회고를 해볼까 한다.
처음해보는 공부방법인데, 내가 이해한 내용을 바탕으로 나의 언어로 다시 정리해서 책 내용을 소화해 볼 생각이다.
'테스트 주도 개발', '클린아키텍처', '클린코드' 중에 하나를 먼저 시작해볼 생각이다.
항해플러스가 끝났을 뿐, 내 항해는 계속 더 큰 바다를 향해 나아갈 것이다.
'항해플러스를 시작하면 무조건 성장한다'
이건 거짓말이다. ❌
공부에는 왕도가 없다.
세상에는 쉽게 얻을 수 있는 것은 아무것도 없다.
그리고, 어렵게 얻은 것은 거의 대부분 귀하고 소중하다.
모든 것이 그렇듯, 항해플러스도 그냥 참여한다고 해서 알아서 성장시켜주는 것은 절대 아니다.
내가 위에서 몇번을 썼듯, 시간과 노력을 갈아 넣어야 한다.
더군다나 직장인이라면 정말 말 그대로 '뼈를 깎는' 노력을 해야한다.
항해플러스는 성장의 방향성을 제시하고, 그 성장을 도와주는 부스터가 되어준다.
이를 악물고 진심으로 성장할 각오가 된 사람들은 도전하는 것을 무조건 추천한다.
의욕은 넘치지만 내가 어떻게 성장해야할지 모르겠다면, 항해플러스는 좋은 가이드가 되어줄 것이다.
혼자 무엇을 해야할지 모르겠다면, 항해플러스는 아주 좋은 성장의 기폭제가 되어줄 것이다.
그리고, 언제든 항해플러스에 대해 궁금한 것이 있다면, 링크드인을 통한 DM 이나 이메일 (joshuara7235@gmail.com) 환영이다!
지원하실 때 추천인 코드(HHPGS0893)를 작성해주신다면 할인도 받을 수 있다 (무려 20만원!)
마지막으로,
내가 온전히 항해에 집중할 수 있도록 안팎으로 내조해준 우리 와이프 김혜연씨에게 고맙다는 말을 전하고 싶다.
또한, 지쳤을 때 내 시선이 땅에 떨어지지 않고 온전히 하늘을 바라보며 지혜를 구할때마다 힘과 능력주신 하나님께 감사하다.
1주차 회고 - 테스트코드를 모르던 내게 찾아온 TDD
2주차 회고 - 코딩에 정답을 찾지말자. 고민을 통해 더 나아짐을 시작하자.
3주차 회고 - 좋은 코드를 위해서는 좋은 설계가 우선되어야 한다.
4주차 회고 - 어플리케이션은 완벽할 수 없다. 다만 완벽을 지향할 뿐.
5주차 회고 - 항해의 중간지점, 나는 얼마나 성장했나.
6주차 회고 - 동시성 문제를 극복해보자 - (feat. DB 락과 Redis 분산락)
7주차 회고 - 대량의 트래픽이 몰려올 때 나는 어떻게 해야하나? - (feat. Cache, 대기열 구현)
8주차 회고 - MSA를 찍먹해보자. - feat. Saga Pattern
9주차 회고 - Kafka 를 찍먹해보자. - feat. Transactional Outbox Pattern
블로그 글 잘 보고 있습니다!
10주간의 바쁜 여정에도 꾸준히 회고하시는 모습 대단하십니다. 👍