성인이 되기 전
가장 처음 무언가를 만들어 보기 시작한 건 안드로이드 OS가 국내에 들어오기 시작할 때쯤이었던 걸로 기억한다.
그 당시 이클립스와 안드로이드 SDK를 설치해 이것저것 만들고 커스텀 OS를 배포하는 등 여러 가지 재미있는 경험을 했다.
사람들이 내가 만든 소프트웨어를 사용하고 반응을 남겨주는 것이 너무 즐거웠기 때문에 시간 가는 줄 모르고 컴퓨터를 잡고 살았던 것 같다.
초등학생 때부터 장래희망이 개발자였기 때문에 여러 가지 경험을 쌓을 시간이 남들보다 조 금 더 많았다고 생각한다.
고등학교에 진학할 때 평소 공부를 잘하는 학생은 아니었기 때문에 원하던 특성화 고등학교에 떨어져서 일반 인문계 고등학교를 진학했고 대학은 어디든 컴퓨터 관련 학과라면 상관없다고 생각했기 때문에 학비 싼 지방의 한 국립대에 입학하게 되었다.
대학교
그동안 인문계 고등학교에서는 만나보지 못한 나와 관심사가 비슷한 사람들이 모여있음이 너무 즐거웠다.
다만 학교 강의에서는 내가 원하는 실질적인 개발을 가르쳐주지 않았기 때문에 학과에서 운영하는 개발 동아리를 들어갔고 실제로 대학교 교수님께 배운 내용들보다 동아리 선배들께 배운 내용이 더 많았던 것 같다.
동아리에서는 선배들이 매주 강의도 해주고 과제를 내줬는데 동아리 과제 난이도가 학과 수업 과제 난이도보다 높았던 걸로 기억한다.
학과 과제는 제출안해도 동아리 과제는 꼬박꼬박 제출함
사실 대학교 1, 2학년은 개발하는 시간보다 술 마신 시간이 더 많은 것 같다.
아직도 당시 술 마시고 동방에 모여 동기들과 음주 코딩한 기억이 새록새록하다.
전역
그렇게 2학년까지 보내고 군대에 갔고 군대에서도 포병으로 갔다가 컴퓨터를 잘한다는 이유로 중간에 행정병으로 보직이 바뀌었다.
내가 할 일들을 한셀(엑셀)과 자바스크립트를 통해 자동화해서 편하게 보냈었고 덕분에 휴가도 많이 나와서 남들보다 편한 군생활을 했다.
다만 IDE가 없어서 노트장에 코드를 짜느라 개고생 했던 기억이 있다.
첫번째 직장
말년휴가를 나와 잠깐 일할 생각으로 여러 가지 회사의 면접을 다녔다.
그러다가 어떤 회사의 단순 관제 업무를 하는 일자리를 구했고 전역날 아침 전역신고를 마치고 빡빡머리로 첫 출근을 했다.
운 좋게 초창기 서비스에 합류하게 되었고 정말 많은 것들을 경험할 수 있었다.
여기서도 나는 관제 업무만 하지 않고 불편한 것들을 만들어내다 보니 나중에는 관제 업무가 아닌 데이터를 수집, 가공하고 휴먼에러를 줄이는 자동화 업무를 하는 등 새로운 기회를 얻게 되었다.
아마 사업 초창기라 가능했던 것 같다.
학교에 복학 후 코로나가 터지면서 모든 강의들이 비대면 강의로 전환되어 내가 개인적으로 관심 있었던 부분을 깊게 공부할 수 있었던 시간이 생겼다.
나는 개인적으로 이론 공부보다는 직접 부딪히고 고민하는 걸 즐기기 때문에 여러 가지 프로그램을 만들고 배포하는 등 의미 있는 시간을 가졌다.
덕분에 학점은 말아먹고 Github엔 잔디밭 이 생겼다.
실제 프로그램을 설계할 때 이론의 중요성은 매우 크다고 느끼지만 그걸 단순히 텍스트로 공부하는 것보다 직접 불편함도 느껴보고 여러 가지 패턴이나 개발 방법론들의 중요성을 깨닫는 게 더 즐거웠을 뿐 CS 지식이 중요하지 않다는 건 아니다.
실제로 CS 관련 질문들도 면접에서 많이 물어봤던것 같다.
취업기
대학교 졸업을 앞두면서 일하고 싶은 새로운 직장을 찾기로 했다.
올해 초부터 약 한 달 반 정도 준비한 것 같다.
일하고 싶은 회사의 기준
개인적으로 몇 가지 일하고 싶은 회사들의 조건들을 생각해봤는데 다음과 같다.
- 초창기 서비스 혹은 프로젝트에 참여해서 A-Z까지 경험해 보는 것
- 업무에 동기가 부여되는 회사
일을 했을 때 임팩트가 눈에 보이는 것에서 나는 즐거움을 찾는다는 걸 잘 알고 있다. 처음 다녔던 회사에서 서비스 초창기에 매일 새로운 것을 만드는 것이 행복했던 이유이기도 하다.
- 새로운 기술 스택 도입에 두려움이 없는 회사
- 개발 문화가 잘 갖추어졌거나 그럴 의향이 있는 회사
프로젝트도 Backend, Frontend 구분 없이 진행했었기 때문에 해당 회사에 기술 스택에 따라 포지션을 바꿔가며 지원했다.
이력서 작성
포트폴리오나 이력서는 따로 만들지 않고 원래 만들어 뒀던 개인 페이지에 프로젝트나 학력 업무 경험들을 추가하는 것으로 대체했다.
그리고 해당 페이지 주소를 Wanted나 자체 채용사이트를 통해 각 회사들에 돌렸다.
생각보다 많은 채용 과정에 참여할 수 있는 기회를 얻을 수 있었고 한 번에 너무 많은 면접과 과제를 진행하느라 힘들었다.
만약 다음에 이직을 하게 된다면 스케쥴링을 잘해야 할 것 같다.
사실 아직 채용 과정이 종료되지 않은 몇몇 회사들도 있지만 모두 종료 의사를 밝히는 메일을 보내 놓은 상태이다.
기억에 남는 회사
다음은 내가 경험했던 채용 과정들 중 기억에 남는 일부를 정리해 놓은 것이다.
당근마켓 (Frontend Engineer / 경력 무관)
개발자 두 분과 진행했고 편안한 분위기를 유도해 주셨지만 너무 준비를 안 했던 것 같다.
인터뷰 기회를 얻었지만 이 당시 아직 첫 번째 인터뷰였기 때문에 뭘 물어볼지도 감이 안 잡혔고 아무 준비도 없이 인터뷰를 진행했다.
덕분에 날카로운 질문 공세에 신나게 맞다가 끝났다.
다음 인터뷰를 준비할 수 있는 좋은 경험이었던 것 같다.
인프런 (Frontend Engineer / 경력 3년 이상)
오랜만에 프레임워크나 라이브러리 없이 자바스크립트만으로 개발을 했고 코드에 대한 피드백을 줬던 부분이 기억에 남는다.
버킷플레이스 / 오늘의집 (Data Engineer / 경력 무관)
SQL과 프로그래밍 언어 하나를 선택해서 코딩 테스트를 진행했고 난이도는 매우 쉬운 편이었다.
나는 파이썬과 Go 중에 고민하다가 Go를 이용해 풀었다.
특이했던 점은 서류 이후 과정에 참여하면 과정마다 인터뷰 비용을 오늘의 집 포인트로 지급했다.
넥슨 (Backend Engineer / 경력 무관)
결과 통보까지 좀 오랜 시간이 걸리긴 했지만 합격 관련 내용들은 담당자에게 직접 유선으로 안내받았다.
코딩 테스트는 자체 플랫폼에서 진행되었고 난이도는 다른 기업들에 비해 어렵진 않았다.
학교에서 배울만한 정석정인 알고리즘 문제였던걸로 기억한다.
OPGG (Backend Engineer / 경력 2년 이상)
유일하게 하는 게임인 리그 오브 레전드의 전적 검색 사이트인데 해당 서비스를 자주 이용하는 나는 해당 공고를 보고 홀린 듯이 지원했다.
아무래도 실제 사용하던 서비스이다 보니 개발에 참여해보고 싶다는 생각이었던 것 같다.
서류 합격 이후 과제 전형이 진행되었는데 최근 3주 동안 여러 회사의 과제를 동시에 진행했기 때문에 부득이하게 과제 기간 조정을 요청했다.
결국 더 이상 과제 전형은 진행하지 않았다.
OPGG는 코딩이 아닌 아키텍처 설계를 통해 과제를 진행했는데 이런 식의 과제도 있다는 걸 처음 알았다.
힐링페이퍼 (Frontend Engineer / 경력 3년 이상)
나중에 동료 개발자 분들을 통해 알게 된 사실이지만 현재 재직 중인 회사에서 같이 일하신 적이 있으시다고 한다.
처음 보는 플랫폼으로 코딩 테스트를 진행했고 난이도는 무난했다.
알고리즘보다는 코드 퀄리티나 작성 과정을 볼 수 있는 플랫폼인 듯했다.
채용 프로세스 진행과정이 매끄럽진 않았지만 개발자분들께 내 코드에 대한 피드백도 받을 수 있었고 유익한 경험이었다.
특이했던 점은 보통 면접관들의 채용 리소스를 아끼기 위해 코딩 테스트를 보통 먼저 진행하는데 면접 이후에 코딩 테스트가 진행되었다.
워시스왓 / 세탁특공대 (Backend Engineer / 경력 무관)
express 베이스였고 토큰 생성, 계정 생성 등 기본적인 기능들은 MVC 패턴 기반으로 구현되어 있었다.
DAO나 Service 코드를 얼마나 효율적으로 작성하는지 보고 싶었던 것 같다.
프로세스를 진행할 때마다 일정 금액을 입금해줬다.
채용 과정에 시간을 투자하는 입장에서는 좋은 지원 경험을 줬던 것 같다.
야놀자 (Backend Engineer / 경력 3년 이상)
난이도는 어렵지 않았지만 지문이 모두 영어였다.
코드 짜는 시간보다 문제 이해하는 시간이 더 오래 걸렸던 것 같다. (영어 공부 좀 해야 할 듯)
Socar (Software Engineer / 경력 무관)
코딩 테스트에서 광탈한 회사이다.
개인적 으로 경험해본 모든 회사들 중에 코딩테스트 난이도가 가장 어렵지 않았나 생각한다.
비바 퍼블리카 / Toss (Frontend Engineer / 경력 2년 이하)
코딩 테스트도 일반적인 플랫폼에서 진행하는 것이 아닌 정해진 시간에 Github repository에 초대되어 문제를 풀고 제출하는 방식이었고 인터뷰 전 보안 서약서도 작성한다.
금융 관련 기업이다 보니 그런 듯
채용 과정에 늦게 참여해서 이미 특정 회사에 합류하기로 마음먹은 이후라 이후 채용과정에는 참여하지 않았지만 조금만 더 일찍 결과가 나왔으면 고민했을지 모르겠다.
굿닥 (Frontend Engineer / 경력 3년 이상)
FE 스택 외에도 여러 가지 기술 스택들에 관심을 가지고 계셨는데 그런 부분들덕에 Frontend 뿐만아니라 여러가지 주재를 오가면서 대화를 나눴다.
이후 채용 과정이 딜레이 되는 등 부드럽게 진행되진 않았지만 테크 리드분의 마인드나 관심도가 확실하게 느껴졌다.
토스와 마찬가지 이유로 남은 채용과정은 참여하지 않았다.
슈가힐 / 네모 (Frontend Engineer / 경력 1년 이상)
두분 모두 자신이 만들고 있는 프로덕트의 퍼포먼스를 최적화하신 부분에 대해 자부심이 있으신 것 같았고 나 역시 그 부분에 관심이 있었기 때문에 대화가 즐거웠다.
내 프로젝트에 대한 발표가 있었기 때문에 PPT를 준비했고 이와 관련한 질문들이 편한 분위기 속에서 오고 갔다.
게더 타운에서의 인터뷰는 신선했고 실제로 직방의 자회사인 만큼 직방 자체 메타버스 플랫폼에서 근무한다고 했다.
사실 이 글을 쓰고 있는 날짜 기준으로 오늘 점심 최종 인터뷰 일정이 잡혀있었지만 Toss나 굿닥과 같은 이유로 참여하지 않았다.