그 외 교양
[우당탕탕] 항해 플러스 진심 솔직 후기 (2기, 코틀린 트랙)
무자비한 낭만주먹
2024. 2. 1. 14:14
[목차]
1. 합류 과정
2. 교육 방향성
3. 얻은 것
4. 만약 리셋한다면
1. 합류 과정
본인은 금융 관련 회사에서 같은 계열사의 시스템을 유지보수 하는 역할을 수행하고 있는 회사에 다니고 있었는데 입사한지는 1년 채 안된 상태였고 Java 기반의 Spring Framework 기반의 서비스를 유지보수 하는 일을 주로 하고 있었다.
내가 회사에 입사한지 3달만에 우리 업무단의 선배님들이 전부 이직을 해버렸다. 남은 건 나보다 5개월 일찍 들어온 같은 사원 직급의 선배님 한분이셨고 인수인계를 위한 문서 같은 것들도 뭐 하나 남아있던 게 없던 터라 회사에서의 대부분의 업무는 "개발건이 들어오면 영향도 파악하고 자바 스크립트 살짝 수정해주는 정도"가 대부분이었다. 그 사이에 XSS 취약점 방어나 로그 파일 적재 문제, 5000만 건의 특정 민감정보 마스킹 처리 등 .. 그래도 뭔가 의미 있어 보이는 일들이 들어오면 최선을 다해 해결해봤지만 그럼에도 그냥 하루하루가 불안했다.
[그림2]. 에서 볼 수 있듯이 인터넷에는 나를 불안하게 만들만한 소문들이 가득했기 때문이다. 최근까지만 해도
"나에게 주어진 일들을 소홀히 대하지 말고 매사에 최선을 다하자" 라는게 나의 가치관이었는데, 어느순간부터 최선을 다해 일했는데도 "내 커리어가 이대로 망하는 거 아닌가 .."라는 불안 때문에 매일매일이 힘든 기분이었다.
그래서 회사 밖에서 개발자로서의 역량을 배울 수 있는 기회를 찾아봤고 항해 플러스가 비용면에서나 신빙성 면에서나 가장 적합했던 거 같다. 기존에 300~ 600 가까이 되는 유사 커리큘럼들은 너무 부담됐고, 애초에 3~4달 동안 배울 수 있는 양은 한계가 있다는 생각이 있었기 때문에 "훌륭한 시니어 개발자들이 어떻게 생각하는지" 정도만 10주 정도 커리큘럼으로 짧게 배우고 그 다음에는 보고 배운대로 따라가는 방법이 현실적이라고 생각해서 그랬다.
2. 교육 방향성
결론만 말하자면 당장 크게 성장시켜주진 않는다. 대신에 성장에 필요한 길로 자상하게 데려다주고 그 과정에서 발생하는 장애물들은 어떻게 비켜 가는지에 대해 알려주는 과정이었다. 그냥 간단하게 한줄로 느낌을 요약하면 ..
"목적지로 가는 택시를 탔다기 보단 스스로 갈 수 있게 운전 연수를 받는느낌"이다.
멘토링 과정이나 관련해서 받아봤던 예시 소스를 분석했던 기록을 참고삼아 첨부한다.
사실 회사 일이 바쁘다보니 꾀 부리는 경우가 종종 있을 수 있는데 그런 부분에 대해서 "니 돈 버리는 건데 대충 넘어가라 그래~"라고 생각하고 포기할 수도 있었을텐데 캠프가 마무리되는 시점까지 책임감 가지고 압박수비 해주신다. 이 과정에서 삔또 상했다고 못되게 말하는 사람도 봤는데 그럼에도 끝까지 맡은바 소임 다하는 자세에서 분야는 다르지만 많이 배웠다. 어쨌든 결론은 관리도 신경써서 잘 해줘서 이 부분은 매우 좋았다.
마지막 발표때는 발표 자료까지 봐주셨는데 단순히 개발적인 내용 말고도 생각지도 못한 부분에서 많이 배울 수 있었다. 그리고 멘토님들마다 뭔가 특기가 다른 느낌이어서 보고 배울 것들이 정말 많았다.
3. 얻은 것
나는 TDD 과정 프로젝트에서 이렇다할 성과를 낸게 없고 그냥 주구장창 공부하고 삽질만 했다. 사실 배운것만으로 충분히 만족해서 딱히 결과물을 얻어야겠다는 강박은 없었는데 얼레벌레 하다보니까 어쩌다보니 GitHub-api에 버그픽스로 기여를 하게 됐다.
사실 오픈소스 과정에서 실제 컨트리뷰트를 경험해본것도 감사한 일이지만 내가 제일 감사하게 생각하는 성과는 저런 가시적인 성과보단 "정신적인 성장"이다.
얻은 것(1): 정신적인 성장
사실 10주 동안 아래와 같은 라이프 사이클을 반복했던 거 같다.
[공부] - [부족함 깨달음] - [좌절감] - [그래도 힘내자!] - [공부] - [더*2 부족함 깨달음] - [좌절감] - [그래도 힘내자! ...]
저런 사이클 속에서 자존감이 떨어지니 프로젝트 참여 적극성도 떨어지고 적극성이 떨어지니 결과물도 잘 안나오고 그 때문에 또 자존감이 떨어지고 .. 악순환 속에서 우리 프로젝트만 망한 거 같고 남들은 다 잘해보이는 상태가 되서 "나는 왜 이렇게 허접한 개발자지 .." 좌절했던 시간이 대부분이었다.
근데 좌절감이 느껴진다는 건 "내가 배울 부분들을 찾았다"는 거고 이 생각을 놓치지 않고 끝까지 포기 안하고 도전해봤다는 것 자체만으로도 정말 감사한 경험이었다고 생각한다. 미래에 큰 좌절스러운 상황이 왔을 때 이번 경험이 큰 도움이 될 거라고 믿고있다.
얻은 것(2): 오픈소스 커뮤니티에 대한 진짜 애정
사실 오픈소스 기여라는게 특정 대기업에서 제시한 우대 조건들 때문에 도전해본 경향이 컸다. 결국 면접을 위해서 하는 "숙제" 같은 거였는데 나는 말주변이 좋은편이 아니라 면접관 앞에서 "오픈 소스 문화를 존중한다는" 둥 .. 그런 거짓말을 능숙하게 할 자신이 없었다.
또 내 이득을 위해 뭔가 숭고해보이는 레포지토리에 접근한다는게 괜시리 도의적으로 잘못된 거 같은 느낌이 들어 오픈소스 첫 주 동안은 정체 상태였었다.
근래에 일이 바빠져서 맨날 야근하다보니 정신적으로 약해진 상태여서 "이렇게 한다고 좋은 회사 갈 수 있을 거 같지도 않고 .. 대충 이렇게 살다 그냥 그런 개발자로 끝나는 거 아닌가 .." 하면서 혼자 청승떨면서 집에 오는데 저 친구가 자신의 todo 앱에 기여하는 걸 허락해줬다. 사실 그냥 스프링 연습용 레포지토리였지만 누군가 나를 허락해줬다는 느낌이 너무 기뻤다.
이 날 정말 피곤했는데 집에가서 저 이슈를 해결하고 잠에 들었었다.
이 때부터 용기가 생겨서 여기저기 말을 걸어볼 수 있게 됐고 결국 컨트리뷰트까지 경험해볼 수 있었다. 이 과정에서 오픈소스라는 커뮤니티에 작게나마 애정을 가질 수 있게 됐고 이제 면접에서 "처음엔 면접을 위한 기여로 시작했지만 지금은 오픈소스 문화에 대해 진심으로 애정을 느끼고 있다"라는 말을 솔직하게 진실되게 할 수 있는 상태가 되서 이게 가장 큰 소득인 거 같다.
4. 만약 리셋한다면
사실 삽질만 한참 한것도 정말 좋은 경험이었지만 다음번에 비슷한 과정을 한다면 아래 내용을 염두하면 좋을 거 같다.
(1) 어떤 이유에서든 소극적 참여는 팀에 악숙환을 불러 일으킨다. "생각하고 참여하지 말고 일단 참여하고 생각하자"
(2) "좋은 품질의 개발물"도 중요하지만 "완성된 개발물" 도 중요하다는 사실을 항상 염두해두자
(3) "상황이 좋아진 뒤에 시작하자"라는 생각을 하기 시작하면 한도 끝도 없다.
(4) 내가 아무것도 모른다는 사실을 팀원들에게 들키는 것 보다 잘 숨기는게 더 큰 문제다.
오늘 하루도 공부할 수 있어 크게 감사합니다. 2023-11-27
개발자 최찬혁