비전공자 영어 강사, 1,000억 투자받은 핀테크 회사 개발자 되다.
F-Lab : 상위 1% 개발자들의 멘토링
📌 비전공자 영어강사, 1,000억 투자받은 핀테크 회사 개발자 취업 여정
인터뷰를 진행하며 "하면 된다"라는 말이 절로 떠올랐는데요.
명수님은 비전공자로 백지상태에서 공부를 시작해 현재는 렌딧에서 커리어를 쌓고 있습니다.
비전공자들이 느꼈던 막막함과 그것을 타파하기 위한 노력 과정을 담아봤습니다! 💪🏻
안녕하세요. 렌딧에서 백엔드 개발자로 일하고 있는 고명수입니다. 닉네임으로는 이름 마지막 글자만 따서 Soo를 사용하고 있어요. 회사에 입사한 지 얼마 안 된 것 같은데 벌써 2년차가 다 되어가고 있습니다. 매 순간 느끼지만, 시간이 정말 빠르게 흘러가는 것 같네요.
멘토링 하기 전에는 어떤일을 하셨는지 궁금해요.
대학교 졸업을 늦게해서 제대로 된 일을 해보진 못했어요. 개발을 공부하기 전 동네의 한 영어학원에서 파트타임 강사로 일년 정도 일을 했습니다.
멘토링 수료 후, 커리어에 얼마나 만족하고 계신가요?
최고의 복지는 최고의 동료라는 말을 많이 들었는데요. 맞는 말인 것 같습니다. 개발에 임하는 자세부터 기술적인 부분까지, 주위에 배울 분들이 많아서 만족하면서 회사에 다니고 있습니다.
어떻게 개발자가 되기로 결심하셨나요?
학교 졸업이 다가오는 시점에 앞으로 무엇을 할지에 대한 방향성이 불분명했어요. 고민 끝에 일단 할 수 있는 것을 해보자는 생각으로 영어 학원에서 일하게 되었죠.
그런데 학교를 졸업하고 파트 타임으로 일하다 보니, 근무 시간 4시간 외에도 충분한 자유 시간이 있었습니다. 이 시간을 어떻게 활용할까 고민하다가, 프로그래밍을 배워보고 싶었다는 생각이 들었어요. 항상 컴퓨터에 관심이 있었지만, 문과생이라서 프로그래밍을 시도해보지 못했었거든요. 그당시에 지금 안해보면 더 이상 못할 것 같다는 생각이 들더라고요.
또 계속 고정된 시간에 고정된 일정으로 근무하다보니 시공간의 제약 없이도 자기가 원하는 환경에서 일할 수 있는 부분이나, 다른 추가적인 도구 없이 컴퓨터 하나만 가지고도 우리 삶에 임팩트를 줄 수 있는 무언가를 만든다는 점이 멋져보였어요. 공부는 힘들었지만 재미도 있었고요. 그래서 자연스럽게 개발자로 일하고 싶다는 생각이 들었습니다.
개발관련 지식이 전무한 상태에서 개발이 어렵지는 않으셨나요?
처음에는 인터넷 강의로 입문했는데 초급 레벨을 대상으로 했었음에도 기존에 경험이 없다보니 정말 어려웠어요. 이해가 잘 안 되어 기초 강의를 몇 번씩 돌려봤던 것 같아요. 해당 사이트에서 관련 강의에 대한 실습 환경도 제공되었는데 이것도 쉽지 않아서 그 어느 때보다 질문과 답변 게시판을 열심히 드나들었던 기억이 있네요.
비전공자가 느끼는 어려움을 어떻게 극복해 나가셨어요?
아무래도 완전히 다른 전공이어서 앞으로 뭘 해야 될지 주위에 물어볼 만한 분들이 전혀 없었어요. 초기에 입문했을 때는 알고리즘이 중요하다는 이야기만 들었던 터라, 이 부분이 전부라고 생각해서 기초 강의를 끝내고 나서는 일단 무작정 리트코드 사이트에 들어가서 알고리즘 문제를 풀기 시작했어요. 그나마 다행이었던 건 인터넷에 해설 글/영상들이 친절하게 올라와 있더라고요. 그래서 쉬운 것들부터 보면서 일정 시간 이후에도 잘 모르겠는 부분들은 해설을 보면서 정리해 최대한 이해하고 넘어가려고 노력했어요.
🧑🏻💻 Ch.1
“의지만 있고 방향은 없는.”
멘토링 참여를 결심한 계기가 있다면요?
알고리즘 공부를 하다가 문득 정말 이것만 해도 되는지에 대한 의구심과 걱정이 되더라고요. 그래서 조금 더 찾아보니 로드맵이라는 것도 있었어요.
당연하게도 아무런 지식이 없는 상태에서 보다 보니 눈에 들어오는 부분이 없었었죠. 포트폴리오라는 것을 만들어야 한다고 해서 무작정 그동안 배웠던 파이썬과 새롭게 플라스크를 활용해서 게시판을 만들기 시작했는데, 결과가 나와도 막상 정확히 어떻게 만들어지는지를 모르니 이게 맞는 건가 하는 생각도 들었고요. 노력을 하겠다는 의지는 있는데, 막상 이 노력을 어디에 어떻게 들여야 할지를 모르니 귀중한 시간을 낭비하고 있다는 걱정이 엄습해왔습니다. 그러다 우연히 F-Lab 광고를 접하게 되었고, 멘토링을 신청하게 되었어요.
에프랩을 선택하신 이유가 궁금해요.
독학하다 보니 방향을 잡기가 힘들어서 국비지원이나 부트캠프를 알아봤어요. 프로그래밍을 잘 모르지만 그때 봤던 국비 학원의 커리큘럼을 보고는 그걸 따라가게 되면 제가 처음 겪었던 문제인, 만들어도 어떻게 동작하는지 모르겠다는 문제를 그대로 안고 갈 것 같다는 생각이 들었어요. 또 부트캠프 같은 경우는 괜찮긴 했는데 오프라인으로 진행한다는 점이 걸렸어요. 본가가 지방이라서 쉽사리 참여할 엄두가 안 나더라고요.
반면 F-Lab 같은 경우에는 100% 온라인으로 진행되었기 때문에 장소에 제약이 없었고, 비용적인 부분도 아르바이트를 통해 해결할 수 있었어요. 사실 지금 와서 F-Lab을 고려한다고 하면 Github Repository 들을 보면서 고민을 했을 텐데, 그 당시에는 해당 프로젝트들이 얼마나 훌륭한 결과물인 줄도 모르고 있었던 것 같네요.
멘토링을 신청하기 전 우려했던 점이 있으셨나요?
당시에도 F-Lab Repository에 이미 좋은 기업에 합격한 프로젝트들이 꽤 있긴 했었는데, 잘 모르다 보니 유의미한 정보를 뽑아낼 수는 없겠더라고요. 그래서 일단 F-Lab에 대한 정보를 구글/네이버에 검색해 봤었는데 후기가 많지 않았어요. 그래서 괜찮을까? 고민하며 신청하기가 좀 망설여졌었죠. 지금 돌이켜보니 일단 해본 것이 다행이란 생각이 드네요.
멘토링 첫 수업에서 어떤 느낌을 받으셨어요?
일단, 생각보다 더 깊게 공부해야 한다는 것을 깨달았어요. Java를 처음 입문했지만 나름 멘토링 당일까지 먹고 자는 시간을 뺀 대부분의 시간을 투자하면서 꽤 많은 부분을 학습했다고 생각했었거든요.
그런데 멘토님께서 공부한 부분에 대해 질문을 하시면 모르는 것도 많았고 제대로 익힌 부분이라고 확신했던 부분에도 답을 못하겠더라고요. 그 외에 프로세스, 스레드 등 CS 관련 질문도 이때 처음 받게 되었는데, 얼마나 중요한 개념인지를 깨닫고 바로 하나둘씩 찾아봤던 것 같아요. 앞으로 알아가면 되겠지 하는 마인드로 임했더니 멘탈은 생각보다 괜찮더라고요. (웃음)
멘토링을 진행하면서 가장 기억에 남는 에피소드가 있으신가요?
대학생 때 이런저런 지루한 논문들을 봤어야 했는데, 덕분에 개발서적들은 생각보다 다 재밌더라고요. 그 중 한 책은 대화체로 되어 있어 편하게 읽혀서 일주일 사이에 한 권을 다 읽게 되었는데, 멘토님께서 이 책을 일주일만에 읽은 사람은 처음 보신다고 하셨어요.
물론, 머릿속에 온전히 담았느냐에 대한 것은 또 다른 부분이지만 뿌듯하면서도 한편으로는 책보다 코드를 보는데 시간을 더 투자하는 것이 맞겠다는 생각이 들기도 했어요. 멘토님께서도 동일하게 프로젝트에 좀 더 힘을 쏟아보는 것이 좋겠다는 조언을 해주셨습니다.
🤷🏻 Ch.2
“비전공 초심자, 그게 왜요?”
멘토님과는 어떻게 지내셨어요?
멘토링 외에도 여러 가지를 여쭙고 싶었지만, 바쁘실 것 같아서 차마 말씀은 못 드리고 항상 속으로만 생각하고 있었어요. 좀 더 많은 이야기를 여쭙고 들었으면 좋았을 텐데, 돌이켜보니 이 부분이 좀 아쉽긴 하네요. 서울에 상경해서 F-Lab Dev House를 방문하면서 실제로 뵙기도 했는데 뭔가 화면으로만 보던 분을 실제로 보게 되니 연예인을 만난 것 같은 느낌이 들었어요. (웃음) 이번 인터뷰를 계기로 잘 지내시는지 다시 한 번 여쭤보고 시간되실 때 한 번 찾아뵈어야 겠네요. 항상 감사하는 마음 간직하고 있습니다.
멘토님의 어떤 부분이 좋으셨어요?
혼자 진행했었다면 생각하지 못했거나 그냥 넘어갔을 부분들을 콕 짚어서 이야기해주시는 게 너무 좋았었습니다. 어영부영 넘어간 부분이 있으면 귀신같이 캐치해서 다시 여쭤봐주시더라고요. 그래서 좀 더 꼼꼼히, 능동적으로 생각하면서 학습할 수 있었던 것 같아요. 그 외에도 멘토링을 진행하면서 자신에 대한 확신이 없을 때 격려해주셨던 것들이나, 필요할 때마다 과거에 본인의 경험담 등을 말씀해주시면서 멘토링을 이끌어 나가주셨던 것들이 긍정적인 기억으로 남아 있습니다.
안 맞았던 부분이 있다면 어떤 거였고, 어떻게 극복하셨나요?
안 맞았던 부분이라기 보다는, 일주일 내내 시간을 쏟아 부었었는데 잘 안 되는 부분들이 있어서 현재 상황을 공유드리고 어떻게 해야 할지 고민을 말씀드렸던 적이 있어요. 당시에는 취업을 준비하면서 프로젝트를 진행하는 상황이었다 보니 조급함에 답답함도 느껴지더라고요. 그때 지금 하고 있는 부분이 시간을 낭비하고 있는 게 아니라, 추후에 도움이 될 만한 것들이라 조금 더 진행해 볼 것을 권유해 주셨습니다. 막상 해결하고 나니 이때 열심히 고생한 덕분에 이후로는 결국 도움이 되겠지라는 마음으로 조금은 덜 조급하게 프로젝트에 임할 수 있었습니다.
페어 멘티님과는 어떻게 지내셨어요?
아쉽게도 저는 아예 초심자로 시작했기 때문에, 그 당시에는 제 수준과 비슷한 멘티분이 없으셨던 것 같아요. 그래서 단독으로 프로젝트를 진행하게 되었죠. 물론 페어 간 멘토링 준비, 갈등 관리 등과 같은 점들을 배우지 못했다는 것이 아쉬웠지만 제 페이스대로 프로젝트를 진행할 수 있었고 멘토링 시간을 온전히 할애 받을 수 있었다는 점에서는 오히려 초심자의 행운이 아니었나 하는 생각이 드네요.
🌏 Ch.3
“Hello World!”
진행하신 프로젝트에 대해 소개부탁드립니다.
프로젝트는 언어교환 플랫폼으로 이름은 Hello World예요. 개발하시는 분들이라면 모두 한 번쯤은 들어보고 출력해 봤을 그 문구입니다. 센스 있는 제목을 고민하다가 새로운 언어를 배운다는 의미가 새로운 세계와 소통한다는 느낌을 가진다고 생각했고, 마침 모두가 아는 Hello World가 떠올라서 그대로 이름 붙여주게 되었습니다.
언어교환 플랫폼이기 때문에 언어교환 서비스에서 제공해 주어야 할 기능들을 담고 있습니다. 먼저 회원가입을 하고 자신의 프로필을 입력하게 되는데요. 일반 SNS와 다른 점은 자신의 모국어와 배우려고 하는 대상 언어를 지정한다는 점이에요. 이 부분은 검색 기능에서 활용이 되는데 자신에게 맞는 언어교환 대상을 검색하거나 혹은 다른 사용자들이 해당 사용자를 찾을 수 있도록 하기 위함이죠. 또한 원하는 대상을 찾았을 경우에 언어교환을 이어나가기 위해 채팅 기능이 필요했고 서비스의 퀄리티를 유지하기 위한 고민으로 사용자 리뷰 시스템도 추가했습니다.
단순히 기능 구현에서 머무르지 않고 더 나은 구조 및 코드작성을 위해 고민했고 항상 사용자가 많아졌을 때를 상상하면서 프로젝트를 진행했어요. 프로젝트를 진행하면서 몰랐던 부분이나 미처 생각하지 못했던 부분은 멘토님의 코드리뷰를 받거나 멘토링 시간에 이야기를 나누면서 멘토님의 코멘트를 듣고, 학습하여 적용할 수 있었습니다.
해당 주제로 프로젝트를 진행하게 된 이유는 무엇인가요?
영어를 등한시하고 살다가, 어떠한 계기로 본격적으로 학습을 시작하게 되었는데요. 이때 다양한 방법을 시도했었는데 그중에서 유용하게 활용했던 수단이 바로 언어교환 플랫폼이었어요. 어쩌다 보니 세 네 개 정도 가입해서 사용했었는데 제가 잘 아는 서비스를 사용하던 소비자의 시선을 더해서 프로젝트를 진행해 보면 재밌지 않을까라는 생각에 시작하게 되었습니다. 처음에 어떤 프로젝트를 어떻게 진행해야 할지 막막했었지만 이전에 사용 경험이 있던 서비스를 모티브로 삼아서 프로젝트를 진행해 보니 앞으로 어떤 식으로 해 나가면 좋을지를 좀 더 편하게 생각해낼 수 있었던 것 같습니다.
프로젝트를 진행하면서 기술적으로 어려웠던 부분이 있다면요?
모든 게 처음이었던 터라 어려웠던 부분이 수없이 많았어요. 일단 첫 환경설정이 굉장히 어렵게 느껴졌습니다. 스프링부트에서 대부분 기본 설정으로 제공해 주는 것들이 많아서 편하긴 한데, 잘 모르는 상태에서 막상 문제가 있을 때는 찾기가 까다롭더라고요. 처음 프로젝트를 만들고 실행하는 과정에서, 초기 DB 연결 설정이 제대로 안되어서 며칠간 씨름을 했었는데 원인을 찾는 게 쉽지 않았어요. 이것 때문에 프로젝트 시작도 전에 큰 에너지를 소모하고 지쳤었던 기억이 나네요.
그 외에는 기반 지식이 약하다 보니 비동기 이벤트 구조, 캐시 등 성능을 더욱 끌어올려 줄 수 있을만한 부분들은 처음에 떠올릴 수 없었거나, 생각해 냈더라도 적재적소의 활용처를 찾아내는 게 쉽지가 않았었어요. 다만, 이런 부분들은 멘토링 시간에 멘토님께서 지속적으로 언급해 주시기도 했고, 추천받아서 읽었던 기술 서적들에도 잘 나와있어서 일단 알게 되고 나서는 이것저것 찾아서 적용해 볼 수 있는 기회가 되었어요.
마지막으로 설계적인 부분이 어렵다고 생각했었는데, 더 나은 구조는 있어도 확실히 정해진 정답이 없는 부분이라 더 어렵게 느껴졌던 것 같아요. 프로젝트를 진행하면서 구조를 잘못 잡았던 부분들은 꼭 이후에 순환 참조 등으로 문제를 겪게 되면서 좋은 설계의 중요성을 몸소 체감할 수 있었습니다.
🚀 Ch.4
“하면 된다.”
프로젝트 진행 초반과 후반시점을 비교해 봤을 때 성장하신 것 같나요?
프로젝트 진행 초반에는 개발 공부를 시작한 지 얼마 되지 않았기 때문에 모든 것이 어렵게 느껴졌었어요. 그래서 일단 주로 필요한 기능들을 구현하는 것 자체에 집중을 했었죠. 한참 프로젝트를 하는 중에는 정신없이 몰두하느라 제 실력이 향상되고 있는지도 인지하지 못했었는데요. 프로젝트가 끝날 즈음이 되어서는 기능구현의 단계를 넘어서 무언가를 어떻게 더 잘 만들지를 고민하고 있는 모습을 보며 감회가 새롭더라고요. 프로젝트 세팅부터 시작해서 이런저런 구조도 잡아보고 필요한 것들도 학습해서 도입해 보고, 결과물로 나온 것들은 다시 실제 클라우드 서버에 배포해서 성능테스트까지 진행하면서 프로젝트의 전반적인 과정을 거칠 수 있었다는 게 큰 도움이 되었습니다.
그 외에도 기술을 바라보는 관점도 기를 수 있었어요. 멘토님과 대화하면서 단순히 기술을 사용하는 것 외에도 사용하는 기술들의 원리를 알고, 다른 많은 대안들이 있음에도 왜 해당 기술을 사용해야 하는지에 대한 이유를 알고 사용하는 것이 중요한 부분이라는 것을 깨달을 수 있었어요. 기술이 중요한 만큼 이를 활용해 어떤 가치를 창출해 낼 수 있는지를 고민하는 것 또한 매우 중요한 문제라는 것도 배울 수 있었죠. 많이 성장하는 시간이 아니었나 생각해 봅니다.
멘토링이 종료된 이후에는 어떤 공부를 하고 계신가요?
회사에서 맡은 업무를 잘하는 것이 가장 중요하다고 생각하기 때문에 일을 하면서 몰랐거나 더 깊게 살펴볼 필요가 있던 부분들을 위주로 학습하는 것을 우선순위로 삼았어요.
그리고 아무래도 비전공자다 보니 일을 하다 보면 제가 가지고 있는 CS 지식의 한계가 느껴지더라고요. 그래서 시간을 내서 틈틈이 운영체제, 네트워크 같은 부분들도 함께 학습하는 것도 목표로 잡았고요.
금융권이라 그런지 업무 특성상 TCP 통신을 하게 되는 경우가 흔한데요. 제가 이전에 구현했던 부분을 네트워크 학습 후에 다시 보니 또 다르게 보이는 경우도 있더라고요. 이외에도, 기회가 돼서 F-Lab 내 쿠버네티스 스터디에 참여하여 좋은 분들도 만나고 열심히 공부해서 CKA 자격증도 취득할 수 있었어요.
최근에는 개인적인 관심과 더불어 회사에서도 활용할 요량으로 간단하게 무언가를 만들어보면서 스프링 웹플럭스 및 네티를 학습하고 있고, 그 외에도 팀 내 스터디에서 다루는 내용도 추가적으로 학습하고 있습니다.
좋은 ‘개발자’를 한 문장으로 정의하자면 무엇일까요?
한 가지 방법으로 문제를 해결하고 나서도, 항상 다른 방법들도 있더라고요. 그리고 그중에는 더 나은 방법들이 있는 경우도 많고요. 그래서 끊임없이 고민하고 질문하는 개발자라고 생각합니다. 무언가를 해결한 후에도 나는 이것을 그저 해왔던 대로 처리한 것은 아닌지, 왜 이 방법을 선택했고 이외에 다른 방법들은 없었을지 등을 끊임없이 고민하고 문제를 해결하고 나서도 다시 한번 의식적으로 질문을 던져볼 필요가 있는 것 같아요. 결국 무언가를 더 깊게 아는 만큼 더 효율적으로 최적의 해결 방법에 다다를 수 있을 것이라 생각해서 끊임없이 학습하고 깊게 공부하는 것도 중요한 것 같습니다.
어떤 사람이 멘토링을 받으면 좋을까요?
멘토링을 받기로 결정했던 이유가 바로 ‘하고자 하는 의지는 있는데 무엇을 어떻게 해나가야 할지 모르겠다’ 였는데요. 저와 비슷한 상황에 계시거나, 혹은 성장을 위한 확실한 방향을 찾고 싶다 하시는 분들이 받으면 도움이 많이 될 것 같아요.
반대로 비추천 하는 대상이 있으신가요?
적은 금액대가 아님에도 멘토링을 받아볼까 고민하고 계신 분들 모두가 성장에 대한 열망과 의지가 있으신 분들이 아닐까 해서 조심스러운 부분이긴 하네요. 실제 멘토링을 진행해 보니 학습과 프로젝트에 투자할 수 있는 절대적인 시간을 확보하는 것이 중요하더라고요. 그래서 사전에 이 부분을 미리 계산해서 충족이 되는지를 판단하고, 안된다면 어떻게 시간을 확보할 수 있을지를 고민해 보거나 이마저도 불확실하다고 했을 때는 멘토링에 대한 생각을 다시 한번 재고해 볼 필요가 있을 것 같아요.
추가로 비추천은 아니지만 제 경험에 비추어보자면 백지상태에서 시작해서 초반에는 어떤 것을 잘 모르는지조차 인지하지 못해서 질문을 하는 것도 쉽지가 않더라고요. 아무래도 알아야 모르는 부분이 보이고 그래야 많이 질문하고 배워서 훨씬 더 빠르게 성잘할 수 있잖아요. 그래서 완전히 기초에서 시작하는 것보다 혼자 공부할 수 있는 부분들은 미리 조금씩 채운 후에 멘토링을 시작하는 것을 추천드립니다.
마지막으로 멘토링을 망설이는 분들께 한말씀 부탁드려요.
저도 시작 전에는 고민이 많았었는데요. 지금 와서 돌이켜보니, 한정된 자원인 시간을 가장 효율적으로 사용할 수 있었던 방법이었다는 생각이 드네요. 그래서 혹여나 고민 중이시라면 망설이지 말고 한 번 도전해 보시는 것도 좋을 것 같습니다.
개발 공부를 시작하고 이것저것 찾아보다가 처음으로 개발자 로드맵이란 것을 들여다보게 되었는데요. 보고 나니 정말 막막하더라고요. 처음 보는 입장에서 난해하게 느껴지는 부분도 있었고 담고 있는 내용도 한두 가지가 아니라서 어디서부터 무엇을 어떻게 시작해야 할지 막막하게 느껴졌었어요.
멘토링을 받으면서 가장 좋았었던 점은 앞으로 무엇을 해나가야 할지에 대한 방향성의 고민을 크게 덜 수 있었다는 점이었어요. 무언가를 해내기 위해서는 이미 해낸 사람들의 발자취를 따라가는 것이 가장 쉬운 방법이라는 말이 있잖아요. 이처럼 이미 방향을 알고 있는 멘토님께서 방향을 안내해 주시니 방향을 찾으면서 고민할 에너지도 학습과 프로젝트에 쏟을 수 있었고 더 빠르게 성과를 낼 수 있었던 것 같아요. 물론 학습방향 외에도, 잘 모르고 있었던 커리어나 기타 여러 부분들에서 많은 도움을 받을 수 있던 것도 빼놓을 수 없겠네요.
이 컨텐츠는 F-Lab의 고유 자산으로 상업적인 목적의 복사 및 배포를 금합니다.