기술적 의사결정의 본질
본문은 기술적 의사결정이 종종 ‘더 현대적이다’, ‘모두가 사용한다’와 같은 비합리적 근거에 의해 이루어짐을 지적합니다. 지식 생성의 비효율성과 익숙함이 경멸을 낳고, 더 나은 선택을 추구하는 인간의 본성이 복잡한 현실을 외면하게 만든다고 설명합니다.
신규 프로젝트와 기존 프로젝트의 의사결정 차이
-
신규 프로젝트: 결정의 중요성이 깊지 않음에도 불구하고, ‘자전거 헛간 효과(bikeshedding)’로 인해 가장 격렬하게 논의됩니다. 기술적 근거보다는 익숙함이나 새로운 시도에 대한 욕구가 더 크게 작용합니다.
-
기존 프로젝트: 데이터와 컨텍스트가 존재하지만, 기존 시스템을 바꾸려는 압력과 당면한 해결책을 선택하려는 경향이 강해 근본적인 문제 탐색이 어려워집니다.
Rails의 ‘오마카세’ 철학: Solid Queue
-
Solid Queue는
rails new실행 시 기본으로 포함되는 Gem으로, Rails 팀의 강력한 지지를 받으며 ‘가치 없는 선택 제거’라는 Rails Manifesto의 원칙을 구현합니다. -
이는 특히 선택의 고민을 줄이고자 하는 경우 매우 강력한 이유가 됩니다. Solid Queue는 새로우면서도 기본이라는 점에서 ‘최첨단이면서 동시에 보수적인’ 위치를 차지합니다.
백엔드 선택 가이드 (2026년 기준)
저자는 백그라운드 잡 백엔드 선택이 실제로 중요한 경우를 가정하여 다음과 같은 조언을 제공합니다.
-
최고의 성능이 필요할 때: Sidekiq Enterprise 또는 Karafka를 사용합니다. 비용이나 ‘최신성’ 논란에도 불구하고, 이 두 가지는 성능 면에서 독보적입니다.
-
그 외의 경우:
- MySQL 또는 SQLite 사용 시: Solid Queue가 최적의 선택이며, 지속적으로 개선되고 있습니다.
- PostgreSQL 사용 시: GoodJob을 사용합니다. PostgreSQL 전용 기능을 활용하여 단순하고 강력한 기능을 제공하며, FANG 기업에서도 사용되는 ‘현대적인’ 선택지입니다.
복잡성과 현실적 조언
모든 시스템에는 한계가 있으며, 데이터베이스 선택(Postgres, MySQL, SQLite, Redis) 또한 복잡한 인프라 결정과 연결됩니다. 저자는 대부분의 문제가 고유한 설정이나 사소한 개인적 실패에서 비롯될 가능성이 높다고 강조하며, 커뮤니티와의 교류를 통해 해결책을 모색하는 것이 중요하다고 언급합니다.