프로그래밍 면접 이렇게 준비한다. (1장)



chapter 01. 구직을 시작하기 전에

너자신을 알라
모든 프로그래머가 다 같은 것은 아니다.
올바른 직장을 선택하는 데 있어서 가장 중요한 것 중 하나가 바로 자신이 어떤 유형의 프로그래머인지를 파악하는 것.

  1. 나는 시스템 프로그래머일까, 애플리케이션 개발자일까?
  2. 나는 사용자 인터페이스 코딩을 좋아하는가?
  3. 나는 디버깅에 능숙한가?
  4. 나는 테스팅을 좋아하는가?
  5. 나는 아키텍트인가 코더인가?

위는 주로 어떤 스타일의 프로그래밍을 좋아하는지에 대해 알아보기 위한 질문들이다.
아래처럼 프로그래밍과 무관한 질문들도 생각해 보아야한다.

  1. 나는 관리 업무에 흥미를 느끼고 있을까?
  2. 대기업에서 일하는 편이 더 나을까?
  3. 중소기업에서 일하는 편이 더 나을까?
  4. 오픈 소스 프로젝트를 좋아하는가?
  5. 나는 장기 프로젝트를 좋아하는가? 아니면 단기 프로젝트를 좋아하는가?

 위 질문들에 대해 자신이 정확하게 원하는 것을 답할 수 있다면 자신이 진정으로 원하는 일을 찾을 수 있는 가능성이 더욱더 높아질 것이다.

시장을 알라
인력 시장이 어떻게 돌아가는지, 그것이 자신이 이상적이록 생각하는 직업을 찾는데 어떤 영향을 끼치는지를 제대로 이해하는 것도 중요하다.
경제적으로 불황이 닥치는 시절에는 시장을 제대로 파악하는 것이 더욱더 큰 위력을 발휘한다.

- 기본적인 시장 정보
개발자 인력 시장에서 어떤 것이 뜨고 지는지 파악하는데 도움이 될 만한 정보는 다양한 경로를 통해 얻을 수 있다.
  • 온라인 구인 목록
      • 대규모 구인/구직 사이트는 기업에서 어떤 인재를 원하는지 파악하는 데 있어서 가장 먼저 살펴보아야 할 부분이다.
  • 서점
      • 분야별로 나와 있는 책의 비율을 살펴보면 기업에서 어떤 기술과 능력에 큰 가치를 부여하는지 파악하는데 도움이 된다.
  • 소셜 네트워킹 및 북마킹 사이트
      • 다양한 기술, 또는 회사에 대해 다른 프로그래머들이 작성한 북마크나 간단한 코멘트 등은 인력시장의 경향을 간접적으로나마 파악하는 데 도움이 될 수 있다.
  • 전문 개발자 과정
      • 대학을 비록한 교육 기관에서는 기업들의 요구에 발맞추기 마련, 수요에 맞는 전문 개발자 과정을 개설하여 운영한다.

- 아웃소싱
: 해당 기업의 핵심 업무가 아닌 일들을 외부 업체에 맡기는 것.
개발도상국에도 교육 수준이 높은 인력들이 늘어나고 인터넷 연결이 가능한 곳이라면 어디에서든 소프트웨어 개발이 가능하기 때문에 아웃소싱 여부를 떠나서 국내 인력으로 하던일을 국외 인력을 활용하게 된다는 것이 문제시 되고 있따.
기업 입장에서는 업무를 

일자리를 알아볼 때는 나중에 아웃소싱을 당하는 일이 없도록 주의해야 한다.
조언을 제시하면 다음과 같다.
  • 소프트웨어 개발 전문회사에서 일한다.
      • 전문회사에서는 그회사에서 개발하는 소프트웨어가 그 회사의 존재 이유다.
      • 제대로 된 회사라면 회사 전체를 외국으로 옮긴다거나 미래를 외부 업체에 맡기는 일은 희박하다.
  • 아웃소싱 업체에서 일한다.
  • 프로그래머 먹이 사슬에서 위쪽으로 올라간다.
  • 관리직으로 전환한다.
먹이 사슬에서 위로 올라가는 것이 가장 좋은 접근법이다.

팔릴 만한 능력을 계발하라
이력서상으로는 물론이고 면접 과정에서도 다른 경쟁자들과 차별화될 수 잇는 능력과 업적을 쌓아놓아야만 한다.
특히 첫직장을 구할 때는 이런 점이 훨씬 더 중요하다.
시장에서 팔릴 만한 능력을 계발하는 데 도움이 될 만한 것을 열거해 보면 다음과 같다.

  • 좋은 학위를 취득한다
      • 구글 같은 회사는 대학원을 졸업한 지원자들을 선호하는것으로 알려져있다.
      • 석사나 박사학위는 구직 활동에 잇어서 크게 도움이 된다.
      • 대학원을 졸업하는 것도 좋지만, 대학에서 운영하는 코스나 전문교육 기관의 개발자 코스 수강 또는 프로그래밍 경시대회에 참가하는 것도 경력에 도움이 된다.
  • 자격증을 취득한다.
      • 직무에 따라 특정 기술에 대한 자격증을 선호한다거나 필수로 요구하는 경우도 종종있다.
  • 사이드 프로젝트를 진행한다.
      • 자신의 주 업무나 연구주제와 직접적으로 연관되지 않는 프로젝트 작업을 통해서도 능력을 계발할 수 있다.
      • 오픈 소스 개발 프로젝트를 새로 시작한다거나 진행 중인 프로젝트에 참여하는 것도 좋은 방법중 하나이다.
      • 회사에서 일하고 있다면 다른 보조 프로젝트에도 시간을 낼 수 있는지 확인해보자.
  • 성적을 잘 받는다.
      • 업무 경험이 부족한 신입사원은 회사에서 학점을 잣대로 삼을 수 있다.
      • 성적이 좋을 수록 고용자 쪽에 좋은 인상을 주게 될것.
  • 지속적으로 공부한다.
      • 어떤 분야의 프로그래밍을 하든 책이나 블로그 등을 통해 새로운 정보를 꾸준히 얻을 수 있다.
      • 식견을 넓히고 또 다른 흥미로운 분야에 대해 배울수 있다.
  • 인턴 경험을 쌓는다.
      • 방학, 휴학 중 회사 경험을 해 보았다면 사회 경험이 없는 다른 경쟁자들에 비해 훨씬 유리한 고지를 선점할 수 있다.
      • 회사에서의 소프트웨어 개발과는 크게 차이 날것이고 회사 입장에서 그런 차이점에 민감할 수 밖에 없다.

핵심적인 것은 커리어의 어떤 과정에서든 지속적으로 배워가는 것이다.
시장에서 팔릴 만한 기술은 하루아침에 쌓이지 않는다.
꾸준히 노력하고 정진할 것 결국 장기적으로 자신의 커리어에 크게 도움이 될 것이다.

일 제대로 해내기
여러 구직자 사이에서 확실하게 두각을 보이기 위해서는 무엇인가를 이뤄낼 수 있는 능력이 필요하다.

박사학위를 땄다거나, 널리 쓰이는 오픈 소스 프로젝트의 주요 개발자로 참여했다거나 하는 일들은 모두 꽤 대단한 성과라고 할 수 있다.
하지만, 어떤 제품에 어떤 기능을 추가했다든가, 제품의 성능을 상당히 향상했다든가, 곁다리 프로젝트를 하나 시작하거나 끝내는 일 등의 작은 성과도 대단한 성과 못지 않게 중요하다.
모두가 내가 일을 제대로 해낼 줄 아는 사람이라는 것을 보여줄 수 있는 증거이기 때문.

채용 담당자들은 여러 가지 성과를 이뤄낸 지원자를 좋아한다. 일을 제대로 해낼 줄 아는 사람에게서 그런 패턴을 볼 수 있기 때문이다.
특히 경력직 개발자는 이 부분이 중요하다. 대단할 일을 해냈든 사소한 일을 해냈든 각각의 성과에 대해 똑똑하고 자신있게 이야기 할수 있도록 항상 준비해 두자.
  • 근본적인 문제점이 무엇이었는지
  • 내가 했던 프로젝트에서 그 문제를 어떻게 풀었는지
  • 기술에 대해 잘 모르는 사람에게도 분명하고 간결하게 설명할 수 잇도록 준비하자
프로그래밍에 대한 열정을 보여주는 것도 언제나 긍정적인 결과를 가져오기 마련이며 한발 더 나아가는 데 중요한 발판이 될것이다.

온라인 프로파일을 정돈하라
온라인 프로파일은 다양한 상황에서 쓰인다.

  • 링크드인 프로파일
  • 다른 소셜 네트워크 프로파일
  • 개인 웹 사이트
  • 기사 및 블로그에 올린 글
  • 댓글이나 포럼에 올린 글

고등학교, 대학교 시절에 실수 한 번쯤 하지 않는 사람은 없겠지만, 이전 세대와는 달리 인터넷 시대를 살아온 사람들에게는 자신이 잊고 싶은 기억조차도 끈질기게 뒤를 쫓아다니는 일도 비일비재하다.

입사 지원을 하기 전에 한 번쯤은 자신의 온라인 프로파일을 꼼꼼하게 살펴보자.
어느 정도 시간을 들여서 긍정적인 프로파일을 만들어 놓자.

요약
제대로 된 자리를 찾기 위해서는 공식적인 구직활동을 시작하기 전의 사전작업도 매우 중요하다.

  • 프로그래머로서, 그리고 회사 직원으로서 좋아하는 것과 싫어하는 것
  • 최적의 직장에 지원하기 위한 시장에 대한 이해
  • 기업에서 선호하고 자기 경력에 도움이 될 만한 능력 개발
  • 최대한 긍정적으로 보일 수 있는 방향으로 공개 프로파일 정리, 기업 입장에서 싫어할 만한 내용 정리

위의 사항들을 꼼꼼하게 체크하자.


'스터디 > 이것저것' 카테고리의 다른 글

프로그래밍 면접 이렇게 준비한다. (2장)  (1) 2016.04.20
myoskin