보통 개발자의 채용 전형 과정은 서류 → 코딩 테스트(or 과제 테스트) → 1차 직무 면접 → 2차 임원 면접 으로 진행된다. 회사마다 전형이 다르지만 내가 공통적으로 느꼈던 부분을 정리해보려고 한다.
서류
서류는 이력서 + 포트폴리오다. 보통 포트폴리오는 선택적으로 제출하는 것이 대부분이지만 나는 필수라고 생각한다. 특히 Android 개발자인만큼 화면을 보여줄 수 있는 장점이 있었다. 이 장점을 적극 활용해서 포트폴리오를 제작했다. 다른 포트폴리오를 많이 찾아 보며 파워포인트로 나만의 양식을 만들었다.
포트폴리오가 나를 뽐내는 것이라면 이력서는 나를 소개하는 것이다. 이력서에는 다음을 포함한다.
1. 프로필 + 간단한 자기 소개
2. 인적 사항
3. 경력 사항
4. 경력 상세 (프로젝트 내용)
이력서도 많은 이력서를 참고하며 나만의 양식을 만들었다. 내가 강조하고 싶은 부분이 무엇일까 많이 고민했다. 나는 영어 점수가 없고 자격증이 부족하다. 인적 사항에 한 줄로 포함시켰다. 하지만 나는 실무 프로젝트 경험이 풍부하다. 그래서 프로젝트에 대해 화면을 첨부하며 자세하게 적었다.
회사에서 경력 개발자가 필요한 이유는 실력과 함께 경험이 풍부한 사람을 원하기 때문이라고 생각한다. 따라서 실무 프로젝트를 적을 때는 아래 내용을 포함시켰다.
1. 프로젝트 내용
2. 맡은 역할
3. 성과
예를 들면 이렇게 쓸 수 있다.
xxxx 개편 프로젝트
1. 프로젝트 내용
- 광고 SDK가 교체되었다.
2. 맡은 역할
- 내가 xxx를 이용하여 교체했다! :D
3. 성과
- 광고 수익이 xx% 증가했다.
보통 성과는 명확한 수치와 함께 적으면 좋다고 한다. 하지만 열심히 일했는데 수치가 없을 경우가 있다. 나는 그럴 경우에는 나의 개발적 성과를 적었다. 예를 들면 "MVVM 패턴을 실무 프로젝트에 적용시키고 유지보수한 경험" 이렇게 말이다.
이렇게 열심히 이력서를 만들었지만 너무 늦게 만들어서 별로 사용하지 못했다. ㅠ
코딩 테스트 / 과제 테스트
대부분의 기업이 코딩 테스트, 과제 테스트 둘 중 하나는 꼭 존재했다. 내가 느낀 코딩 테스트는 Level 1 ~ Level 2.5 정도의 난이도이다. 나는 휴직 기간동안 코딩 테스트 연습을 하루에 1~3개 정도 풀었고, 이것만으로도 굉장히 큰 도움이 됐다. 연습 사이트가 많이 있지만 가장 도움이 많이 된 사이트는 두 가지였다.
프로그래머스는 난이도를 파악하는 데 좋았고, LeetCode는 효율적인 코드를 작성하는 데 도움이 되었다. 회사마다 코딩 테스트를 진행하는 사이트가 다르지만 보통은 프로그래머스와 codility였다. 테스트를 보기 전에 미리 해당 사이트에서 한 문제를 풀어 보는 것을 추천한다.
경력 개발자 코딩 테스트라서 그런 것인지 알고리즘 문제가 아니라 실무에서 필요한 문제가 나오기도 했다. 코루틴이나 오류가 발생하는 코드 추가/수정하기 같은 문제.. 굉장히 흥미로웠다.
과제 테스트는 보통 5~7일 기간동안 요구 사항을 개발해서 제출하는 형식이다. 여기서 주의할 점은 잘 모르는 신기술을 적용하는 것이 오히려 독이 된다는 것이다. 1차 면접 때 무조건 코드 리뷰가 이어지기 때문에 내가 그동안 해왔던 방식대로 개발하는 것을 추천한다. 차라리 코드 리팩토링을 두 번, 세 번 하는 것이 더 낫다. 신기술을 적용할 것이면 기술에 대한 개념과 동작 원리는 숙지해야 한다.
1차 직무 면접
1차 직무 면접은 나의 기술적 역량을 질문 받는 시간이다. 내가 모든 지식을 알 수 없으니 실력과 운이 필요한 시간인 것 같다. 서류에 적은 내용을 기반으로 질문을 하고, 만약 과제를 제출했다면 과제 코드 리뷰 시간을 갖는다.
면접관님은 굉장히 친절하시다. 내가 안 한 부분에 대해서는 질문을 준비하셨어도 하지 않으신다. 하지만 내가 서류에 적은 부분에 대해서는 책임을 져야 한다. 서류에 적었던 기술 스킬은 정말..정말로 잘 알고 있어야 한다.
1. 자기소개 (경력 위주)
2. 서류에 적은 기술
3. Android 컴포넌트
4. Java/Kotlin
나는 1차 면접을 위의 네 가지를 중심으로 준비했다. 하지만 나 또한 모든 정답을 알지 못했다. 모르는 질문이 나오면 그것을 나중에 공부할 생각으로 메모장에 적었다.(비대면 면접이다.) 내가 생각했을 때 예상되는 답을 말하기도 하고, 정답을 직접적으로 물어보거나 힌트를 요청하기도 했다. 내가 이해했다는 시그널을 보내는 이러한 상호작용이 있으면 대부분의 면접은 긍정적인 분위기로 마무리되었다.
100% 대답을 하지 못했던 면접도 위와 같은 분위기면 감사하게도 좋은 결과를 주셨다. 회사에서는 완벽한 팀원을 원하는 것이 아니라 자신이 한 부분에 대해서는 확신을 가지고 있고, 같이 일을 했을 때 배울 의지가 있는 사람을 원한다는 것을 많이 느꼈다. 모른다고 위축되지 말고, 자신있게 틀리거나 앞으로 공부할 의지를 보여드리자. 무엇보다 중요한 것은 긍정적인 모습과 미소!😊
2차 임원 면접
2차 임원 면접은 모든 면접 일정을 마치고 나서 정리하고자 한다 :)
마무리
위에 적은 것들이 무조건 정답은 아닐 것이다. 하지만 나는 이번에 이직을 준비하면서 좋은 결과를 듣고, 좋은 결과를 기대하는 중이다.☺️ 내 글이 이직을 준비하는 주니어 개발자들에게 많은 도움이 되길 바라면서 글을 마친다.
+ 개인 블로그 무조건 추천한다.