어떤 개발자가 될 것인가?
이 질문에 대해서 정말 오랜시간 고민을 했다.
예전엔 그저 오랫동안 개발을 하는 사람이 되고 싶다는 막연한 바람이 있었다. 미국 개발자 포럼 같은 걸 보면 백발에 수염난 할아버지들이 나와서 여전히 기술에 대해 토론하는 모습을 종종 보게 되는데 나도 그런 미래를 가지고 싶다는 생각을 했었다.
그런데 개발 일을 하다보면 ‘내가 정말 오랫동안 일을 할 수 있을까?’라는 걱정이 들 때가 있다. 주변에서도 언제까지 개발자를 할 수 있을지 모르겠다는 얘기들이 자주 들리는 것을 보면 나만 그런 고민을 하는 건 아닌 것 같다.
기술은 계속해서 변한다. 현대 웹 개발자는 과거에 비해 더 많은 영역을 다루게 됐고 그 과정에서 프론트엔드와 백엔드가 나뉘었다. 백엔드 개발자에게 클라우드 인프라 관리 능력은 필수가 되었는데, 이 마저도 더 깊게 들어가면 DevOps 엔지니어링이라는 전문적인 분야로써 공부할 것들이 넘쳐난다. 실리콘밸리에서는 한 때 개발자들에게 높은 비즈니스 이해도를 요구하는 ‘벤지니어 (Bengineer, Business + Engineer)’ 라는 말이 유행하기도 했고 요즘은 AI가 코드를 짜기 시작하면서 개발자가 AI와 협업하고 경쟁해야 하는 시대에 들어섰다.
오래가는 개발자란 ‘기술 발전과 트렌드에 뒤쳐지지 않는 사람이지 않을까?’라는 생각을 하기도 했는데, 계속해서 트렌드를 쫓아갈 생각을 하면 막막해지는 것도 사실이다. 그러면 무엇을 해야 지치지 않고 개발자로서의 본질적인 가치를 지킬 수 있을까?
이렇게 고민하던 중, 이 모든 변화의 흐름 속에서도 변하지 않는 가치가 떠올랐다.
좋은 개발자는 결국 좋은 프로덕트를 만드는 사람이다.
시대에 따라 요구되는 능력은 변하지만 그 변화의 이유는 결국 “어떻게 하면 더 좋은 프로덕트를 만들 수 있을까?”에 대한 고민에서 비롯된다.
그렇다면 좋은 프로덕트란 무엇일까?
내가 생각하는 좋은 프로덕트는 사용자에게 가치를 안정적으로 전달할 수 있는 프로덕트다.
‘안정적’이라는 건 프로덕트가 문제 없이 동작한다는 의미다. 아무리 좋은 기능을 가지고 있어도 제대로 동작하지 않는다면 의미가 없다. 열에 아홉을 성공해도 한 번의 오류로 인해 사용자에게 가치 전달이 실패할 수 있다. 그래서 개발자에게는 문제없이 동작하게 만드는 힘, 즉 안정성을 확보하는 능력이 기본이 된다.
하지만 안정성만으로는 충분하지 않다.
그 위에 더 중요한 건 ‘가치’ 그 자체다. 비즈니스에서 가치는 결국 사용자의 문제를 해결하는 것에서 나온다. 아무리 견고한 서비스라도 사용자의 문제를 해결해주지 못해서 사용이 되지 않으면 의미가 없다.
이전 회사에서 아쉬웠던 부분이 이 점이었다. 프로덕트를 만들어도 실제로 사용하는 사람이 거의 없었다. 내가 노력해서 만든 결과물이 세상에 아무런 영향을 주지 못한다는 허무함이 쌓였다. 만약 사용자에게 진짜 가치를 주는 경험이 있었다면 그걸 더 발전시키기 위해 연결된 문제들을 찾고 고도화 된 기술 고민들이 있었을 것이다. 하지만 사용자와의 가치 관계가 끊겨 있으니 늘 문제 정의만 반복하며 제자리걸음을 하는 느낌이었다.
결국 좋은 프로덕트를 만드는 일은 개발자 스스로의 성장과도 연결되어 있다.
내가 공부하는 이유도, 기술을 익히는 이유도, 결국 더 나은 프로덕트를 만들기 위해서다. 좋은 프로덕트를 만들었을 때의 가치는 사용자뿐 아니라 개발자 자신에게도 돌아온다.
요즘 이직을 준비하며 회사가 어떤 가치를 추구하는지 중요하게 보게 되는 것도 이런 점 때문인 것 같다. 돈을 벌고 경력을 쌓는 것도 중요하지만 가치에 공감하며 일할 수 있을 때 나는 더 몰입하고 더 오래 개발하고 싶어진다.
결국 내가 되고 싶은 개발자는 기술로 가치를 만드는 사람, 그리고 그 가치가 사용자와 나 자신 모두에게 의미 있는 사람이 아닐까 생각한다.