brunch

You can make anything
by writing

C.S.Lewis

by Francis Dec 20. 2023

소프트웨어 개발자는 제품을 만든다

개발자인 당신은 무엇을 만들고 있는가? 왜 그것을 만들고 있는가?

소프트웨어 개발자(Software Developer)라고 하면 일반론적으로는 소프트웨어를 개발하는 모든 사람을 통칭한다고 보는 게 더 적절할지 모르겠다. 하지만 대게는 프로그래밍(혹은 코딩) 하는 사람을 떠올릴 것이다. 대중매체를 통해 흔히 묘사되는 것도 모니터에 코드 편집기를 띄워놓고 잔뜩 응시하는 모습인 것처럼 말이다. 그런 사회적인 통념 속 모습처럼 처음에는 나도 프로그래밍이란 행위 그 자체에 재미를 느꼈고, 그 결과물이 동작하는 모습을 보면 뭔가 대단한 일을 한 것 같아 흥분되고 뿌듯했었다. 솔직히 말하면 이 재밌는 것을 돈을 받으면서 하면 얼마나 좋을까 하는 막연한 생각으로 직업 개발자의 세계에 첫 발을 내디뎠던 것 같다.


하지만 막상 월급을 받는 직업 개발자가 되어 보니 어느 순간 세상에 쓸모를 제공하는 무언가를 만들어 내지 못하면 직업으로써 지속될 수 없음을 깨닫게 되었다. 즉, 내가 기여한 제품이 세상에서 가치를 인정받아야 하는 것이다. 세간에서는 이를 Product-Market-Fit(PMF)이라고도 부르는데, 스타트업들이 죽음의 깊은 골짜기(Death valley)에 떨어지기 일보 직전까지 어떻게든 발버둥 치며 애써보는 애증과도 같은 개념이다.


누군가는 제품을 만드는 개발자만 개발자냐고 반문할지도 모르겠다. 물론 개발자도 다양한 부류가 존재한다. 하지만 그 본질을 잘 들여다보면 결국 끝에는 제품과 연결되어 있다. 예를 들어 사내 개발자가 사용하는 내부 플랫폼을 개발하는 개발자는 제품 개발자의 생산성을 높여서 제품을 만드는 데 기여했다고 볼 수 있는 것이다. 그래서 주 고객이 개발자인 플랫폼 엔지니어링도 제품적인 관점으로 운영하는 게 매우 중요하기도 하다. (플랫폼 엔지니어링의 제품적 관점은 기회가 된다면 나중에 따로 다뤄보겠다.)


이렇듯 소프트웨어 개발이란 업(業)의 본질은 세상에 가치를 제공하는 제품을 만들고 작동하게 하는 일이다. 제품을 보다 효과적으로 구현하고 유지보수하기 위해 개발 역량을 키우고, 그 과정에서 효율성을 높이기 위해 좋은 도구를 사용하고 때로는 자동화하는 것이리라. 그러므로 개발자 자신은 그저 요구사항을 구현하는 데 그치는 존재가 아님을 명심해야 한다. 왜 애자일(Agile) 방법론에서 개발자를 창작자(Maker)라 부르겠는가. 주도적으로 제품을 구현하고 더 낫게 만드는 창작자가 바로 개발자란 사실을 잊지 말자. 제품적 사고를 장착한 개발자가 만든 제품이야 말로 세상에서 가치를 발하리라 믿는다.


개발자인 당신은 무엇을 만들고 있는가? 왜 그것을 만들고 있는가?

작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari