이 벨로그를 누군가 볼지는 모르겠지만, 나의 간단한 소개를 하고자 한다.
나는 4년제 대학의 IT 관련학과를 2월 졸업 예정인 평범한 학생이다. 프로그래밍을 학교에서 공부하면서 1,2 학년때까지 나랑 정말 안 맞는 것 같아서 많이 힘들어했다. 보통도 못 따라갔고 아마 그 큰 이유는 나의 타자가 너무 느렸던 것도 한 몫 했을 것이다. 지금 타자는 많이 늘었고 신입생 때의 나보다 많이 나아졌지만 그건 너무나 당연히 그래야 하는 것. 나의 근황은 10월 말에 1년간 진행한 졸업 작품을 마무리하고 백준으로 코딩테스트 문제를 풀어보고 있다. 현재는 백준 이제 막 실버 2를 찍은 상태. 코테 한 달 동안 공부하고 dfs, bfs 공부하다가 그 와중에 인턴 경험을 해보고 싶어서 포폴을 만들고 잡코리아, 잡플레닛 같은 곳 공고 보면서 인턴 서류를 넣어 보고 있다.
오늘이 2021 크리스마스, 5일 전 20일 처음으로 한 회사의 모바일 개발자 포지션 인턴으로 면접을 봤다. 그리고 늦어도 이번주 안에 연락을 준다고 했으나 연락이 안 왔다. 수요일 새벽부터 에꿎은 이메일만 무한 리프레시, 핸드폰 문자 알림만 기다리다가 금요일(크리스마스 이브날)에 연락이 올까? 또 한 번 희망을 가지다가 금요일 6시 이후에도 연락이 안와서 그냥 떨어졌구나 라고 생각 하기로 했다. 면접 본 날 부터 회사에서 React를 사용한다고 해서 Javascript강의 nomad coders 니꼬 쌤의 바닐라JS로 크롬 앱 만들기 강의를 듣고 있었다. 들으면서 시간이 빨리 흐르기를 기다렸는데 어찌 됬는지 연락은 안 왔고, 연락 기다리는 동안 많이 나의 부족한 점을 생각하게 되었다. 그래서 오늘 나는 피말리던 1주일의 종지부를 찍고 더 앞으로 나아가기 위해 개발 블로그 velog를 시작하게 되었다. 그 동안 oneNote에서 공부했던 것을 정리했는데 이제 나도 개발자가 되기 위해 개발자처럼 행동하려고 기술 블로그를 만들어 봤다. 이 벨로그를 통해 내가 더 개발자로 성장하길!
우선 내가 지원 했던 회사는 외국 블록체인 회사였고 한국 지사였다. 한국 지사 규모는 작은 것 같다. 자체 토큰 발행에 탈중앙화 거래소를 시범 운영하고 있는 곳이다. 알게 된 계기는 대학생 앱 에브리타임 공고에서 봤고, 공고를 보니 회사가 인턴을 뽑는 데 최소요건을 만족하지 않아도 된다고 적혀있어서 적힌 번호로 이력서와 포트폴리오를 보냈다. 사실 연락이 안 올 줄 알았다. 왜냐하면 그전에 이력서와 포폴은 잡코리아에 올렸었는데 회사들에서 열람만 하고 포지션 제안은 안와서, 여기도 최소요건 안 맞으니깐 보기만 할 줄 알았다. 운이 좋았는지 연락이 왔고 프로트엔드 개발자 분께 사전과제를 전달 받았다.
사실 이때도 나는 참 바보 같았다. 사전과제를 받기 위해 구글 meet에
들어갔는데 내 컴퓨터 소리가 안 들린다고 하셨다. 그래서 양해를 구하고 설정에서 다시 고치고 있었는데 안되서 (왜 그게 안되냐고,,,) 결국 전화로 사전과제를 전달 받았다. 개발자 분께서 사전과제 > 코딩테스트 > 면접 순으로 채용 과정이 진행된다 하셨고, 나는 코딩테스트를 파이썬으로 준비하고 있어서, 만일 코딩테스트를 다른 언어로 보면 사전 과제 받기 전에 여기서 하차(?) 하겠다고 말씀 드렸다. 사실 그러겠다고 이야기하면 ' 네 알겠습니다 ' 하고 쿨하게 보내주실 줄 알았는데 아니였다. 지금 생각하면 감사한데, 지금 알려드리는 사전과제는 알고리즘이 아니고, 기능 구현하는 앱을 만들면 된다고 하셔서 나도 모르게 어느세 사전 과제 안내를 받고 있었다. 우선 사전 과제가 적힌 notion 페이지 링크를 보내주셨다. 열었는데 과제가 영어였다. 너무 당황스러웠다. 하하하(😹) 티 안내려고 했는데 티 다 났겠다. 그리고 과제를 설명해주시는데 이해가 안 갔다. 과제 설명해주시는데 나 혼자 스무고개 하는 줄 알았다. 나는 내가 바로 이해 할 수 있는 부분만 '이건 이렇게 하라는 말씀이신가요?" 를 하면서 조각조각 퍼즐 맞추듯 일단 이해하고, 입으로만 '네네" 하고 실은 설명해주신 부분 이해 못했다. 과제는 나중에 다시 읽으면서 이해는 했지만 그 상황은 정말 총체적 난국이였다. 그리고 더 웃긴건 나오면서 링크 복사 안해서 다시 링크 보내달라고 문자드렸다. 긴장했던 탓인지 기본적인 것도 안 챙기고 나왔네. (망치 어딨어🔨)
일단 과제가 앱 그리고 서버까지 필요해서 시간이 없었다. 급했다. 사실 과제 받고 나오면서 2일 동안 문제 이해하고 안되면 그냥 못하겠다고 연락 드려야지 라고 생각 했는데, 문제 이해가 다행히도 당일 됬다. 문제를 보니 정말 시간 쪼개면서 얼른 얼른 만들어야 했다. 일단 앱은 원래 하던데로 안드로이드 java를 이용해서 만들었고, 문제는 서버였다. 일단 내가 백엔드로 사용할 줄 아는 것을 javascript로 nodejs express를 이용하는거였다. 이전에 졸작하면서 사용했고 서버를 내가 담당했지만 블로그 에서 로그인, 회원가입 코드 적힌 거에서 develop 하는 방식이여서 머리 속에 남는 거 없었다. 그냥 내가 만들고 있는게 rest api 기반 retrofit 과 통신하는 서버구나 정도였기 때문에 사용하고 싶지 않았다. 예전에 졸작하면서 Django를 한 일주일 정도 재밌게 공부한 기억이 있어서 Django 유튜브 mychew_ 님 영상 https://www.youtube.com/watch?v=GDmm4JH4loc&t=3125s 영상을 다시 보면서 공부했다. 근데 확실히 이전에 nodejs express를 사용해서 백엔드를 한번 경험하고 다시 영상을 보니 이해되는 정도가 달랐다. 보이는게 다른다랄까. 무튼 좋은 뜻이다. 일주일 동안 공부하면서 잘은 모르겠고 구현 할 수 있는 것까지 구현해서 제출하려는데 전날에 만들어진 git 레포에 코드를 올리는데 안 올라간다. 이런,,,
내가 이럴 줄 알았다.
졸작 하면서 다들 Github 사용이 미숙해서 그냥 카톡으로 코드 보내면서 깃허브에 코드 올리는 것도 못했다. 이전에 안드로이드 스튜디오는 github에 연동하면 commit, push 해주는게 있어서 편했는데 그걸 맹신한 내 잘못이지. 사전과제 제출할 것이 frontend,backend 둘 다 있어서 이걸 어떻게 올리는지 몰랐던 것이다. 계속 끙끙되면서 못 올리다가 그런 생각이 들었다. "아마 지원한 인턴들 중 코드 다 짜고 올리는 법 몰라서 제출 못한 사람은 나 밖에 없을꺼야." 다 내 업보다. 어찌저찌 코드를 올렸다. force 사용해서. 그 담은 readme 작성이 중요하다고 누가 구글에서 그랬다. 그래서 리드미 작성을 열심히 하고 일주일 제 시간안에 제출했다.
과제 제출 뒤 담주 월요일 면접을 봤다. 목금토일 4일간 시간이 나서 면접 준비를 했다. 그래서 자바 , 안드로이드 개념을 계속 읽었고 기업 분석, 자기소개 같은 기본적인 문항을 준비했다. 면접날에 가까워지면서 뭘 준비해야 할지 몰라서 더 막막했고 그냥 얼른 보고 싶었다. 사전과제를 만들면서 더 붙고 싶은 생각은 커졌는데 이 확률을 높이기 위한 면접을 어떻게 준비를 해야 할지 몰랐다.
월요일이 왔고 드디어 나의 첫 면접날이 왔다. 근처에 친구도 인턴을 해서 면접 경험이 많았기 때문에 면접 팁도 전수 받았다. 일단 자기소개을 외운 느낌 보다는 그냥 서로 핑퐁이 오가는 대화 형식으로 임하라는 조언을 해주었고, 나는 그 조언을 받아들였다. 그리고 회사 앞에 도착했는데 회사 빌딩이 너무 커서 거기에 또 다시 압도당했다. 안 그래도 떨려서 내 심장 쪼그라들고 있는데 빌딩 앞에서는 콩알만 해졌을 듯.
사무실에서 PM 1분, CTO 1분과 인터뷰를 30분간 진행했다. 인터뷰 분위기 자체는 딱딱하지 않았고, 면접관 분들은 포트폴리오에 적힌 내 이력에 대한 관심이 많았던 것 같으시다. 고등학교가 문과였는데 이과로 오게 된 이유도 물어보시고 수학에 대한 관심도와 이해력을 많이 물어보셨다. 아무래도 블록체인을 다루는 회사여서 그리고 이 분야가 수학과 관련성이 높은 분야라서 그런듯 싶다. 나는 인터뷰에서 cto님을 보면서 이 회사에 입사하고 싶다는 생각이 많이 들었다. 기술 질문을 하실 때 거의 대답 못했는데, 정답을 정말 침착하게 알려주는 모습을 보면서 배울 점이 많은 분 같았다. 그래 분위기는 나쁘지 않았지만, 내가 면접장에서 개발자로서의 어필은 잘 못했나 보다. cto분께서 web 1과 2의 차이점을 아냐고 물어보셨다. 그리고 나는 모른다고 답변을 했는데, 웹 3.0 같은 개념을 코인의 메타로 들어본 적이 있다. 그것도 매우 많이. 근데 들어만 보고 그게 뭔지는 몰랐던 것이다. 역시나 cto 분께서 친절하게 개념을 설명해주셨고 면접을 보고 내 구글 뉴스 피드를 보는데 web3.0 에 관한 기사가 2개나 떴다. web 3.0을 대하는 잭 도시와 마크 저커버그 이런 기사를 이전에도 봤고, 방송에서도 이야기 하는 것을 들었다.
web 1.0은 우리 글을 올리고 다른 사람들은 read only
web 2.0은 글을 올리면 상호작용을 할 수 있는 것 ex) 좋아요, 댓글
web 3.0은 개인이 자신의 데이터를 노드에 보관하고 주도권을 가지고 기업에 금전적 댓가로 팔 수 있다. 기업에서 사용자의 데이터를 수집하고 금전적인 이익을 위해 악용하는 것을 탈중앙화를 통해 해결하려는 시도이다.
진짜 집가서 이불킥 하고 싶었다. 왜 나는 그 질문에 대답을 못한 걸까? 요즘 너무 이슈가 되는 토픽이었던 것이다. 나는 암호화폐에 꽤 오랜 시간 관심을 가지고 있었는데 그냥 투자자로서 였나보다. 인터뷰를 보고 면접 결과를 기다리는데 저 질문에 대한 대답을 못한게 너무 한탄스럽다.
인터뷰를 끝내고 느낀 것은 일단 회사에 개발자를 키운다 라는 마인드를 많이 느꼈다. 자기 개발을 하는 사람인지 아닌지를 중요하게 보시는 것 같았다. 그리고 입사하면 코드 리뷰를 잘 해주실 것 같아서 마음에 들었다. 회사는 내가 크고 싶은 개발자가 될 수 있는 환경을 제공해 줄 수 있었기 때문에 가고 싶은 회사지만 그 회사는 좋은 개발자 그리고 실력있는 개발자를 뽑아야 하니깐, 내가 아직 많이 부족한가 보다.
한 달간 공고를 보면서 내가 그간 공부를 잘못된 길로 하고 있다는 생각이 많이 들었다. 내가 가장 자신 있는 분야는 Java 안드로이드 개발이다. 하지만 요새 새로운 안드로이드는 kotiln 을 사용하고 나는 kotiln 사용해 본 적도 없고 포트폴리오는 더욱 없다. 졸업작품으로는 졸음 방지 어플리케이션을 만들었는데 이것도 Java 로 만들었다. Java 를 사용하게 된 계기는 Java 를 학교에서 2학년 때 배웠었고 나에게 익숙했기 때문이다. 학교에서도 안드로이드 수업은 Java를 사용했다. 나의 포폴은 죄다 Java 로 작성하는 안드로이드 앱이였고 기업 공고는 다 kotiln 을 사용하는 안드로이드 개발자를 찾고 있었다. 여기서 1차 멘붕.
이전 부터 나의 고민은 따로 있었다. 기업은 기본적으로 다 코딩테스트를 보는데 사람들이 가장 많이 사용하는 언어는 파이썬이다. 왜냐면 내장된 함수들이 많고 사용하기 편하기 때문이다. 그래서 코딩테스트 언어를 정할 때 자바랑 파이썬 중 고민됬다. 결론은 일단 합격하는 것이 중요하고 시간이 별로 없으니 파이썬을 사용했는데 중소, 중견 기업은 내가 앞으로 사용하게 될 언어로 코딩테스트를 보는 것 같다. 여기서 미스매치가 이렇게 일어난다.
기업 공고를 보면 신입에게는 프론트엔드(javascript/html/css), 서버( javaspring) 수요가 제일 많다. 안드로이드는 거의 신입은 없다. kotiln도 많지 않은데 java가 있을리가. 나는 이 중 해당되는 게 없어서 회사를 찾기 힘든 것 같다. 비전공자들 대상으로 웹 개발 교육이 많은 이유를 몰랐는데 이제야 알 것 같다. 공고를 보면서 나를 비전공자 보다 더 뽑을 이유가 없던 것이다. 그리고 이번에 회사 면접을 보면서 javascipt를 사용하는 것을 보고 이제 javascript를 공부를 해야겠다 라는 생각이 들었다. 프론트엔드에서 javascript 는 필수고 그만큼 수요가 많은 언어라는 것을 근 한달 간 느꼈다.
자주 보는 코딩 유튜브 채널 '드림 코딩 by 엘리' 영상을 보면 T자로 커리어 패스를 관리하라고 하셨다. T에 'ㅡ' 는 전공자니깐 경험이 없진 않지만, 나의 'ㅣ' 즉, 기둥이 쓸모 없는 기둥이 된 것 같다. java로 안드로이드 개발 경험이 쓸모 없다는 것이 아니다. 개발 경험은 다 나의 자양분이 되지만, 내가 직접적으로 취업을 하는데 아무 도움이 되지 못할 것 같다.
- GitHub에 코드 commit, push 말고 협업하는 법도 공부하자.
이제는 미루는 거 그만 해야겠다. 공부를 안했던 것은 아니다. 깃을 이용해 협업하는 법을 알려주는 책은 샀지만, 공부를 하고 실제로 사용할 일이 없어서 내 머리속에 남지 않았다. 안하다 보니 하기 싫었고, GitHub를 사용할 일이 있으면 겁 부터 난다. 이제는 정면을 맞딱트리고 프로젝트 하면서 직접 사용해 보면서 익혀야겠다.
- Javascript도 공부해보자.
면접 결과 기다리면서 javascript 를 공부해봤다. 이전 부터 니코 쌤의 강의 들어보고 싶었느네 이번에 공부해보니깐 너무 잘 가르쳐주신다. 진짜 기대 이상! 그리고 javascipt의 이벤트 처리가 안드로이드 이벤트 리스너랑 비슷해서 막 엄청 새롭다고 느껴지지 않는다. 그래서 지금 듣는 바닐라 JS로 크롬 앱 만들기 강의 들으면서 남은 2021 보낼 예정이다. 이왕 공부하는거 이걸로 나만의 작은 프로젝트를 만들어서 포트폴리오로 추가하고 싶다. 지금 생각하는 것은 '나의 앱 포트폴리오를 보여주는 웹사이트' 를 생각하고 있다. 더 대단한 웹 포트폴리오도 있겠지만, 난 코딩테스트도 마져 공부해야 하기 때문에 지금 나의 pdf 포트폴리오를 웹사이트로 만들면 다른 사람들고 직접 볼 수 있을 것 같아서 좋을 것 같다. 아니 사실 매우 맘에 든다. 만들면서 더 재밌게 만들 수 있을 것 같다. 이번에 만드는 것은 gitHub 잘 이용하면서 만들어야지.
다음 주면 2022년이다.
2021는 졸업 작품 밖에 한 기억이 없는데, 2022는 진짜 개발자가 되어서 개발 실력을 좀 더 늘리고 싶다. 면접을 한 번 보고 나니, 이전까지는 '현재의 나에서 개발자로 취직한 나' 까지만 생각했는데 이제는 '개발자로 성장해서 일하는 나' 까지 생각을 하게 된 것 같다. 이제 그만 속상해하고 남은 2021은 코딩테스트는 잠시 미뤄두고 javascript 공부해야지!
다들 메리크리스마쓰! 나도 메리 크리스마쓰! 💗
+오타 짱 많다. 그럼에도 불구하고 읽어주신 분들 감사합니다!