IT1004

혼자 만들 때 기술을 고르는 기준

개발 실무 IT1004

혼자 만들 때 가장 중요한 기준은 성능도 유행도 아닙니다. 6개월 뒤의 내가 고칠 수 있는가입니다.

세 가지만 봅니다

  1. 내가 이미 아는가 — 배우면서 만들면 두 배로 걸립니다
  2. 자료가 많은가 — 막혔을 때 검색으로 풀리는지
  3. 혼자 배포할 수 있는가 — 인프라가 복잡하면 유지가 안 됩니다

복잡도를 늘리는 선택들

선택혼자 할 때의 비용
마이크로서비스배포·디버깅이 몇 배로. 초기에는 거의 항상 손해
여러 언어 혼용컨텍스트 전환 비용
직접 구축한 인증보안 사고 위험. 검증된 것을 쓰는 편이 안전
과도한 추상화나중에 본인도 못 읽음

단순하게 시작해도 됩니다

초기 사용자 수에서는 서버 한 대와 데이터베이스 하나로 충분한 경우가 대부분입니다. 확장은 필요해진 뒤에 해도 늦지 않습니다.

미리 대비한 확장 구조가 실제로는 한 번도 안 쓰이는 경우가 훨씬 많습니다.

다만 이건 처음부터

6개월 뒤의 내가 고칠 수 있는가

혼자 만드는 서비스는 매일 손대지 않습니다. 몇 달 방치했다가 급하게 고쳐야 하는 상황이 반드시 옵니다.

그때 코드를 열었는데 무슨 일을 하는지 모르겠다면 기술 선택이 틀린 것입니다. 성능이 아무리 좋아도 소용없습니다.

선택이 만드는 장기 비용

선택당장6개월 뒤
익숙한 스택빠름유지 쉬움
새로 배우는 스택2배 느림다시 익혀야 함
마이크로서비스구조가 깔끔해 보임배포·디버깅이 지옥
과한 추상화재사용 가능해 보임본인도 못 읽음
관리형 서비스비용 발생운영 부담 없음

관리형 서비스는 돈으로 시간을 사는 선택입니다. 혼자라면 대개 이쪽이 맞습니다. 데이터베이스를 직접 운영하는 데 드는 시간이 요금보다 비쌉니다.

처음부터 넣어야 하는 다섯 가지

  1. HTTPS — 나중에 붙이면 링크·쿠키·리다이렉트가 다 꼬입니다
  2. 환경변수 분리 — 키를 코드에 넣으면 반드시 사고가 납니다
  3. 로그 — 없으면 원인을 못 찾습니다
  4. 백업 — 사고는 백업 없을 때 납니다
  5. 에러 알림 — 사용자가 알려주기 전에 알아야 합니다
다섯 가지 모두 하루면 됩니다. 그런데 나중에 붙이려면 며칠이 걸리고, 그 사이에 사고가 납니다.

데이터베이스는 특히 신중하게

코드는 다시 쓸 수 있지만 데이터는 못 되돌립니다. 그래서 데이터베이스 선택과 스키마 설계는 다른 것보다 신중해야 합니다.

금액을 부동소수점으로 저장했다가 1원 차이로 정산이 안 맞는 사고가 흔합니다. 처음부터 정수로 다루세요.

무엇을 직접 만들지 말아야 하나

기능권장이유
인증·로그인검증된 라이브러리/서비스보안 사고 위험
결제PG/MoR직접 구현 불가
메일 발송전문 서비스도달률 문제
파일 저장오브젝트 스토리지용량·백업
검색필요해지면 전용 엔진직접 만들면 한계

직접 만들면 재미있지만 유지보수가 평생 따라옵니다. 핵심 가치가 아니라면 남의 것을 쓰는 편이 낫습니다.

자주 묻는 질문

새 기술은 언제 도입하나요?
지금 겪는 문제를 푸는 경우에만 도입하는 것이 안전합니다. “좋아 보여서”는 나중에 비용으로 돌아옵니다.
프레임워크 버전은 최신으로 올려야 하나요?
보안 패치는 즉시, 메이저 버전은 안정화된 뒤에 올리는 편이 안전합니다. 다만 너무 오래 미루면 한 번에 올리기가 더 어려워집니다.
타입스크립트를 써야 하나요?
혼자여도 규모가 커지면 도움이 됩니다. 다만 익숙하지 않다면 초기 속도가 느려지므로 상황에 따라 판단하세요.

같이 보면 좋은 글

개발 실무 전체 글

개발 실무 목록 보기 →