개발자라면 면접 볼 때 회사에 무엇을 물어봐야 할까?

개발자는 보통 한 회사에서 장기간 근무하는 경우가 많지 않기 때문에 본의 아니게 면접 경험을 많이 갖게 된다. 회사마다 면접 방식이 다르지만, 어느 정도 자유로운 분위기의 면접이라면, 면접자에게 회사에 대해 궁금한 점을 물어보라는 하는 경우가 많다. 이럴 때 과연 무엇을 물어봐야 할까?

각종 복지 혜택이나 휴가 제도 같은 것을 물어볼 수도 있겠지만, 이런 건 회사에서 먼저 말해주는 경우도 많고 입사 전에 어느 정도 미리 파악하고 있어야 하는 부분일 수도 있다. 개발자라면 이 회사에서 근무를 하면서 얼마나 성장 할 수 있을지에 대해서 한 번 가늠을 해보는 것이 어떨까? 개발자로서 경험을 쌓고 성장 할 수 있는 기회를 얼마나 제공 받을 수 있는지에 대해서 알려면 회사에 어떤 질문을 해야 할지에 대해 이야기 해보자.

어느 정도 경험을 가진 개발자라면 너무 당연하게 생각하는 내용이겠지만, 이제 막 학교를 졸업하는 취업준비생이나 초급 개발자라면 놓치기 쉬운 부분일 수도 있을 것이다.

1. 어떤 형상 관리 도구를 사용하고 계신가요?

형상 관리 도구 사용 여부는 가장 기본 중에 기본이다. 만약 형상 관리 도구를 사용하지 않는 회사라면 절대 추천하지 않는다. git을 사용한다면 좋겠지만, subversion도 나쁘지 않다. 다만 cvs를 사용 중이라면 고민을 해 봐야 한다. 왜 아직 cvs를 사용 중인지 물어보라.

2. 어떤 이슈 트래커를 사용하고 계신가요?

이슈 트래커는 작업이나 버그 같은 것을 얼마나 잘 신경써서 관리하는지에 대한 척도라 볼 수 있다. 어떤 종류를 사용하는지는 크게 상관없지만, 버그 트래커로만 사용하는지 확인 해 보는 것이 좋다.

3. 개발과 테스트 환경은 어떤 방식으로 구축되어 있나요?

생각보다 제대로 된 개발, 테스트 환경을 갖추지 않은 회사들이 많다. 여러 스테이지로 구성하는 수준까지는 필요하지 않더라도, 개발자별로 제공되는 개발 환경과 통합적으로 관리되는 테스트 환경 정도는 필수라고 보아야 한다.

4. 유닛 테스트와 지속적 통합은 사용 중인가요?

유닛 테스트와 지속적 통합까지 운영하는 회사라면 개발에 대해 많이 신경쓰고 고민했으며 노력하고 있다는 증거다. 이것 역시 사용하는 도구의 종류는 크게 상관없다. 다만 지속적 통합 과정에서 적용하는 여러가지 규칙들이 있는지, 있다면 어떤 것들이 있는지 파악해두는 것이 좋다.

5. 코딩 컨벤션은 어떤 식으로 관리 중인가요?

원활한 협업을 위해서는 꼭 필요한 기초적인 것임에도 불구하고 이것이 없는 회사들도 존재한다. 독자적인 코딩 컨벤션을 사용하는지, 널리 쓰이는 표준적인 것을 사용하는지도 물어보라. 커밋 할 때 검사를 하는지, 문서화는 되어 있는지도 확인 해 두어야 한다.

6. 어떤 개발 방법론을 사용 중인가요?

개발 방법론을 사용 중인지, 사용 중이라면 어떤 종류인지를 확인하는 것이 좋다. 업무 성격에 따라 적합한 방법론은 다르겠지만, 개인적인 경험으로는 애자일에서 회사 상황에 맞게 일정부분 덜어낸 것이 제일 효과적이었다. 업무 스타일과의 궁합도 중요하다.

7. 최근 3개월 내에 초과 근무는 몇 번이나 있었나요?

뛰어난 개발자가 되기 위해서 야근, 철야, 주말 출근은 당연하다고 생각한다면 굳이 신경쓰지 않아도 되겠지만, 크런치는 한두주까지만 효과적이고 그 이상 몇 달 몇 년 길게 보면 적절한 휴식을 취하는 것이 더 낫다. 최근 3개월 내에 초과 근무가 몇 번이나 있었는지 물어보고, 본인이 감당 할만한 수준인지 고민 해 볼 필요가 있다.

끝으로 질문은 이상적인 대답이 나올 수 밖에 없는 방식으로 하면 안 된다. 과거의 경험과 현재의 상태에 대해서 구체적인 답변이 나올 수 있도록 해야 한다. 즉, ‘새로운 프레임워크 도입에 대해 어떻게 생각하시나요?’라고 하지 말고, ‘새로운 프레임워크를 도입 할 때 반발하는 개발자가 있었나요?’라고 질문해야 한다. 모범 답안이 존재하는 질문은 모범 답안을 답변으로 듣게 될 가능성이 높기 때문이다.