개발자로써의 인생을 처음 시작했던 스타트업에서 이직을 결심하고 약 1년동안 이직을 준비하면서 가장 힘들었던 것을 뽑는다면 피드백
이 없다는 것이었습니다.
면접을 여러 번 경험해 보신분들은 알겠지만 면접을 보면서 볼 수록 궁금한 것이 내가 왜 붙은거지?
내가 왜 떨어진 거지?
라는 의문이라고 생각합니다.
경력 기술서나 포토폴리오와 같은 이력서도 중요하지만 처음에 고생하여 틀만 잘 갖춰지면 서류를 합격하는 것에 대해서는 큰 어려움은 없을 것이라고 생각합니다.(2021년을 기준으로 개발자 품귀 현상으로 인한 이유도 있다고 생각합니다.)
하지만 아무리 서류가 합격하더라도(코딩 테스트가 합격하더라도) 결국 면접에서 합격하지 못하면 좌절을 맞이할 수 밖에 없었습니다. 또한 그러한 좌절은 영문도 모른채 몇 일간 머리 속에서 떠나질 못했습니다.
결론부터 말씀드리면, F-lab 은 이러한 피드백의 갈증을 해소시켜주는 결정적인 매개체였습니다.
(https://intro.f-lab.kr/?utm_source=graduate&utm_medium=blog&utm_campaign=event&utm_content=03)
위와 같은 문제를 해결하기 위해서 이직을 결심한 후 약 1년동안 수 많은 방법들을 찾았었습니다.
어떻게 하면 면접에 대한 피드백을 받을 수 있을까 고민을 하던 중 스터디도 참여해보고, 주변 개발 선배에게 도움도 요청해보고, 많은 온라인 강의도 들었지만 결국 한계
가 존재했습니다.
물론 어떤 스터디냐와 마음가짐에 따라 다르겠지만 대부분의 스터디는 초반과 기본지식
을 습득하는 것에 대해서는 많은 도움이 됩니다.
하지만, 스터디는 언제든 대부분 취업 준비생 분들이거나 면접을 준비하시는 분들이기 때문에 저와 같은 경력 개발자한테는 결국 한계가 존재했습니다.
경력 개발자에게는 본인이 작성한 경력 기술서에 대해서 얼마나 기본 지식을 가지고 자연스럽게 스토리텔링이 가능한지지만 스터디는 그런 부분에 대해서 충족시켜주지 못했습니다.
정말 다양한 면접 관련된 온라인 강의도 수강해봤지만 당연하게도 저에게 맞춰진 것은 존재하지 않았습니다.
많은 고민을 하던 중 당시 F-lab
광고를 보게됐습니다. 적지 않은 금액이었지만 간절하게 찾던 멘토링 교육이었습니다.
가장 매혹적이었던 것은 대용량 트래픽 경험을 해볼 수 있다는 내용이었습니다.(지금 생각해보면 대용량 트래픽에 대한 경험은 가산점일 뿐이지 필수는 아니라고 생각합니다.)
당시에 스타트업 재직 중이었기 때문에 대용량 트래픽에 대한 경험이 정말 간절했으며 면접을 경험해 보신분들은 알겠지만 대용량 트래픽에 대한 경험의 질문이 나오면 머리가 멍해지곤 했었기 때문에 이러한 것을 극복해보고자 하는 마음으로 바로 신청하게 되었습니다.
멘토를 신청하고 가장 좋았던 것은 당시 멘토님께서 교육 시작전에 1:1로 기술적인 대화를 통해 멘티(수강자)의 기술적인 지식에 대한 수준을 파악하는 것이었습니다.
지금은 잘 모르겠지만 교육 당시에는 F-lab
은 팀원과 함께 프로젝트와 과제를 진행하면서 매주 1회마다 면접 형태로 질문을 주고받는 형식의 교육이었습니다.
따라서, 어떤 팀원과 맺어지냐에 따라 만족도가 엄청나게 차이날 수 있었을 텐데 그러한 부분을 사전에 면접 형태로 진행하여 파악 후 매칭되어 진행함에 따라 오로지 나를 위한
교육을 들을 수 있었습니다.
멘토가 시작되고 첫 화상 교육을 시작했을 때 가장 큰 충격을 받았던 것으로 기억합니다.
당시 나름 백엔드 개발자 2년차였고 이직을 준비하면서 스터디도 진행하기도 했었고 토비의 스프링이나 자바나 디자인 패턴 책을 몇 권 읽은 상태여서 나름 개발 지식에 자신감(?)을 가지고 있었습니다.
교육 과정 중 하나가 책을 읽어야 하는 것이 있었는데 초기에는 자바 관련된 도서와 스프링 관련된 도서를 독서를 시키셔서, 이미 알고 있던 내용들이라고 생각했기 때문에 시간이 낭비되지 않을까란 고민을 많이했었습니다.
또한 다음 책으로 넘어가기 위해서는 먼저 제시된 책을 다 읽어야 다음 책으로 넘어갈 수 있었기 때문에 돈이 아까워서(?)라도 속는셈치고 복습한다 생각하고 읽었습니다.
책을 읽고난 후 매주 1회 씩 읽은 책에 대한 내용을 질문하는 시간에서 한번 읽었던 내용이였기 때문에 자신있게 대답할 수 있을 줄 알았지만 멘토님과 몇 번의 질문과 답변을 주고받으면서 내가 이렇게까지 프레임워크(Spring)에 대한 지식과 언어(Java)에 대한 지식이 없었나?
라는 생각이 들 정도로 정확하게 답변하는 것이 없었습니다.
면접을 경험하다보면
경력에 대한 질문 → 해당 경력에 사용한 기술에 대한 질문 → 기술의 장 단점과 사용한 이유 → 기술의 동작 원리
결국 위와 같은 꼬리 질문 형태로 이어지게 되는데 처음에는 잘 대답하다가 결국 마지막에 흐트러지는 경우가 많았습니다.
멘토님과의 대화에서도 똑같은 흐름이었으며 실제 면접과 마찬가지로 기술의 장 단점과 동작 원리를 답변하는 과정에서 완벽하게 답변할 수 있는 것이 거의 없었으며 이러한 질문과 답변 과정을 통해 내가 어떤 것을 모르는지
를 알게해주는 경험을 할 수 있었습니다.
또한, 멘토님이 항상 강조하던 것인 해당 기술과 프레임워크를 사용할 때 가장 중요한 것이 무엇인지
와 기술을 쇼핑할 줄 아는 법
과 내가 왜 이 기술을 사용해야되는지 더 나아가 대안은 없는지를 항상 의문을 가지고 있어야 하고 때와 상황에 맞는 기술을 적용할 줄 아는 개발자가 되어야 한다는 것을 배울 수 있었습니다.
결국 이러한 것들이 많은 면접들을 합격할 수 있는 계기가 되었으며 면접을 나만의 흐름으로 만들어갈 수 있는 방법
을 배울 수 있었습니다.
면접 유형의 교육을 통한 피드백을 받은 후에는 면접에 대한 공포심이 없어지게 되었고 자연스럽게 대화하듯이 면접을 볼 수 있었고, 이러한 노력 끝에 대기업 계열사에 최종 면접을 합격하는 결과를 얻을 수 있었습니다.
개발자에게는 문제 해결 능력도 중요하지만 그만큼 중요한 것이 소프트 스킬이라고 생각합니다.
많은 팀원과 협업을 하면서 많은 코드 리뷰를 주고 받고 대화를 하는 경험을 하게 되는데, 그 때마다 적어도 내가 사용한 기술에 대해서 상대방을 설득할 수 없다면 그 기술을 사용해서는 안된다고 생각합니다.
또한, 개발자는 감성적인 부분보다 이성적이고 기술에 대해서 논리적으로 접근할 줄 알아야하며 객관적인 지표로 장점과 단점을 파악하여 이해하고 설득해 나가야 한다고 생각합니다.
F-lab을 수강하면서 실제 업무하는 것처럼 팀원들과 협업해 프로젝트를 완성해 나가고, 개발한 내용에 대해서 끊임없이 멘토님과 멘티들분들과 함께 서로 피드백을 주고 받으면서 함께 성장해 나가는 경험을 할 수 있었습니다. 이처럼 소프트 스킬뿐만 아니라 과제를 수행하면서 다양한 문제해결 능력과 트래픽을 감당하기 위한 설계를 배울 수 있었고 정말 끊임없이 성장하며 잘하는 개발자
가 되기 위해서는 어떻게 해야할지를 배울 수 있었으며 무엇으로도 바꿀 수 없는 소중한 경험을 할 수 있었습니다.
[교육과정 내 멘토님과 주고 받은 PR]
'그 외' 카테고리의 다른 글
[Travis CI] yml 및 secret 파일 암호화하는 방법 (1) | 2020.10.11 |
---|---|
2019년 회고 (0) | 2020.01.22 |
[HTTP] CORS(Cross-Origin Resource Sharing) 이란 (0) | 2020.01.14 |
[IntelliJ] IntelliJ 에서 Invalidate Cashe 했을 때 발생한 빌드문제 해결 (1) | 2019.10.28 |
[IntelliJ] Intellij Test Code 실행 시 Gradle 로 실행되는 문제 (0) | 2019.08.17 |