소프트웨어에서는 대중을 따른다
저는 기본적으로 최신 버전의 소프트웨어가 더 좋다고 믿습니다.
항상 그렇다는 말은 아닙니다. 그래도 대부분은 그렇습니다.
성능이 좋아지고 버그가 고쳐지고 편리한 기능이 추가되는데, 굳이 오래된 버전을 선택할 이유가 있나?
그렇다고 새 버전이 나오는 날 바로 설치하지는 않습니다.
그 짓을 많이 해봤거든요.
아무리 테스트해서 내놓은 버전도 수많은 사용자가 한꺼번에 사용하기 시작하면 심각한 버그가 튀어나오곤 합니다.
요즘은 상황에 따라 일주일, 길면 한 달 정도 기다립니다.
따끈따끈한 버전에 숨어 있던 큰 버그가 발견될 시간 정도는 기다려보는 것입니다.
결국 제가 좋아하는 것은 갓 나온 최신 버전이 아니라, 사람들이 어느 정도 써본 최신 버전입니다.
라이브러리나 프레임워크를 고르는 기준도 비슷합니다.
여러 선택지를 놓고 고민할 때는 사람들이 가장 많이 쓰는 것을 고릅니다.
사람들이 잘 쓰지 않는 라이브러리 중에 나만 알아본 뾰족한 보물이 있지는 않을까?
가끔은 그런 생각도 합니다.
정말 보물일까?
오랫동안 코딩하면서 느낀 것은 그런 경우가 정말 드물다는 겁니다.
사용자가 많은 라이브러리는 누군가 먼저 같은 버그를 겪었을 가능성이 높고, 검색하면 해결 방법이 나옵니다.
문서와 예제가 많고 주변 도구들도 잘 붙습니다.
좋아서 많이 쓰는 것이기도 하겠지만, 많이 쓰기 때문에 더 좋아지는 면도 있습니다.
주식시장에서는 대중이 틀렸다는 걸 먼저 알아냈을 때 큰 차익을 얻을 수 있습니다.
모두를 따라가면 딱 평균밖에는 가지 못하니까.
소프트웨어에서는 그렇지 않습니다.
운 좋게 나만의 보물을 찾아냈다고 해도 얻는 이익은 그리 크지 않습니다.
코드가 조금 더 예뻐지고 프로그램이 조금 더 가벼워지는 정도.
하지만 잘못 골랐을 때의 고통은 큽니다.
버그도 내가 찾고, 소스코드도 내가 파헤치고, 유지보수가 멈추면 관리까지 내가 떠안아야 합니다.
소프트웨어에서는 대중을 따라간다고 평균만 얻는 게 아닙니다.
수많은 사람이 먼저 겪고 해결한 문제와 그 주변의 생태계를 공짜로 얻습니다.
소프트웨어를 고를 때는 나만 알아본 보물을 찾으려고 애쓰지 않습니다.
그냥 사람들이 많이 쓰는 걸 씁니다.
함께 읽으면 좋은 글: