최근에 이직을 하면서 최종인터뷰에서 재미있는 질문을 받았습니다.
좋은 개발자
란 무엇인지에 대한 질문이었는데, 그동안 막연하게 생각만 하고있던 내용을 얘기하다보니 재미있기도 하고 기록으로 남기기 위해 블로그에 정리하게 되었습니다.
앞으로 작성하는 내용은 오로지 저만의 생각입니다. 다른 분들 각자의 의견을 존중합니다.
개발자는 고객의 요구사항에 따라 특정한 기능 또는 제품을 만들어내는 사람입니다. 이런 역할을 맡고 있기 때문에, 두 가지의 성향으로 나뉜다고 생각합니다. 하나는 개발을 잘 하는 개발자이고, 또 다른 하나는 제품을 잘 만드는 개발자입니다.
개발을 잘 하는 개발자는 기술에 대한 전문성과 동향에 대해 높은 능력치를 가지고 있습니다. 따라서 코드를 로우 레벨까지 분석하는 것, 라이브러리 또는 알고리즘의 성능을 개선하는 것, 개발 생산성을 높이는 것 등에 관심을 많이 가집니다.
이런 개발자들은 난제에 막혀있는 팀원들에게 큰 힘이 되어줄 수 있습니다.
이미 PMF를 찾은 제품을 고도화할 때(1 to 10
, 10 to 100
) 역할을 잘 해냅니다.
이런 고민을 합니다.
- 어떻게 하면 데이터 처리 속도를 높일 수 있을까?
- 어떻게 하면 렌더링 시간을 줄일 수 있을까?
- 어떻게 하면 순수한 개발에 조금 더 집중할 수 있을까?
제품을 잘 만드는 개발자는 다양한 분야, 도메인 그리고 기술스택에 대한 관심이 많습니다. 따라서 제품을 통해 사용자에게 좋은 가치를 전달할 수 있을지 고민합니다.
이런 개발자들은 여러 기술들을 활용하는 능력이 좋고, 다른 직종의 팀원들과의 소통의 창구가 되어줄 수 있습니다.
PMF를 찾기 위한 초기 제품(0 to 1
)에서 역할을 잘 해냅니다.
이런 고민을 합니다.
- 어떻게 하면 사용자가 더 편하게 사용할까?
- 어떻게 하면 사용자를 더 모을 수 있을까?
- 어떻게 하면 제품의 지표를 높일 수 있을까?
좋은 개발자에 대한 저의 생각을 간략하게 정리해봤습니다.
생각해봤을때 제 성향에는 제품을 잘 만드는 개발자가 조금 더 맞는 것 같습니다.
물론 특정한 성향의 개발자가 다른 성향을 전혀 포함하지 않는다는 것은 아닙니다.
각자의 가치관과 목표에 따라 개인의 능력과 커리어를 잘 쌓아가시길 기원합니다.