Search
Duplicate

2022년 1분기 회고록

상당히 오랜만에 작성하는 회고록이다. 그만큼 많은 일들이 있었고, 다시 정상궤도에 올라서 간단하게나마 회고록을 작성해본다.

1. ATDD 리뷰어 활동

12월부터 이직준비생(혹은 백수라 부른다)의 직위를 얻게 되며, 모아놓은 돈만 까먹는 신세였던 내게 감사하게도 넥스트스텝 측에서 인수테스트에 대한 미션기반 학습과정인 ATDD 과정 리뷰어 자리를 제안해주셨다. 기존 TDD 리뷰어 활동뿐 아니라 해당 과정도 리뷰어를 하게 되면 상당히 숨통이 트일 것으로 보아 기쁜 마음으로 흔쾌히 응했다.
1월 부터 2월까지 약 한달간 진행되는 리뷰어 과정은 이전 내가 수강생 시절 학습하고 가물가물했던 기억도 리마인드할 수 있고 수입도 적지 않았던 여러모로 유익했던 과정이였다.
그리고 단순히 수강생이라고 리뷰어에게 배운다기보다는 서로 부족한 점을 채워주고 내가 놓치고 있던 부분들을 상호 피드백으로 채워가면서 같이 성장한다는 느낌은 내게 상당한 긍정적 인사이트를 주었던 것 같다. 이런 활동들이 이직준비 기간 내 자존감을 유지할 수 있게 해준게 아니였을까?
22년 하반기에는 한 번 더 과정을 할 예정이라고 하니 이번에는 미리 복습을 더 해서 좋은 피드백을 줄 수 있도록 노력해야 할 것 같다.

2. 이펙티브 자바 스터디 완료

대략 3달이 넘는 기간동안 진행한 이펙티브 자바 스터디가 드디어 끝났다.
아이템 1번부터 90번까지 모든 아이템을 빠지지 않고 포스팅을 했고, 이해의 정도는 각각 다르지만, 나름 나쁘지 않게 학습을 진행했고 이는 내가 모두 외우거나 체득한건 아닐지라도 코드리뷰 과정에서 내가 작성한 포스팅을 베이스로 좀 더 양질의 코드를 생산할 수 있도록 도와주는 계기가 된 것 같다. 무엇보다 내가 하는 주장이나 말에 대한 근거가 생기니 좀 더 자신있게 피드백을 줄 수 있게 되었다는 것이다.
물론, 스터디 후반 아이템이 70~80번대가 되는 시점에서는 와이프와 제주도, 남해로 여행을 다니면서 포스팅을 할 시간이 부족했고, 이직한 회사에 적응하느라 포스팅 할 시간이 부족했기에 마무리를 하기 힘들 뻔 했지만, 그래도 그럭저럭 모두 극복하고 완료한 것 같다.
Search
1. 객체 생성과 파괴
이펙티브 자바3E
1. 객체 생성과 파괴
이펙티브 자바3E

3. 이직 성공기

결론부터 말하면 12월, 1월, 2월 약 3달이 걸려서 이직에 성공했다.
3달이나 걸렸다고도, 3달 밖에 안걸렸다고도 생각할 수 있는데, 나로썬 정말 금방 잘 이직에 성공한 것 같다는 생각이다.
12월에는 밀린 공부 + 송년회 + 좀 쉬고싶다 라는 트리플 콤보로 인해 퇴직금 까먹는 식충이의 삶을 살았던 것 같다. 삼시 세끼를 다 배달의 민족이되어 귀하신분이 되다보니 식비만 한달에 100이 넘게 깨지는 기염을 토한 것 같다.
1월에는 슬슬 조급함이 생기긴하지만, 아직도 아는게 너무 없다는 생각과 주변 지인들의 이직경험 및 기술면접 공유를 해줘서 본 결과 내가 제대로 답변할 수 있는게 너무나도 부족했다. 그래서 당장 이력서를 쓸 자신이 안생겼다. 그래서 내가 준비했던 과정을 정리해보면 다음과 같다.

코딩 테스트 준비

1.
패스트캠퍼스 - 자바 코테준비 강의 수강
다! 듣지는 못했다. 이직성공후 보류가 되 버림.. 다 들어야하는데.....
2.
책 - 누구나 자료구조와 알고리즘 정독

Spring

이전에 들었던 인프런의 스프링 로드맵 중 김영한님의 스프링 로드맵을 2회차로 스터디에 가입해서 요약정리 발표 스터디 진행
Search

Java

자바의 정석 다시 정독
지인들이 받은 자바관련 CS 질문들에 대해서 하나씩 포스팅

네트워크

1.
인프라공방 복습
2.
책 - IT 엔지니어를 위한네트워크 입문 학습 및 포스팅
그 밖에 이런저런 CS준비나 면접 준비를 진행을 했던것 같다.
하지만, 불안감은 줄어들지를 않았고 주변 지인들의 기대감은 낮지 않다보니, 이력서를 더 넣지를 못하고 있었던 것 같다. 자기객관화를 해 보면 이 당시의 나는 이력서를 쓰지 않은 상태의 나는 아는것도 많고 좋은 곳 얼마든지 갈 수 있는 잘하고 노력하는 개발자 라는 인식이였기에, 이력서를 써서 떨어진 다음 그렇지 못한 나 자신을 직면하는것이 두려웠던 것 같다.
그렇게 시간은 흐르고 통장 잔고는 줄어들다 보니 어느새 절반도 남지 않은 잔고를 보고는 경각심이 들었다. 올 초에는 와이프도 장성에서 올라와 같이 살기로 하면서, 더 다급해진감도 있었다.
그러던 와중 이전 TDD 교육 과정 수강시 알게 됐던 지인과의 식사 약속으로 사당에서 만남을 가지게 되었는데, 이전에도 넌지시 제안을 받기는 했지만, 이번에는 좀 더 강하게 제안을 받게 되었고 고민해보겠다는 말과 함께 복귀.
뭐에 홀린듯 그때부터 이력서를 쓰기 시작했던 것 같다. 프로그래머스나 사람인에 예전에 작성했던 간단한 이력서를 쓸수는 없기에 아예 다시 작성하고, 평소에 눈여겨 봤던 회사 한 곳(소다크루)과 제안받은 회사(마이다스) 두 곳에 지원을 하게 되었다.
그런데 다음날 지인분의 얘기를 들어보니 추천채용이라고 하더라도 서탈하는 경우가 많다고 한다. 실제로 나 말고 다른 분은 서탈을 했다고 한다...(나중 이야기지만 나 이후의 지원자들도 모두 서탈을 해버린...)
불안감이 커져간다... 심지어 지원했던 다른 한 곳도 연락이 오질 않는다... 이번 생은 조진것인가.. 나는 SI의 인재였던 것인가... 하면서 좌절하던 찰나 !!
서류탈락만큼은!!!!
으아니?!
서류합격이라는 안내와 함께 그 다음 AI면접 일정 과 기술면접 일정을 받게 되었다!!
그렇게 생전 해본적 없는 AI면접 준비와 기술면접 준비를 시작하게 되는데... 동시에 다른 지원 회사에서도 서류 합격 안내와 기술면접 일정이 나오게 되었다.
그 때부터, 유튜브에서 AI면접, 기술면접 임원면접 등 열심히 검색해서 시청도 하고 좋아요도 눌러주고 구독도 하면서 정신없이 준비를 했던 것 같다.
그 이후 각 회사의 면접 경험은 다음과 같았던 것 같다.

마이다스 - (최종 합격)

: 추천 채용이지만, 추천해준다고 합격확률이 드라마틱하게 올라가고 했던것 아니였던 것 같다.
AI 면접
: 허겁지겁 웹캠도 사서 봤던 면접으로 컴퓨터를 보면서 하려다 보니 캠을 봐야할지 모니터를 봐야할지 시선처리가 힘들었고, 말도 많이 헤맸던 것 같다. 게임은 그럭저럭 평범하게 봤던 것 같은데, 연습 게임에서 연습을 충분히 해서 다행히 크게 과락을 하진 않은 것 같다는 느낌. 유튜브에서 AI면접 관련 안내들을 많이 하는데, 다 보고 참고하고 솔직하게 말하고 당황하지 않는게 중요한 것 같다.
기술면접
: 3:1 기술면접이였는데, 10분 일찍 입장했다가 얘기중이니까 나갔다가 10분뒤에 입장하라고해서 뻘쭘하게 나갔다가 10분뒤 재입장. 약 60분에서 90분간 진행되었던 것 같은데, 질문은 스프링의 라이프사이클이나 원리, 자바의 기본기등을 물어봤었다. 대답을 생각보다 잘 한 부분도 있고, 엉망으로 한 부분도 있었는데, 엉망인 부분들 때문에 떨어졌을꺼라 생각했는데, 다행히도 합격.
가장 민망했던건 예외에 관련해 설명하는건데, 너무 긴장을해서 검사예외와 비검사예외를 반대로 설명하고 이마저도 정신나가서 얼탔던 것과 메세지큐 개념을 전혀 몰라서 대답 못했던게 민망했다.
그리고, 질문에 대한 답을 하면서 면접의 흐름을 내가 원하는대로 만들어야하는데, 그러지 못하고 잘 모르는 키워드를 막 던지다가 그에 대한 꼬리물기 질문에서 많이 당황했던 것 같다.
임원면접
: 역시나 3:1로 진행되었는데, 입장 전까지만해도 전혀 안떨고 있는 것이라 생각했는데, 입장 후 그룹장님이 물을 한잔 마시라고 하여 물병을 드는순간 내가 손을 사시나무 떨듯이 떠는것을 보고 나 지금 엄청 긴장했구나 체감... 질문들은 유튜브같은데서 나오는 임원면접들의 질문들이 많았고 TDD에 관련된 내용들도 많았다. 거짓말을 한 부분들은 없었기에 솔직히 답변했고, 전 직장에 대한 얘기는 최대한 긍정적으로 전달했던 것 같다. 내가 계속되는 학습과 공유를 좋아한다는 점을 어필했고, 단점인 걱정과 낮은 자존감을 채우기 위한 노력들도 같이 어필을 했던 것 같다.
그런데, 귀가 원래 좋은 편은 아니라서 질문하는 내용들을 꽤 많이 놓쳐서 중간중간 너무 힘들었던 것 같다.

소다크루 - (최종 합격)

기술면접
: 3:1로 진행되었는데, 상당히 편안한 분위기에서 진행되었고, B2B가 아니라 B2C인 만큼 트래픽이나 동시성 프로그래밍에 대한 질문들이 많았는데, 내 이전회사가 B2B를 위주로 하다보니 이에 대한 경험이 없어서 제대로된 대답을 잘 못했던 것 같다. 그래도 테스트나 자바의 SOLID의 개념등 아는 범위의 대해서는 열심히 얘기했던 것 같다. 마이다스에서의 기술면접 경험이 상당히 빡빡하고 길게 되어서 면접이 끝나고 진이 빠졌던 것과는 다르게 끝나고도 상당히 좋았던 기억이였다. 그래도 합격하지는 못하지 않을까? 생각했는데 당일 합격 안내를 받았다.
임원면접
: 약 5:1로 진행되었는데, 기술이사님같은 경우 미국에서 근무하면서 참가하는 것이라 신기했고, 이 면접 역시 상당히 편한 분위기였던 것 같다. 이전 회사에서 인상깊었던 기억에서는 사실 할 말이 너무 많았기에 고르는데 힘들었는데, 그래도 가장 최근이였던 화상채팅 애플리케이션의 개발부터 배포까지 있었던 이슈나 이슈해결, 그리고 이를 통해 느꼈던 인사이트를 얘기했었다.
그 외에는 왜 네카라쿠배에 지원을 안하냐고 물었을 때는 엄청 당황을 했었는데, 사실 정말 큰 이유는 없었고, 그냥 코테보는게 싫었고, 마음에 드는 옷은 이유가 없는 것처럼 소다크루에서 제공하는 소다기프트라는 앱과 앱 아이콘이 마음에 들었고, 현직자 인터뷰를 보면서 직원들의 마인드가 나랑 비슷해서 함께하고 싶었다. 그 와중에 전 직장에서 함께했던 동료분 한 분이 이 회사를 지원했다가 떨어졌다고해서 당황하고, 나까지 떨어지면 개쪽인데 생각을 했었는데, 임원 면접도 당일 합격 안내를 받아서 당황했던 것 같다.

이직 최종 결정은?

솔직히 연봉은 비슷했다. 아니 오히려 소다크루측에서 더 줄 수 있다는 제시를 했으니 소다크루가 연봉 측면에서는 더 나았었다. 그리고 100%재택으로 굳이 인서울 경기권에서 억대의 집을 무리해서구할 필요없이 지금 살고 있는 쪽이나 더 아래로 내려가서 저렴하게 좋은집에서 살 수도 있었다.
하지만, 그럼에도 불구하고 마이다스측을 선택했던 이유는 규모에서 오는 체계였다. 이전 회사도 10명 이내의 작은 소기업이었기에 제대로된 체계가 없었기에 큰 회사의 체계를 경험해보고 싶었다. 그리고 채용플랫폼이라는 도메인이 지금까지 제대로 이력서도 안써보고 취업시장에서 활동해보지 않은 내게 좋은 접근이 될 수 있겠다는 생각이 들었다. 그리고 추천서를 써준 지인분 눈치가 어느정도 보였던것도 사실이다. 그렇게 해서 결정을 하게 되었고, 이제 다시 회사의 노예가 되었다

4. Swagger + RestDocs의 우아한 조합 , TDDBE

입사 후, 바로 프로젝트에 투입될 수는 없기에 코드 분석위주로 작업을 하되 백엔드 리더분이 내가 TDD 리뷰어활동을 했던것을 알고는 프로젝트의 테스트 환경을 구축해보면 어떻겠냐는 제안을 해줘서 시작하게 되었다. 그러던 와중 Swagger만 적용되있던 부분도 개선해보고싶어서 알아보다 알게 된 Swagger + RestDocs 조합까지 제안해서 같이 진행하게 되었다.

Swagger + RestDocs

Swagger로도 충분히 프로젝트의 API를 예쁜 GUI로 제공하고 테스트까지 직접 해볼 수 있게 제공한다. 하지만, Swagger는 프로덕션 코드에 애노테이션을 남발해서 가독성을 떨어트리고, 해당 기능들이 제대로 돌아가는지 안전한지의 여부와 상관없이 만들어져 제공된다.
반면, RestDocs는 테스트가 통과한 경우에만 문서를 만드는데, 이를 합하여 보여주기 위해서는 Asciidoctor라는 플러그인을 이용하여 문서를 작성 및 제공해야한다. 그렇기에 해당 문법에 익숙해져야하고 이를 또 작성하는 불편함도 있고, 무엇보다 해당 페이지에서 API 테스트를 수행해볼 수도 없다.
이런 두 문서화 라이브러리를 합쳐서 GUI 환경에서 테스트가 통과된 문서를 import하여 테스트를 통과한 안전한 API를 확인하고 실행까지 해 볼 수 있게 해주는 것이다! 이는 다음 포스팅에 정리해놨다.

TDDBE

Test-Driven Development: By Example 이라는 켄트벡 옹의 책으로,
내가 테스트 환경을 구축하더라도, 팀원분들은 테스트를 제대로 진행할 지식들이 완전하지는 않을꺼라고 생각했다.(프로젝트내에 테스트관련 내용이 거의 전무했었다.) 그래서 무작정 테스트 좋으니까 해보세요! 보다는 좀 더 TDD를 친근하게 진입장벽을 낮추기 위해 TDDBE 책을 참고하여 포스팅을 시작했는데, 나 역시 리뷰어까지 활동하면서도 해당 책은 정독한 적이 없었고, 반성하며 열심히 읽었던 것 같다. 뜬구름 잡는 소리가 많다고 생각하고, 내가 이해를 잘 못해서 힘들었기에 나도 배우는 시간으로 지금도 진행중이지만, 꽤나 즐거운 시간이다.

5. 정리, 그리고 앞으로 할 것들

22년도 1분기는 상당히 많은 일들이 있었다. 와이프가 지방에서 2년만에 올라와서 드디어 같이 살게 되고 결혼날짜까지 잡은것도 있고, 이직도 했고, 리뷰어 활동도 또 시작하게 되었다. 모두 부정적이지 않고 긍정적인 방향의 사건들이라 정신없지만, 기분 좋게 받아들일 수 있는 것 같다.
일단 현재는 TDD 리뷰어를 진행하면서, 회사에서 주어지는 스프린트 개발을 열심히 해내는게 중요할 것 같다. 그리고 시간이 된다면, 그동안 못 봤던 책들, 강의들을 봐야겠다.
코틀린도 해보고 싶어 코틀린 인 액션 책도 샀고, aws책도 봐야하고, TDD관련 책들도 다시 봐서 포스팅도 해야하고 부족한 데이터베이스 지식을 위해 RealMySQL책도 빨리 다시 봐야한다.
심지어 PS5도 사서 게임도 해야하는데, 시간이 부족한 것 같다 회고록을 써야지 써야지 하면서도 끝끝내 안쓰다가 거의 5달이 되서야 작성을 하게 되었는데, 앞으로는 좀 더 자주 쓸 수 있도록 해야겠다.