물건만 가성비를 따지지 말고, 개발도 가성비를 따지자.

많은 개발자들이 내 물건을 살 때는 가성비를 따지면서

회사의 기술스택을 고를 때는 가성비를 따지지 않는다.

이게 오버 엔지니어링 아닐까?


물건을 살 때를 생각해보자.

언제나 가장 좋은 물건을 사고 싶지만, 그러기엔 금액이 너무 비싸다.

그렇다고 싼걸 사기에는 기능이나 품질 면에서 만족스럽지 않을 것이다.


그렇다면 어떤걸 고르면 좋을까?

'나의 상황에 필요한 것'을 구매하면 된다.


당연히 모든 기능을 탑재하면 좋겠지만, 정말 필요한 기능을 빼고 하나씩 지워본다.

그리고 꼭 필요한 기능만 남았을 때 구매해야, 만족도가 높다.


브랜드도 중요하다. 이 브랜드가 좋은 품질의 제품을 만드는가, 그 브랜드의 A/S는 좋은가를 따지는게, 품질과 연관이 있기 때문이다.

알려지지 않은 브랜드인 경우에는 이러한 부분으로 머리아플 일이 생길 수 있다.

개발도 마찬가지다.

'회사의 상황에 필요한 것'을 골라야한다.

메시지큐가 필요한 상황을 예로 들어보자.

성능과 확장성, 여러 방면에서 카프카는 좋은 선택처럼 보인다.

하지만, 그만한 비용(학습비용, 관리비용, 리소스비용)이 필요하다.

반대로 기존에 사용하던 redis를 활용해서 작업하자니,

비용은 저렴해졌지만, 기능적인 한계(메시지 유실, 메시지큐 편의 기능)이 명확하다.


그렇다면 이런 상황에서는 메시지큐가 좋은 대안일 수 있다.


여기서는 "곧 다가올 미래"도 함께 포함해서 고려하는 것이 좋다.

지금 당장은 메시지큐가 가장 적합해보이지만 1~2년 뒤 카프카가 적합해질만한 목표를 가지고 있다면,

비용이 허용하는 내에서는 카프카를 도입하는 것도 방법이다.

이것이 미래를 고려한 설계라고 생각한다.

엔지니어링에서도 '가성비'를 찾는게 실력이다.

무작정 '이게 최고야' 라고 생각하지 말고, 나의 상황에 필요한 것을 골라보자.

#개발 #설계 #트레이드오프

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2025년 7월 27일 오후 12:55

댓글 0