운이 좋게도 친구 회사에 놀러갔다가 인턴에 지원하게 되었고 합격하여 이렇게 글을 써본다.
입사 과정은 면접과 코딩테스트 두 단계였고 하루에 모든 일정이 진행되었다. 면접 전에 간단한 이력서 제출을 요청하셔서 아무내용도 없는 이력서를 이메일로 보내드렸다.
면접은 20분간 진행한다고 연락을 받았다. 회사의 개발부서 CTO분께서 핸드폰으로 전화를 걸어주셔서 이력서의 내용을 바탕으로 면접을 진행했다. 나는 컴퓨터로 이력서를 띄워놓고 없는 말주변으로 열심히 대답하려고 했다. 스킬을 간단히 확인하고 진행했던 프로젝트 위주로 면접이 진행되었다. 질문을 정리해보겠다.
React + Firebase 프로젝트에서 Firebase를 왜 사용했는가?
답변 : 사용자가 실시간으로 데이터베이스에 접속해 데이터를 수정하고 저장하는 플랫폼이 필요했습니다. 그러기에는 realtime database를 지원하는 클라우드 서비스를 이용해야겠다고 생각했고 그 중 호스팅, 인증 시스템도 개인이 사용하면 무료이고 간편하게 사용할 수 있는 Firebase를 선택했습니다.
React + Django 가계부 프로젝트는 왜 만들게 되었나? (아직 만들고 있는 프로젝트)
답변 : 실제로 제가 사용하기 위해서 시작했습니다. 시중에 나와있는 많은 서비스들은 본인이 사용하지 않는 (타인 계좌) 서비스와 연동이 되지 않았습니다. 그러나 현재 저는 어머니의 카드를 사용하는 입장으로 이를 자동화시켜 거래 내역을 볼 수 있었으면 해서 저만의 커스텀 가계부를 만들기 위해 진행했습니다.
(2번의 추가 질문) IFTTT를 사용한다고 적혀져있는데 어떤 단계로 프로젝트를 구성하려고 하는가?
답변 : 먼저 신용카드를 사용하면 본인 핸드폰으로 거래내역 문자가 오게 됩니다. 이를 IFTTT를 사용해서 문자를 trigger로 해당 문자 내용을 구글 스프레드시트에 저장합니다. 그리고 스프레드시트 관련 API를 사용해 거래내역을 저장하는 데이터 베이스에 해당 내용을 넣어주려는 계획입니다.
화학과를 나왔는데 왜 이전까지 하는 것을 버리고 완전히 다른 분야로 오게 되었는가?
답변 : 제가 화학을 했던 이유는 화학을 좋아한 것도 있지만 화학 연구를 하고싶었기 때문이었습니다. 그래서 졸업 후 대학원생으로 진학을 했으나 연구하는 생활과 제가 맞지 않았습니다. 그러다 휴학을 하게 되었고 우연히 그 때 접했던 개발 일이 잘 맞기도 하고 재미를 느껴서 이쪽 일을 시작해야겠다고 결심했습니다. 그 후 대학원을 자퇴하고 개발 공부를 시작했습니다. 화학 쪽에서는 연구가 아니면 하고 싶은 일이 없었기에 후회는 없습니다.
면접은 예상 시간 20분이었으나 10분만에 끝났다. 아무래도 이력서에 내용이 별로 없다보니 이 정도로만 하고 마무리지었다는 생각이 들었다. 마지막 질문을 잘 대답하지 못 한것 같아서 조금 아쉬웠던 면접이었다.
코딩테스트는 2시간 동안 진행되었고 구글 행아웃을 이용하여 화면공유를 키고 녹화하는 방식으로 진행되었다.
문제는 Leetcode 문제 5개가 주어졌다. 그 중 4개는 easy, 1개는 medium 난이도였다. medium 난이도 문제는 two pointer를 사용하는 array 문제였고 이전에 풀어본 적이 있어서 조금 버벅였지만 금세 풀어냈다. 나머지 문제들은 간단한 함수 문제, string 다루는 문제, hash table을 쓰는 문제, tree를 순회하는 문제였다. 이 중 3개는 풀었으나 tree 문제만 그래프를 잘 다뤄보지 못해서 time exceed가 뜨고 2시간이 다 지나서 그만하게 되었다. 그래서 코딩테스트가 끝나고 다시 공부하여 블로그 글에 정리했다.
어떻게 보면 처음 치는 코딩테스트인데 나쁘지 않게 푼 것 같아서 다행이라는 생각과 동시에 easy문제를 하나 못 풀어서 조금 아쉬웠다.
코딩테스트 후 2일 정도 후에 CTO님께 연락이 오셔서 풀어봤던 문제가 있었냐고 물어보셨다. 그래서 좀 뜨끔했는데 풀어본 문제가 있었고 새로 계정 만들어서 풀었다고 솔직히 말씀드렸다. 다행히도 결과에는 영향을 끼치지는 않고 녹화한 영상 보면서 내부에서 그런 말이 나왔다고 하셔서 확인차 연락드렸다고 하셨다. 결과에는 영향을 끼치지는 않았다고 하지만 좀 불안하긴 했다...
그러나 그 후 3일 만에 연락이 다시 오셔서 합격했음을 알려주셨고 설 이후에 출근하라고 하셨다. 다행
출근하기 전에 CTO님께 전해들은 내용은 일단 3개월간 인턴으로 진행하고 인턴이 끝날 때 정식으로 전환될 수 있으며 그 때 연봉협상을 다시 한다고 하셨다. 출근은 10시부터 7시까지라고 하셨고 장비는 맥북프로 1개가 주어진다고 하셨다. 내 나름대로 인터넷에서 예전 채용공고를 찾아봤을 때는 점심 지원, 스탠딩 데스크 지원, 재택 근무 등의 혜택이 있다고 했다.
첫 날 9시 50분 쯤에 출근했다. 먼저 CTO님께서 나를 회사 사람들에게 소개시켜주었고 회사 사람들과 함께 인사를 나눴다. 이후 사전에 알아본대로 스탠딩 데스크와 맥북프로를 받아 사수님께서 세팅해주셨다. 추가로 모니터암 두 개와 모니터까지 추가로 설치해주셨다. 이후 맥북과 함께 개발 환경을 세팅해주셨고 슬랙, gitlab에 가입했다. 회사에서 사용하는 GCP에 접속시켜주셨고 이제 앞으로 할 프로젝트의 구조를 파악해서 다음 주 중에 발표하자는 숙제를 받았다. 이런저런 세팅에 정신이 없던 와중 점심시간이 되었고 점심은 지원이 되지 않는다는 사실을 알게 되었다. 2일차에 사수님께 물어본 결과 인턴 월급을 인상시키고 대신 점심값 지원이 없어졌다고 한다. 역시 2년 전 채용공고와는 현재는 다르다
그러고 점심 이후에는 출입문에 지문 등록하고, 계속 맥북 세팅하고, 프로젝트 구조 분석을 위해 튜토리얼 진행하면서 공부하는 시간이었다. 5시 반쯤에 퇴근했다. 퇴근 후 처음 만져보는 맥북에 좀 익숙하고자 집에 가져왔는데 원래 쓰던 노트북과 같이 들고가다보니 엄청 무거워서 어깨가 파괴당했다. 피곤했는지 12시에 곯아떨어졌다.
2일차에도 9시 50분 쯤 도착했다. 오자마자 사수님께 노션 링크를 받았고 어제 했던 일과 오늘 할 일을 정리해서 적었다. 아직 인턴이기에 회사 노션이 아닌 페이지만 링크해서 게스트로 수정할 수 있는 권한만 주어지는 것 같았다. 이후 사수님께서 GCP를 켜주셨고 난 접속하는 법부터 몰라서 검색하다 못해 결국 사수님께 질문드렸다. ssh를 사용해서 접속하는 법을 배우고 점심시간이 되었다.
점심은 사수님과 단 둘이 먹었고 커피타임을 가지며 이야기를 나누었다. 회사에 대해서 물어볼 거 물어보고 어떤걸 공부하면 될지, 등등 여러 정보를 들었다. (점심 식대 관련된 것도 이 때 들었다) 중요한 퇴근과 재택근무 관련된 정보도 이 때 들었는데 일단 일 주일에 40시간 채우면서 9시 ~ 10시 사이에 근무 시작하면 되고 퇴근도 적당히 하면 된다고 하셨다. 재택근무 또한 가능한데 인턴은 출퇴근 권장이라고 하셨다. 인턴은 배워야하니까 당연하다
이후 사무실에 돌아와서 사수님께서 어떤 공부부터 해야할지 튜토리얼을 주셨고 나는 따라해보다가 에러생겨서 해결하면서 오후가 다 갔다. 퇴근은 전 날과 같이 5시 반이었다.
정직원 전환 되기 위해서 3개월동안 열심히 공부하고 일할 것이다. 주변 사람들도 다 괜찮아서 커리어 시작하기에는 정말 좋은 곳인것 같다. 점차 성장하고 쓸모있는 개발자가 되어야겠다. 아무것도 모르는 저를 뽑아주셔서 너무 감사합니다