
추천코드 : 커넥터스2371
추운 겨울이었던 1월 초에 시작했던 멘토링이 여름이 되어서야 끝났습니다.
멘토링을 신청하게 된 계기와 진행하며 얻은 것들에 대해 이야기해볼까 합니다.
F-Lab 멘토링에 대한 정보를 짤막하게 공유하고 후기를 시작해볼까 합니다.
F-Lab은 상위 1% 개발자의 1:1 과외라는 슬로건을 걸고 있습니다.
제가 진행한 Java Backend 이외에도 다양한 멘토링 코스가 존재하며, 신청한 후 F-Lab 내부의 어떠한 기준을 통해 멘토님과의 매칭이 진행됩니다.
글을 적다보니 이것저것 말하고 싶은게 많아 주절주절 적게 되네요.
만약 멘토링에 대한 정보나 후기만 필요하신 분들은 다음 토픽부터 읽으시면 됩니다!
어쩌다보니 컴퓨터공학과에 진학했고, 코딩 경험이라곤 스크래치와 윤성우의 열혈 C 프로그래밍 책 한권 따라쳐본게 전부였던지라.. 걱정이 많았지만 다행히도 꽤 적성에 맞았습니다.
고민은 생각하지 못했던 부분에서 시작됐는데, 학교 수업이야 듣고 공부하면 되지만 front-end, back-end 혹은 android 등 많은 직무 중 어떤 길을 선택해야 할 지에 대한 고민이 대부분이었습니다.
군 복무를 하면서 대부분은 놀았지만 React 와 같이 진로에 대해 결정하기 위해 다양한 분야의 책을 읽으며 공부했습니다.
전역 후, 3학년으로 복학했을 때 수강했던 네트워크 보안 수업이 기억에 남습니다. 처음 보안이라는 분야에 대해 공부했고, 흥미가 있어 꽤나 열심히 공부했던 것 같아요.
대학원이라는 선택지도 있었지만, 실무라는 것에 대해 막연한 기대감이 있었기에, 사실 연구라는 것에 큰 의미를 갖지 못한채로 대학원이라는 도피성 선택을 하기 싫었던 게 더 컸기에 교내 현장실습으로 눈을 돌렸던 것 같습니다.
막론하고, 실무를 경험하기 위해 LINC 사업단에서 진행하는 현장실습을 지원했고 운이 좋게도 보안 스타트업에서 6개월간의 인턴을 진행했습니다.
더닝 크루거 효과라는 것이 있습니다. 능력이 부족한 사람은 자신의 능력을 과대평가하고, 능력이 뛰어난 사람은 자신의 능력을 과소평가하는 현상을 의미합니다. 아래의 그림으로 보면 조금 더 익숙할 것 같아요.

학부생 시절에도 어느정도 적성에 맞았다고 생각했고, 인턴을 하면서도 꽤나 업무 효율이 좋았다고 생각했습니다. 구현엔 자신있었기에 그만큼 빠르게 개발할 수 있었죠. 이 때가 위 그림에서의 우매함의 봉우리였던 것 같아요.
저는 엔진이라는 파트를 맡았습니다. SOAR라는 보안 관제 제품 내부에서 로그를 수집하거나 대응 자동화를 위한 모듈, batch-job 등 무언가 뒤에서 돌아가는 모듈과 프로그램 개발을 담당했습니다.
제품이 개발되는 과정이었기에 빠르게 구현할 수 있는 제 능력이 꽤나 효율이 좋았습니다. 처음엔 말이죠. 요구 사항이 빈번하게 변경되는 상황이었고, 코드 또한 요구 사항에 맞춰 변경되어야 했습니다. 물론 인턴이라 비교적 쉬운 일 위주로 맡았으며, 작성한지 얼마 되지 않은 코드였기에 수정 작업도 비교적 쉬웠습니다.
다만, 요구 사항이 조금이라도 변경될 때마다 갈아 엎어야되는 코드를 보며 의심이 싹텄습니다. 동시에 자신감의 하락도 시작되었죠.
물론 내리막에 몸을 맡기진 않았습니다. 추상화를 적용해 확장성 있는 설계 를 적용했고, 단일 모듈의 경우 진행되는 로직의 절차를 고려하여 가독성 높은 코드를 작성하려고 노력했습니다. 자신감의 하락 구간을 벗어나기 위해 이것저것 많이 했었죠.
아쉽게도 내리막은 생각보다 가팔랐고, 점점 미끄러지게 되었습니다. 코드에 대한 의심이 시작된 후 보안이라는 관심사에 대해 멀어지게 됐고, 이후론 단 하나의 관심만이 머리속에 존재했습니다.
어떻게 하면 좋은 코드를 작성할 수 있을까?
서론이 너무 길었네요. 멘토링을 시작한 이유를 한줄로 표현하자면 아래와 같습니다.
개발은 너무 즐겁지만 전문성 없이 실무에 뛰어들고 싶지 않았습니다.
회사에선 좋게 평가해주셨지만, 스스로 만족하지 못했기에 공부에 집중하는 시간을 가져보기로 마음먹었습니다.
요즘은 정말 많은 교육이 존재하는 것 같습니다. 광고 또한 제 관심사에 맞춰 제공되니 과할 정도로 많은 부트캠프, 교육에 대한 정보들이 들어왔어요.
대다수의 교육들은 취업 책임제라는 달콤한 보상을 제시했던 것 같아요. 다만, 제 목적은 단순히 취업이 아니었기에 그 당시엔 그닥 끌리는 제안이 아니었습니다.
전 생활코딩 페이스북 페이지를 즐겨봅니다. 여느때처럼 퇴근길에 커뮤니티를 보던 중, F-Lab 대표님이신 핏츠님의 글을 봤습니다.

자바 백엔드 기술 면접 대비하기 - 1편을 보고 난 후 하루종일 머리가 띵 했습니다. 그래도 학부생 때 나름 애정을 갖고 사용했던 Java 언어인데 질문의 절반 이상을 답변을 못하거나, 애매한 답변만 생각났으니까요.
이외에도 F-Lab 기술 블로그엔 다양한 토픽의 글이 올라와 있었습니다. 주니어 개발자가 신경써야 할 것들, 면접관 입장에서 본 좋은 개발자 등 양질의 포스팅이 많이 있었고, 이런 멘토링 플랫폼의 도움이라면 자신감의 하락 구간을 벗어나는 데에 큰 힘이 될 것 같았습니다.
첫 멘토링을 시작하기 2주 전 쯤, 멘토님과 사전 미팅이 있었습니다. 첫 미팅이라 긴장도 되고, 어색한 분위기일 줄 알았지만 다행히도(?) 멘토님이 잘 리드해 주셨습니다.
첫 미팅을 돌이켜보니, 굉장히 인상적인 질문을 하나 받았었습니다.
좋은 글을 쓰기 위해선 어떻게 해야 할까요?
답이 정해진 질문이 아니기에 사람마다 다른 답을 할 수 있겠습니다만, 전 좋은 글을 많이 읽는 것이라고 생각했습니다.
좋은 코드를 작성하기 위해선 어떻게 해야 할까요?
사전 미팅 시작 10분만에 어떻게 하면 좋은 코드를 작성할 수 있을까? 라는 고민에 대한 실마리를 찾은 기분이었어요.

좋은 글을 쓰기 위해선 좋은 글을 많이 읽는 것이 중요하다면, 좋은 코드를 작성하기 위해선 좋은 코드를 많이 읽는 것이라고 생각했습니다.
이외에도 전 멘토님과의 성향이 굉장히 잘 맞았던 것 같습니다. 물론 멘토님이 맞춰주셔서 그랬겠지만..! 잘 맞는 멘토님을 매칭해준 F-Lab의 매칭 시스템에 고마움을 느끼고 있습니다.
이전부터 커리큘럼이 정해진 교육에 막연한 거부감이 있었습니다. 커리큘럼이 정해져있으면 책, 강의보고 혼자서도 할 수 있지 않을까? 라는 생각이 있어 그랬던 것 같습니다.
F-Lab의 교육은 어느정도의 틀은 존재했지만 정해진 커리큘럼은 없었습니다. 이 또한 멘토님의 수업 방식에 따라 상이하며, 수업의 난이도가 안맞거나 방식이 마음에 들지 않는다면 얼마든지 요청을 통해 바꿀 수 있는 것으로 알고 있어요.
멘토링을 시작한지 4주 쯤 지났을 때, 절망의 계곡에 빠졌었습니다. F-Lab은 경력 이직을 준비하는 분들이 많은 비중을 차지한다고 느꼈어요. 비교는 좋지 않지만, 너무 뒤쳐지는 것 같다 라던지 이렇게 공부하는 게 맞나? 라는 걱정들이 많이 들었습니다.
엎친데 덮친 격으로, 건강 문제가 기다렸다는듯이 터져나왔습니다. 눈병에 걸려 일상생활이 힘들 정도로 시력이 떨어졌고, 원인 모를 전신 두드러기에 야외 활동도 힘들어졌거든요. 이때는 정말 절망의 계곡이 지하 3층까지 있었구나라는 생각이 들 정도로 힘들었습니다.
정신적, 그리고 신체적으로 몰린 상황에서 더 이상 붙잡고 있긴 힘들다고 판단했습니다. 다행히도, F-Lab의 멘토링은 1대1로 진행되기에 커리큘럼이 정해진 수업과는 다르게 자유롭게 일정을 관리할 수 있었고, 4주간의 휴식을 가질 수 있었습니다.
약 한달동안 모니터를 보지 않고 살았더니, 그동안 공부했던 게 기억이 잘 안나는 대참사가 일어났습니다. 때문에 프로젝트 진행이 힘들다고 판단, 3주간 기술 면접, 라이브 코딩 테스트 등을 진행에 대해 요청드렸고, 멘토님은 흔쾌히 받아주셨습니다.
예전부터 전 질문에 대해 함께 고민하고, 관심사에 대해 공유하는 것을 즐겼습니다. 이러한 성향 때문일까요? 멘토님과 함께 진행했던 모의 기술 면접, 라이브 코딩 테스트는 정말이지 너무 재밌었습니다. 진행 후 부족한 부분에 대한 피드백, 진행할 때 팁들에 대해서도 얻어갈 수 있었어요.
F-Lab의 1대 1 교육이기에 가능했던 경험인 것 같아요.
가장 기대했던 경험이었습니다. 그동안 코드 리뷰에 목말라 있었던데다 IBM, AWS 경력의 시니어 개발자가 내 코드를 리뷰해준다니, 정말 꿈만 같았어요.
이 부분에 대해선 더 할말이 없을 정도로 좋은 경험이었습니다.
멘토링 시작 전엔 구현 위주의 고민들을 했던 것 같아요. OAuth는 어떻게 적용하지? 혹은 ○○기능을 어떻게 구현할까? 등 어떻게에 초점이 맞춰져 있었습니다.
멘토링을 진행하며, 언제부터인가 생각하는 방식이 바뀌었던 것 같아요. 같은 기능을 구현해도 JWT를 읽어 로그인 정보를 받아오는 메소드를 서비스 클래스에서 사용하는 게 맞을까? 와 같이, 이전보다 더 구체적이고 깊이 있는 고민을 할 수 있게 된 것 같습니다.

제가 느낀 멘토님을 한 단어로 표현하자면 유연한 사람이라고 생각해요. 한줄의 코드를 적을때도 고민하고 생각해서 적어야 한다. 라고 말씀해주셨는데, 이러한 멘토님의 개발 원칙은 코드 리뷰시에도 적용됐었습니다.
트랜잭션은 재사용할 수 없다구요! 포스팅에선 트랜잭션 처리 전략을 변경하여 비즈니스 문제를 해결한 과정이 있습니다.

이 문제에 대해서 멘토님은 일관성 있는 트랜잭션 처리, 즉 2번의 별도의 메소드를 구현하는 방법이 더 좋을 것 같다 라는 의견을 남겨주셨지만, 멘토님의 생각을 강요하진 않으셨어요.
많이 고민하고 작성하셨잖아요?
물론 저 또한 관련 주제에 대해 얘기를 나눈 후엔 2번 방법이 더 좋다고 생각했지만, 멘토님의 말은 항상 듣는 사람을 배려한다는 느낌이 강하게 들었습니다.
학부생 시절, 프로젝트 리딩에 실패한 경험이 있습니다. 소통을 위한 이런저런 노력을 많이했음에도 커뮤니케이션이 잘 되지 않는다는 느낌을 받았었죠. 첫 회고땐 그저 팀원들의 문제라고 생각하며 탓하기 바빴고, 두번째 회고땐 내 실력이 모자라 리딩에 실패했다고 생각했습니다. 멘토님의 커뮤니케이션 방식을 경험하고서야 배려가 부족한 소통을 하고 있진 않았나 라는 생각이 들었죠.
함께 일하고 싶은 사람 - 1. 업무 습관 포스팅엔 독성 말투가 없는 이라는 파트가 있습니다.
독성 말투는 은연중에 조직에 해를 주게 됩니다. 말 하나에 팀워크가 깨지고, 팀 전체의 사기를 저하시키기도 합니다. ‘말’에 대한 속담이 많은 이유가 있는 것 같습니다.
멘토링과 실패에 대한 세번의 회고를 통해 커뮤니케이션, 소프트 스킬에 대한 중요성을 몸소 깨달을 수 있었던 굉장히 귀중한 경험이었어요.
F-Lab은 슬랙 채널, ZEP 온라인 모각코와 같은 커뮤니티들을 운영하고 있어요. 커뮤니티에선 종종 온라인 컨퍼런스도 진행되며, 대표 멘토님의 이력서 세미나도 종종 열립니다.
모르는 걸 물어보고, 힘들 때 고민을 털어놓을 선배 개발자들이 존재한다는 것, 다양한 경험을 할 수 있다는 것이 공부할 때 큰 도움이 되었습니다.
금액이 꽤나 부담스러웠습니다. 취준생 입장이다보니 더 부담스러웠던 것 같아요.
멘토링 자체는 상당히 만족스러웠기에 다른 단점은 못느꼈습니다.
F-Lab의 멘토링은 혼자서 공부할 수 있는 방법을 알려준다고 생각합니다.
두발 자전거를 처음 탄다고 생각해볼까요.
A라는 친구는 직접 운전하지 않고, 보호자가 운행하는 2인용 자전거 뒤에 타고 달려나갑니다.
B라는 친구는 1인용 자전거를 탑니다. 대신, 보호자가 뒤에서 잡아줍니다.
시작한 지 얼마 지나지 않았을 땐, A 친구가 빠르게 앞서 나갈 수 있겠죠. 운전자가 없어진다면 어떻게 될까요? A는 그제서야 혼자 자전거 타는 방법을 배워야 합니다.
그렇다면 B는 어떨까요? 처음엔 자전거를 잘 타지 못합니다. 뒤에서 잡아줘도 넘어질테고, 달리지 못하기에 재미도 없고, 뒤쳐지기에 조마조마 하겠죠.
하지만, 보호자가 없어졌을 땐 A와는 반대의 상황이 펼쳐집니다. 혼자 타는 법을 알려줬기에, B는 혼자서도 목적지를 향해 나아갈 수 있습니다. 물론 비틀거리겠지만요!
장점 2번의 자유로운 커리큘럼 파트에서도 말했듯이, 저는 길이 정해진 교육에 거부감이 있습니다.
물론 멘토링 초반엔 힘들었습니다. 이게 맞는지도 모르겠고, 여러 기술들을 적용하는 다른 프로젝트들을 볼때면 뒤쳐지는 느낌도 많이 받았었죠.
힘들게 먹은 과육이 더 달콤하다고 하던가요. 단순 구현만 고민하던 과거와는 달리 보다 깊이있는, 왜? 라는 고민을 하게 된 제 자신을 볼때마다 기분이 굉장히 좋습니다.😄
이제 막 깨달음의 오르막을 오르기 시작했다고 생각합니다. 분명 많이 공부했고, 아는 것도 많아졌는데 모르는 건 더 많아진 기분이 종종 드네요.
가끔 이런 생각을 하곤 합니다.
지금 상태에서 멘토링을 시작했다면 더 많이 배워갈 수 있을텐데!
물론 F-Lab의 멘토링은 월 단위로 연장이 가능합니다만, 언제까지고 보호자가 자전거를 잡아줄 순 없다고도 생각이 듭니다.
언제까지고 보호받을 순 없으니까요!
그 동안 배웠던 것들을 되새기며 홀로 서기에 도전해야겠습니다.
깨달음의 오르막을 지나 지속 가능성의 고원에 도달하기까지..!
초반에 이미 언급했지만, 많은 분들이 관심을 가져주신 덕분에 후기 글이 구글 검색 상위에 노출되었네요. 글 쓰는건 좋아했지만 이런적은 처음이라 뻘쭘하기도 하고,,,,,
제 글을 보시고 멘토링에 관심이 생겼다! 하시는 분들은 아래 추천 코드를 입력해주시면 25년 이내에 신청 시 20만원, 26년엔 10만원 할인이 적용된다고 해요!
추천코드 : 커넥터스2371
모두 행복한 개발 하시길 바래요~!
당황스러울정도로 글을 잘 쓰시네요...당신 혁콩 아니지..