개밥먹기 (Dogfooding)

2000년에 설립된 체코의 IDE 개발사
JetBrains의 개발 철학은 개밥 먹기(Dogfooding)라고 한다.

개를 위한 밥을 사람이 먹는다니, 도대체 무슨 뜻일까?

혹시 개밥을 먹어본 적이 있는가?
몸에 아주 해롭지는 않겠지만, 아마도 씹기도 전에 뱉어내고 싶을 것이다.

우리가 만드는 제품도 그렇다. 대부분은 ‘내‘가 아닌 ‘고객’을 위해 만든다.
그래서 직접 사용해보면, 생각보다 불편한 부분이 많다는 걸 금방 알게 된다.
“어라? 이 기능, 내가 써보니까 꽤 불편한데?”
스스로 써보지 않으면 절대 알 수 없는 부분이다.

소프트웨어 엔지니어는 종종 자신이 만든 제품을 직접 사용하면서 개선해 나간다.
말 그대로, 자기가 만든 개밥을 스스로 먹는 것이다.

버그를 잡고, 테스트를 만드는 입장에서 보면 이건 너무 당연해 보인다.
하지만 실제로 ‘1인칭 사용자’로 제품을 쓰는 개발자는 생각보다 드물다.
만드는 데 대부분의 시간을 쓰다 보면, 사용하는 감각이 무뎌지기 쉽다.
사용자 관점은 개발자 관점과 다르다. 이건 써보지 않으면 절대 모른다.

JetBrains는 자사 도구인 IDE로 자사의 IDE를 개발한다고 알려져 있다.
개밥 먹기의 끝판왕이라 할 만하다.

Eat your own dog food.
네가 만든 개밥은, 네가 먼저 먹어라.

이건 소프트웨어 엔지니어가 가질 수 있는 가장 강력한 태도이자,
겸손한 철학이라고 생각한다.
이 글을 읽는 당신도, 오늘 한 숟갈 개밥을 떠보는 건 어떨까?

[참고한 자료]