생각 정리/개발

개발은 완벽하지 않아도 된다.

@SoftyChoco 2025. 1. 9. 23:38
@SoftyChoco의 다른 컨텐츠
고민이 있다면? 인프런 멘토링
경험이 부족하다면? 사이드 프로젝트 오픈채팅

예전의 나는 프로그램을 개발하면서 "완벽한 코드"를 작성해야 한다는 압박을 느껴왔다.
하지만 과거의 경험을 돌아보면, 생각과는 다르게 복잡하거나 문제를 일으키는 코드가 되어있던 적이 있다.

당연히 완벽한 코드가 좋은게 아닐까? 완벽하지 않아도 된다는건 무슨 뜻일까?

개발자가 아닌, 프로덕트를 판매하는 입장에서 생각해보자

개발자의 관점에서는 코드의 완벽함이 중요한 요소일 수 있다.
그러나 프로덕트를 판매하는 입장에서 보면, 고객이 느끼는 가치는 코드의 완벽함이 아니라 그 프로덕트가 제공하는 혜택과 경험에 달려 있다.

예를 들어, 출시가 늦어져 고객이 원하는 기능을 제때 사용할 수 없다면, 코드가 아무리 완벽하더라도 고객에게는 큰 의미가 없다.
반면, 약간의 버그가 있더라도 고객이 필요한 문제를 해결하고 가치를 제공할 수 있다면 그것이 더 나은 선택이다.

프로덕트를 판매하는 입장에서는 ‘완벽한 코드’보다는 ‘사용자 중심의 가치’를 최우선으로 고려해야 한다.
고객의 요구와 기대를 이해하고, 빠르게 제공하며, 이후 피드백을 통해 지속적으로 개선해 나가는 것이 중요하다.

또한, 코드는 변한다

개발을 하다 보면, 작성했던 코드가 나중에 변경되거나 삭제되는 경우들을 흔히 경험한다.
이는 코드는 상황에 따라서 항상 변화해야하기 때문이다.
그렇기 때문에 완벽한 코드를 목표로 하기보다는, 현재 상황에서 충분히 작동하고 유지보수 가능한 수준의 코드를 작성하는 것이 더 실용적이다.

완벽함에 집착하는 대신, 이후에 개선할 수 있는 여지를 남겨두고 빠르게 반복(iteration)하는 것이 더 나은 결과를 가져올 수 있다.

왜, 많은 개발자들은 완벽을 추구할까?

많은 개발자들이 완벽한 코드를 추구하는 이유는 다양하지만, 그중 가장 큰 원인은 닥치지 않은 문제에 대한 불안이라고 생각한다.
개발자들도 퇴근 후에 쉬고싶기 때문에... "혹시 나중에 문제가 생기면 어쩌지?"라는 걱정이 개발 과정을 지배하며, 불필요한 복잡함과 과도한 검토 과정을 초래하기도 한다.

또 다른 이유는 자부심이라고 생각한다.
개발자는 자신의 코드가 깔끔하고 효율적이며 오류 없이 작동하길 바란다.
이는 전문성을 드러내고 싶어 하는 자연스러운 욕구에서 비롯된다.
하지만 이런 자부심이 지나치면 본질적인 목표를 잊게 만들기도 한다.

마지막으로, 완벽함에 대한 기대는 조직 문화와도 연결될 수 있다.
오류를 용납하지 않는 환경이나 지나치게 엄격한 코드 리뷰 프로세스는 개발자들이 완벽에 집착하게 만드는 요인이 될 수 있다.

완벽하지 않아도 된다.

물론 완벽한 코드가 필요한 경우가 있다.
사람이 다치거나, 많은 금전적 피해가 발생할 수 있는 상황에서는 작은 오류도 큰 문제가 될 수 있다.

하지만 일반적인 프로덕트에서는 오히려 완벽한 코드보다, 사용자에게 필요한 것을 제공하는 코드가 더 중요한 코드인 경우가 많다.

무조건적인 완벽을 추구하기보다, 현재에 맞는 수준을 찾아서 개발하는 것을 고민해보면 좋을 것 같다.

반응형