Joel On Software 2. 개발자 다루기

jiffydev·2021년 8월 9일
0

Joel On Software

목록 보기
2/3

베테랑 소프트웨어 개발자인 조엘 스폴스키의 블로그의 글을 정리한 '조엘 온 소프트웨어, 유쾌한 오프라인 블로그'를 읽고 내용 & 개인적으로 느낀점들을 정리해 본 포스트입니다.

1. 인터뷰를 위한 게릴라 가이드

아직 면접관의 입장에 서 본 적은 없지만, 이미 동기중에는 면접관으로 들어가 본 사람도 있다.
언젠가 올 그 때를 위해 정리해 보고자 한다.

기본적인 전제는 채용 프로세스에서 우수한 개발자를 놓치더라도 기준 미달자를 채용하지 않는 것이 바람직하다는 것이다.

좋은 지원자를 판단하는 방법을 여러가지가 있는데,
이력서에 실수가 없는지, 전화 면접을 통해 상대적으로 빠르게 기준 미달자를 걸러낼 수 있다.

이후 대면 면접에서 지켜야 할 원칙으로는
같이 일하게 될 사람으로 면접관을 구성, 한 번에 한 명만 인터뷰, 면접관 중 일부가 지원자를 별로라고 생각한다면 채용하지 않을 것, 애매하면 불합격시킬 것 등이 있다.

좋은 지원자의 판단 기준은
똑똑한지, 업무를 성실하게 완수하는지의 두 가지이다. 이 둘을 모두 만족하는 사람이어야 한다.
또한 특정 기술이 아닌, 새 기술을 배울 자질이 있는지를 판단해야 한다.

인터뷰를 시작하기 전에 다음과 같이 해야 할 질문을 미리 준비해 놓는 것도 좋다.

  • 첫 인사
    면접관에 대한 소개, 인터뷰 진행 방식 설명. 정답보다는 어떻게 문제를 해결하는지에 관심이 있다는 사실을 강조하기

  • 최근 프로젝트 경력
    경력자라면 최근에 했던 프로젝트에 대해 개방형 질문으로 묻는다.
    질문 속에서 찾아야 할 것은, 지원자의 열정이 보이는지, 상대 수준에 맞추어 설명할 수 있는지, 리더십이 있는지이다.

  • 답변 불가능한 질문
    대답할 수 없는 질문에 대해 어떻게 반응하는지를 살펴본다.
    정답을 맞히는 것이 아니라 질문에 열성적으로 반응하는 것에 초점을 둔다.

  • 프로그래밍 문제
    10줄 이내로 구현할 수 있는 문제를 주고, 기본적이지만 중요한 개념을 알고 있는지, 코드를 다듬고, 최적화하고, 개선할 방법을 찾아내는 능력이 있는지를 본다.

  • 만족하는지
    코드를 다 작성했으면 이에 만족하는지를 물어본다.
    누구나 실수를 하지만 실수를 찾아낼 수 있는지를 확인하는 질문이다.

  • 질문 있는지
    '총명한' 질문을 하는지는 중요하지 않다. 질문이 없어도 상관 없다.
    우수한 지원자는 회사를 선택할 수 있으므로 여기서 회사가 일할 만한 곳인지를 파악하게 된다.
    따라서 이 파트에서는 면접관도 회사를 선전함으로써, 우수한 지원자가 올 수 있게, 불합격자라도 좋은 인상을 갖고 떠나게 해야 한다.

2. 드러난 빙산의 비밀

XP(eXtreme Programming)에서는 고객이 원하는 양질의 소프트웨어를 빠르게 전달하기 위해,
고객과의 대화를 중시한다.
그런데 고객과 대화를 통해 요구사항을 확실히 알 수 있을까?

조엘은 고객은 자신이 무엇을 원하는지 모른다고 주장한다.
소프트웨어는 빙산과 같아서 사용자가 보는 인터페이스는 고작 10%미만이고 나머지 필요한 작업은 물 밑에 있다.
하지만 고객은 눈에 보이는 것만 알 수 있기에 기능이 다 구현되어 있어도 UI가 덜 완성되어 있으면 완성되지 않은 것이고(UI는 아주 일부임에도) UI가 다 구현되어 있으면 기능이 덜 만들어 졌어도 금방 끝낼 것이라 생각한다.

만약 고객의 '승인'이 필요한 경우에는 별 영향이 없는 외형적인 부분에 대해서만 여러 안을 만들어 제공하고, 본질적인 구현 방식 등에 대해서는 의논하지 않는다.

그러면 이 사이에서 균형을 잡으면서, 고객은 '이 사람이 일을 하고 있구나' 라고 느끼게 하려면 어떻게 해야 할까?
끝내지 않은 부분은 끝내지 않은 것처럼 보이도록하고, 세부 일정을 만들어 진척도를 알려주는 것도 필요하다.

profile
잘 & 열심히 살고싶은 개발자

0개의 댓글