I'm a Product Engineer.

What It Means to Be a Product Engineer

dukjjang

dukjjang

2025년 3월 4일

dev

나는 제품을 만드는 엔지니어이자 창작자가 되고 싶다. 단순히 개발자나 코드를 작성하는 사람이 되고 싶지는 않다.

제품 엔지니어도 코드를 작성하고, 코더도 코드를 작성한다. 겉으로 보기에는 차이가 없어 보이지만, 사실 나는 이 둘 사이에 큰 차이가 있다고 생각한다.

나는 그 차이가 **마인드(생각의 방식)**에 있다고 본다.

자신을 창작자이자, 사람들이 사용하는 제품을 만드는 사람이라고 생각하면 실제로 그렇게 일을 하게 된다.
반대로, 자신을 그냥 개발자나 코드를 작성하는 사람이라고 생각하면, 결국 단순한 개발자 혹은 코더가 된다.

내가 생각하는 제품 엔지니어는 사람들이 필요로 하는 것을 만들고, 어떤 문제를 해결할 수 있는지, 사람들이 어떻게 사용할지를 고민하는 사람이다.
반면, 코더는 코드를 더 깔끔하고 단순하게 만드는 것이나 코드 구조를 정리하는 것에 집중한다.

물론 나도 코드의 품질, 좋은 설계 방식 같은 것들에 관심이 있다. 하지만 그것이 가장 중요한 요소는 아니라고 생각한다.
사람들은 자신이 사용하는 앱이 어떤 코드로 만들어졌는지, 얼마나 깔끔한 구조로 개발되었는지 신경 쓰지 않는다. 아니, 아예 관심조차 없다.
그들이 신경 쓰는 것은 오직 ‘이 제품이 나에게 도움이 되는가?’ 하는 점이다.

나도 그렇지만, 개발자들은 종종 자신이 만든 함정에 빠진다. (일론 머스크도 같은 말을 했다.)
늘 새로운 기술을 탐색하고, 그것들이 마치 가장 중요한 것처럼 이야기한다. 하지만 실제로는 그렇게 중요한 경우가 많지 않다.

기술은 결국 제품을 만들기 위한 수단일 뿐이다.
기술 그 자체로는 아무런 의미가 없다.
극단적으로 말하면, 사람들이 불편함 없이 사용할 수만 있다면, 하드코딩이든 뭐든 상관없다.

어떤 앱은 새로운 프레임워크를 사용했고 예쁘고 우아한 코드로 만들었지만, 아무도 사용하지 않는다.
반면, 어떤 앱은 코드가 조금 엉망이고 복잡하게 만들어졌지만, 사람들이 실제로 유용하게 사용하고, 심지어 돈까지 낸다.

물론, 코드의 품질이 전혀 중요하지 않다거나, 사람들이 잘 사용하기만 하면 코드가 엉망이어도 된다는 얘기를 하려는 것은 아니다.
좋은 코드를 작성하면, 제품이 성공할 확률은 더 높아진다.

하지만 제품을 만들다 보면 수많은 선택을 하게 된다.
이때, 개발자는 자신의 만족이나 코드를 더 멋있어 보이게 만드는 것에 집중할 수 있다.
반면, 제품 엔지니어는 멋이 없어도, 옛날 기술을 써야 해도, 코드가 완벽하지 않더라도, 당장 사람들이 불편을 해소할 수 있고 가장 빠르고 효과적인 해결책이라면 그것을 선택한다.

나는 교과서에 나올 법한 깔끔한 코드를 작성하는 사람이 아니라, 사람들이 실제로 사용하는 제품을 만들어내는 사람이 되고자 한다.
내 목표는 유용한 제품을 만들어 세상에 가치를 더하는 것이다.
나는 프로덕트 엔지니어다.