미들웨어 개발자와 어플리케이션 개발자가 바라보는 서드파티
(지극히 개인적인 경험담입니다.)
가끔 일하다보면 서드파티를 배척하는 미들웨어 개발자들을 만날때가 있습니다.
그들의 주장은 단순했죠.
1. 모든 기능을 요구사항에 맞춰서 직접 만들어야 효율적이고 최적화 시킬 수 있다.
2. 남이 만든걸 어떻게 믿고 사용을 하냐.
글쎄요, 미들웨어 개발자 입장에서는 그럴수 있습니다. 그들이 개발하는 것은 서비스가 돌아가기 위한 기저의
플랫폼을 만드는 경우가 대부분이니까요.
하지만 어플리케이션 레벨은 좀 다른 관점으로 바라볼 필요가 있다고 생각합니다.
어플리케이션 레벨은 빗발치는 변경사항을 고객들에게 가시적으로 보여주는 부분이고 여러 서비스들이 엮여서 동작하는 경우가
많습니다.
일일이 구현하기에는 시간이 없고 그렇다고 디테일을 포기할 수도 없죠.
그래서 어플리케이션 레벨의 개발자들은 집단 지성으로 만들어진 검증된 서드파티 라이브러리들을 사용합니다.
제가 Kafka, Redis, 다이어그램 툴을 사용해서 만드는 서비스가 있는데 함께 일하는 미들웨어 개발자가
직접 구현할 자신이 없냐고 물어봐서 여기다 글을 적었습니다. ㅎㅎ