Easy Understanding

취업 이후 신입 개발자 취업에 대한 여러가지 생각들 본문

Job

취업 이후 신입 개발자 취업에 대한 여러가지 생각들

appleg1226 2021. 12. 26. 15:43

다행히 취준의 2년이 딱 채워지기 전에 카카오(entertainment)라는 원하는 회사에 개발자로 취업을 하게 되었다.

취업을 하게 된 김에 최근 개발자 신입 채용에 대해서 내가 느꼈던 점을 정리해 보았다.

주로 내가 어려웠던 것들, 느꼈던 것들에 대해서 고민을 정리해 보았다.

 


최근 개발 채용 시장에 대한 생각

최근에 개발자에 대해서 취준생들의 인기가 참 많다는 이야기를 들었다.

각종 개발자 교육 기관은 수료생들이 엄청나게 많으며, 광고에도 개발자 교육 관련 광고가 엄청나게 많다.

 

내가 시작할 때만 해도 개발자에 대한 인기가 이렇게 많지는 않았는데, 이게 다 최근 몇 년 안에 일어난 일이다.

 

몇 년 전만 해도 개발자 관련된 교육이나 활동이 그렇게 많지가 않았다.

내 지인들은 큰 개발 경험 없이도 학교 성적과 알고리즘, 전공지식 정도로 어떻게 개발자로 취업한 사람도 많이 보였었다.

 

최근 몇 년, 뉴스나 주변 이야기들을 들어보면 다음과 같은 이야기들이 많이 들렸다.

1. 개발자가 부족하고 수요가 많다.

2. 개발자 채용이 늘었다.

3. 개발자를 키우기 위한 교육/부트캠프가 늘었다.

 

지금도 뉴스에 신입 개발자 공채를 검색하면 다음과 같은 뉴스가 나온다.

'OOO' 신입 개발자 공채...작년 대비 2배 채용 
'OOO', 대규모 신입 개발자 채용 
'OOO', ‘학력•전공 무관’ 하반기 신입개발자 공채

 

 

이런 것을 보면 개발자 공채는 굉장히 문이 넓은 것처럼 보인다.

실제로 문은 넓긴 하다.

다만 문이 너무 까다로워서 들어가려면 수많은 난관들을 헤쳐 넘어가야만 한다.

일반적으로 아래의 과정을 거치게 된다.

서류 - 코딩테스트 - 기술면접 - 임원면접

 

나는 신입 개발자로서 갈 수 있는 최대한 좋은 회사를 가고 싶어서,

네카라쿠배(줄 세우기는 아니고,, 편의상 이렇게들 부르더라) 같은 회사에 지원을 많이 했었다.

 

이런 회사들의 채용과정 레퍼토리가 대부분 다음과 비슷한 듯 하다.

1. 우리 회사는 좋은 사람이 많이 필요하다.

2. 회사가 생각하는 일정 기준이 넘으면 인원 수 제한이 없다.

3. 그렇지만 우리 회사의 기준은 그렇게 낮지가 않다.

4. 실력이 안 되면 채용 목표에 미달되더라도 어쩔 수 없다.

 

위의 회사들의 전형들은 하나같이 코딩테스트는 어렵고, 면접은 생각보다 딥하게 들어간다.

이런 것까지 물어보나 싶은 것들도 참 많았던 것 같다.

 

결론을 내자면

- 교육이든 공채든 개발자로서 취업을 하기에 기회가 많은 것은 Fact

- 그렇지만 원하는 돈을 받고 싶다면, 그만큼의 엄청난 노력을 해야 좋은 회사에 입사할 수 있다.


어떤 역량이 필요한가

어떤 것을 준비해야 하는가는 심플하다.

위의 네 가지 전형에 완벽하게 들어맞는 인재가 되면 된다.

1. 서류

서류에는 본인의 개발 경험, 개발 지식, 인성 질문이 압축적으로 들어가게 된다.

어떻게 보면 면접에 계속 이어지는 내용들이다.

 

개발자의 자기소개서는 개발자가 본다는 것을 아는 것이 중요하다.

전문 용어, 기술 스택, 관련 경험들을 굳이 숨기지 않고 다 쓰는 것이 중요한 것 같다.

개인적으로는 장황하게 본인에 대해서 설명하기 보다는, 그냥 쓸 줄 아는 기술이 뭐가 있는지를 말하는게 훨씬 낫다고 느꼈다.

 

어떤 기술을 쓸 줄 알고, 어떤 것을 해봤고, 어떤 문제를 해결해 보았고 이런 것들을 잘 이해되게 쓰는 것이 중요한 것 같다.

잘 쓰려면 당연히 잘 알아야 하기 때문에, 본인의 실력이 여기에서 일차적으로 판가름 나게 된다.

 

개발자는 그냥 개발 경험 많은 것이 장땡이라는 것을 느낀 것이

취준 1년차 때에는 자소서에 쓸 경험이 없어서 쥐어짜고는 했는데, 여기에서 떨어진 적이 많았다.

 

그런데 인턴을 몇 번 하고, 실제 업무 경험도 생겼을 때는 쓸 이야기도 많고 떨어진 적도 거의 없는 것 같다.

 

결론을 말하자면, 서류는 본인이 한 일이 많아야 더 잘 나온다는 것.

그냥... 이룬 것 없이 요행을 바랄 수 있는 단계가 아닌 건 확실하다.

 

나는 자기소개서뿐 아니라 보여주고 싶은게 많다보니 github, 포트폴리오까지 모두 첨부했는데

이것도 플러스가 많이 되었던 것 같기도 하다.

 

2. 코딩테스트

알고리즘은 개발자 취업으로서 기본 소양이다.

좋은 회사는 웬만한 알고리즘 실력이 되지 않으면 여기에서부터 쉽지 않다.

알고리즘은 괴물들이 많기는 하지만 그들이 기준은 아니기에 난이도에 맞춰서 일정 수준만 넘으면 된다.

 

코테의 난이도는 카카오 공채를 제외하면, 엄청나게 어려운 알고리즘들은 나오지 않는다.

(카카오의 경우 뒤의 두 문제 정도가 고난이도인데 이건 못 풀어도 합격은 가능한 수준이다)

세그먼트 트리같은 이해 못하는 알고리즘이 나오면 나는 그냥 버렸다.

 

최근에는 다양한 회사들이 채용 의도에 맞게 난이도를 쉽게 했다가 어렵게 했다가 조절하기도 하지만,

확실한건 네카라는 어려웠다...

 

코딩테스트도 참 문제를 많이 풀어봐야 하는 것 같다.

나는 아래의 문제들을 풀면서 준비했다.

- Boj 단계별로 풀어보기

- 프로그래머스 코딩테스트란

 

입구컷을 당하지 않기 위해서는 알고리즘도 정말 열심히 해야 한다.

 

3. 기술 면접

기술 면접은 크게 'CS' + '개발 경험' 두 가지에 대한 질문으로 구성된다.

 

CS는 그냥 어딜 가나 비슷한 것을 물어본다. 

BE 기준 전공과목인 자료구조, 데이터베이스, 네트워크, 운영체제, JAVA, 웹 지식 등을 물어봤던 것 같다.

 

CS 질문은 어느 정도 이해가 된 뒤에는 암기 과목이나 마찬가지다.

기술 면접의 해법은 벼락치기가 답인 것 같은데,

아무리 외워놔도 다음 분기가 되면 까먹는 게 CS기 때문이다.

 

최초 질문에 이어지는 꼬리 질문까지 예상해서 준비하면 된다.

공부할 게 정말 많아서 모든 것을 외우지는 못하겠지만, 여기에서는 최대한 막히지 않고 대답하는 것이 중요한 것 같다.

물론 외운 것을 이해가 되지 않으면 가끔 꼬리 질문에서 막히기 때문에, 최대한 이해하려고 노력하는 것도 중요하다.

 

이건 여러 번 반복해서 보고 이해해보려고 할수록 좋아지기 때문에,

많이 공부하고 많이 경험해보는 것이 정답이다.

 

개발 경험은 본인이 자기소개서에 썼던 것, 포트폴리오에 있는 내용들 위주로 질문이 들어온다.

 

개발 경험이 별로 없었던 시절, 자기소개서에 별다른 내용이 없기에 이에 대한 질문이 별로 들어오지 않았는데,

그 당시엔 내가 딱히 문제가 없어서 물어보지 않는 줄 알았다.

그러나 지금 생각해보니 경험이 없는 것 자체가 마이너스임을 몰랐다.

 

결국 사용한 기술이나 경험이 어떻게든 있어야 이 과정이 진행이 될 수가 있다.

이 과정에서는

- 실제로 사용했는지 체크

- 기술의 학습 과정

- 기술의 적용 과정

같은 것들을 상세하게 물어본다.

 

내가 실력이 좋으면 좋을수록 딥하게 질문이 들어오는데, 

본인이 어려운 기술을 썼다고 자랑스럽게 생각하고 대충 공부하고 넘어간다면 백퍼센트 여기에서 정신이 털리게 된다.

본인이 받을 질문을 감당할 수 있을 정도만 자기소개서에 쓰는 것이 맞는 것 같다.

 

4. 임원 면접

이 단계에서는 기술을 물어볼 수도 있고, 아닐 수도 있지만 웬만하면 물어보지는 않았던 것 같다.

보통 기술 리더들이 들어와서 면접을 보게 된다.

이 단계에서 체크되는 항목들은 다음과 같은 것들이라고 느꼈다.

- 개발에 대한 열정, 관심

- 지금까지 커리어를 위해서 준비해온 과정

- 협업 스타일

 

사실 이 단계에서는 어떤 것 때문에 정확하게 뽑힌다고 하기에는 객관적인 기준이 없어서 자신있게 말은 못 하겠다.

 

다만 확실한 건 이 단계에서 들어오는 질문들도 어느정도 예상할 만한 범주 내에 있다는 것이다.

구글에 '개발자 임원면접 질문' 이라고 치면 나오는 템플릿들이 있는데,

그런 것들을 미리 정리해보니 대부분의 질문들이 그 안에서 나오기는 했다.

 

이쪽도 기술면접과 비슷하게 어느정도 대본에 대한 암기 정도는 필요한 것 같다.


어떤 사람이 개발자가 되는가

위에도 나왔지만 개발자로 취업하기가 절대로 쉬운 게 아니다.

근데 요새 참 뭐 때문인지 여기저기에서 개발자를 되기 쉬운 직업으로 표현들을 하는 것 같다.

2021 하반기 네이버 신입공채 공고 이미지 중

내가 이 공고를 보고 정말 어이가 없었는데,

'누구나 개발자가 될 수 있습니다.' 라는 말이 좀 어이가 없기는 했다.

무슨 꿈만 꾸면 다 되는 것처럼 저렇게 써놓고,

결국은 엄청 실력보고 떨어뜨릴거면서...(실제로 코테에서 떨어짐)

 

나는 저 앞에다 붙여야 할게 많은 것 같다.

'(코딩테스트는 상위권 정도, 개발 프로젝트 경험도 있어야 하며, 최소한 하나의 언어를 능숙하게 다뤄야 하며, 협업에 필요한 소통 능력도 있는 사람이라면) 누구나 개발자가 될 수 있습니다'

 

 

좋은 회사에서 커리어를 시작하려면 일단 이런 역량이 있어야 하는 것은 확실하다. 

그만큼 좋은 회사에서 커리어를 시작하는 건 정말 어려운 것이다.

 

전공에 대해서라면 문이과든 컴공이든 딱히 상관이 없다는 것이 내 생각이다.

전공에서 배우는 것들이 무조건 개발자로서 도움이 되는 내용이고, 그 간격이 크지만

결국은 실제 서비스 개발에 필요한 경험은 스스로 찾아서 공부해야하기에, 그 뒤에는 별로 차이가 크지 않은 것 같다.

 

내가 본 개발자로 취업한 사람들의 유형은 대략 다음과 같았다.

1. 그냥 취업해서 먹고 살려고 왔지만 실력자

2. 개발 자체에 전문 의식을 갖고 있는 사람

3. 컴퓨터와 개발을 좋아하고 학습에 시간 쓰는 것을 아끼지 않는 사람

4. 오랜 시간 개발을 접해온 사람

5. 그냥 괴물(논외)

 

공통점은 다들 똑똑하고 개발을 잘한다는 점인 것 같다.

 


나에 대한 예시

나는 최종적으로 카카오 엔터테인먼트에서 신입 개발자로 시작하게 되었고, 

취업 시점에 대해서 어느 정도의 역량을 가지고 있는지 정리 해보았다.

- 경력

1. 클라우드 서비스 인턴(6주)

2. 포털 서비스 인턴(6주)

3. 스타트업(6개월)

 

초기에는 따로 동아리나 단체에 소속되어서 무엇인가를 했던 것이 아니라서 경험들이 전무했었는데,

두 번의 인턴 경험이 정말 큰 도움이 되었다.

현업에서 사용하는 기술 스택들을 익히고 피드백을 받으면서 프로젝트를 진행하게 되었는데,

매번 끝나고 엄청 레벨업이 되는 것을 느낄 수 있었다.

특히 스타트업의 경우 내가 스스로 원하는 것들을 시도해 볼 수 있는 환경이었기 때문에 더더욱 많이 레벨업 할 수 있었다.

- 기술적 역량

1. 언어: Java, Kotlin, Javascript(Typescript), Python
2. BE: 인턴, 스타트업 포함 5번 이상의 서버 개발 프로젝트, Spring 코드 분석 스터디 등 다양한 스터디 경험,

           RDBMS, NoSQL, Queue, Cache 등의 사용 경험
3. FE: 어드민 정도의 페이지를 React, Vue로 개발 가능
4. Infra: Git, 클라우드로의 서비스 배포, 로깅, 모니터링, CI/CD 구축 능력
5. 기타: 다양한 개발도서 읽기
6. CS: 면접 때마다 반복학습으로 다져진 지식들

 

이 정도의 역량이 취업할 때 충분한지 부족한지는 나도 잘 모르겠다.

이것보다 기술 스택이 적더라도 합격한 사람들은 이미 엄청나게 많기 때문에 중요한 게 아닌 건 확실하고,

면접에서 이를 어떻게 설명하고 풀어나가는지가 더 핵심인 것 같다.