1. 당시 맥락
취업하고 난 후로, 커리어로 요즘 고민이 정말 많다. 안하던 고민을 하게 되는 것 같다. 현재에 처한 것만 해결해가는 것보다는 당장 앞으로 일하면서 하게 될 것들을 준비하려는 시도를 꾸준히 하고 있다.
매일같이 영어 회화를 연습하고, 백준을 푸는 이유도 비슷한 이유라고 볼 수 있다. 언제 출장가서 영어로 얘기할지 모르고, 늘 코드를 칠 수 있는 환경은 아니기 때문에 감 떨어지지 않고 알고리즘 사고를 지속하기 위해서이다.
취업 직후에는 조금 느슨해지긴 했다. 굳이 이전에 하던 백준들 이어가야 하나, 정말 도움이 되는 것일까 등의 의문도 많이 들었다. 딱 지금 시기에 운영 업무를 하면서 이전에는 해보지 못했던 튜닝을 하게 되니, 내가 할 줄 아는 것만 알고 꽤나 무능하구나를 느꼈던 것 같다.
결국 백준은 너무나도 당연히 이어가야 했던 것이고, 추가적인 공부가 필요하다고 생각했다. 내가 하는 것이 업무에서의 프로그래밍이라면, 그저 보편적 특성에 기댄 프로그래밍 언어 사용에 그치면 안 될 것 같다고 생각했다. 한계치가 명확한 외주 프로젝트를 하는 것이 아니니 더욱 특정 프로그래밍 언어에 대해 정확히 이해하고 써야되는 상황이 더 빨리 올 것이라고 생각했다.
2. 스터디 참가
오랜만에 42서울 클러스터를 방문했다. Daily 항목에 송승운님과의 커피챗 후기가 있는데, 이 때 성택님을 처음 뵙게 되면서 성택님이 이펙티브 자바 스터디를 리드하고 있다고 듣게되었다. 성택님은 프로그래밍 언어에서 보편적인 특성은 당연한 기본기이며 자신이 사용하는 언어를 적재적소에 효율적인 표현이 가능해야 하고, 이를 스터디를 통해 얻어가고 싶다고 말해주셨다.
** 여기서 말하는 보편적인 특성은 반복문, 분기문, 함수 등의 특정 키워드 (즉, 남들이 일반적으로 말하는 문법)을 지칭하고, 효율적인이라는 말은 프로그래밍 언어의 고수들이 어떤 상황을 고려하여 암묵적으로든 명시적으로든 동의하는 사항들을 녹여낼 수 있는 것을 말한다.
내가 프로그래밍을 할 때 언어의 보편적인 특성에만 기대고 있다는 점을 자각했고 많이 반성했다. 이 때 성택님이 5년차 개발자로써 한계를 느꼈던 다양한 사례를 듣게 되었는데, (내가 자바를 알지 못하여 대부분 이해를 하지 못했고, 이것들 때문에 모르는게 많구나를 느꼈다.) 나도 지금처럼 일하면 그런 한계가 금방 닥치지 않을까 우려되었다. 위에서 밝힌 회사에서의 내 맥락 때문에 더 그런 감정이 와닿았던 것 같다.
스터디에 들어가기로 했다. 스터디엔 반가운 얼굴들이 몇 있었는데, 상기님, 한나님을 뵐 수 있었다. 이펙티브 자바는 3판을 진행하기로 했고, 3판 기준으로 90개의 아이템이 있어서 주마다 5개의 아이템을 다루기로 했다. 책의 내용을 이해해 오는 것은 기본 사항이며, 1) 이 과정에서 이해가 가지 않는 것들을 찾아보고, 2) 특히나 맘에 들었던 부분을 소개하고, 3) 책을 읽으면서 구현해본 예제 코드를 소개하는 식으로 토요일에 3-4시간을 진행한다.
3. 후기
시작은 별거 없었는데, 끝은 아주 거창했다고 볼 수 있다.
1.
언어 자체에 대한 인사이트를 얻을 수 있었다.
2.
단순히 자바에 국한되지 않고, 백엔드, 그리고 인프라 전반적인 세션들을 학습할 수 있었다.
3.
얻은 지식과 경험을 업무와 적용하여 이직에 성공했다.
4.
이펙티브 자바가 아니더라도 백엔드와 관련된 다른 주제를 바탕으로 스터디를 이어갈 수 있는 동료를 얻었다.
그래서 스터디 기간은 2023년 8월 12일 ~ 2024년 5월 5일로 대략 9개월 정도된다.
1.
자바 이외에 Armeria, AWS, Docker 없이 Container 격리 환경 구축해보기 등으로 각각 2~3 세션을 추가 진행
2.
각 챕터에서 어려운 부분은 기반 지식 습득을 위해 사전 세션을 수행
3.
Concurrency의 경우 책에서 소개하는 내용들이 빈약하여, 2달간 기반 지식을 학습
위와 같은 이유로 스터디 기간이 꽤 길었다.
그리고 스터디 진행하는 과정 중에 아래와 같은 소소한 성과가 있었음
1.
Notepad 어플리케이션을 이펙티브 자바에서 배운 것을 기반으로 녹여냄
2.
자바라는 언어가 주는 가치를 명확히 이해하고, 상황에 맞는 언어를 선택할 수 있는 기준을 설립
3.
우아한 형제들에서 진행하는 교육을 카카오 입사 교육 때 받으면서, 이펙티브 자바에서 배운 내용을 복습하고 더 나아가 TDD까지 내재화
앞으로도 스터디를 하게 된다면 지금 구성원들과 헤쳐나가보고 싶다는 생각을 많이 했다. 일단은 자바, 그리고 백엔드에 깊은 이해도를 바탕으로 더 어려운 문제들을 해결하려고 분투하는 성택님과 자신이 모르는 점을 과감히 드러내고 질문을 통해 자신의 공백을 메꾸려는 구성원들이 맘에 들었기 때문이다.
그래서 하반기 중으로 다음 스터디도 MQ를 주제로 진행해볼까 하고, 그 떄까지 업무 적응도 잘하고 여유로울 정도의 기술 지식도 많이 쌓아놔야겠다고 느끼고 있다.
스터디 마칠 때까지 다양한 해프닝들이 많았는데, 함께 동고동락하고 스터디 마무리까지 지치지 않고 달려준 모두에게 감사하다.
MQ + Python 화이팅하자!! ㅠㅠ