본문 바로가기
C.W.K.
Stream
Lesson 02 of 04 · published

툴을 빌리면 천장까지 딸려 온다

~12 min · build-vs-rent, ownership, architecture, tradeoffs

Level 0툴 빌려 쓰는 사람
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"툴을 빌린다는 건 남이 내린 결정 안에서 산다는 뜻이야. 직접 지으면 아키텍처가 네 쪽으로 휘어."

정직하게 말하면, 기본은 빌리는 거야

웬만하면 있는 툴을 써야 해. 이미지 생성 스택이나 네이티브 캔버스를 직접 짓는 건 비싸고, 잘 만들어진 툴을 똑똑해 보이려고 다시 만드는 건 개발자가 부릴 수 있는 최악의 고집 중 하나야. 그러니까 진짜 질문은 "지을까 빌릴까" 같은 막연한 게 아니야. 이거야. 빌리면 뭐가 같이 딸려 오고, 그 천장이 아플 만큼 낮은가?

빌리면 같이 오는 네 가지

툴을 빌리면 네가 고른 적 없는 네 가지를 떠안게 돼.

  • 그쪽 추상화. API 모양, 데이터 모델, 쓰는 말. 이제 그쪽 단어로 생각하게 돼.
  • 그쪽 로드맵. 네가 필요한 기능은 그쪽이 정한 때에 나와. 아니면 영영 안 나오고.
  • 그쪽 업데이트 주기. 깨지는 변경이 네 일정이 아니라 그쪽 일정에 맞춰 떨어져.
  • 그쪽 천장. 그쪽이 구조적으로 못 하는 건 너도 못 하는 게 돼.

대부분의 프로젝트에서는 이 넷이 다 괜찮아. 통제할 필요도 없고. 문제는 그 툴의 천장이 하필 네 프로젝트가 다루려는 바로 그 능력일 때야. 그러면 빌리는 순간 네 프로젝트가 그 툴의 한계 안에 조용히 갇혀.

천장이 핵심을 건드리기 전까지는 빌려. 짓겠다는 결정은 빌린 툴의 단단한 한계가 하필 네 프로젝트가 넘어서려고 존재하는 그 지점일 때 뒤집혀.

실제로 이렇게 뒤집혔어

이미지 엔진은 원래 빌려 쓰고 있었어. 널리 쓰이는 open-weight 웹 UI 였지. transformer 기반 이미지 모델이 나오기 전까지는. 그 UI 의 파이프라인은 구조적으로 한 가지 아키텍처를 전제하고 있었고, 새 모델들은 그 전제를 깼어. "새 모델 계열을 깔끔하게 못 받아들인다" 는 천장이 하필 이 프로젝트가 제일 필요로 하는 능력이 된 거야. 그 순간 빌리기가 짓기로 뒤집혔어. 그 전에는 아니었고. 자세한 얘기는 다음 트랙에서 해.

비용은 진짜고, 앞에서 다 낸다

직접 지으면 모델 로딩도, sampler 루프도, 메모리 관리도, API 도, 버그도 전부 네 몫이야. 이 비용은 진짜고 바로 떨어져. 대신 사는 건 천장이 너를 영영 가두는 대신 아키텍처가 네 필요 쪽으로 계속 휘어 준다는 거고. 이 거래가 남는 장사인지는 오직 하나에 달렸어. 그 천장이 실제로 아프냐.

'직접 짓기' 는 성격이 아니야. 빌린 천장이 아파서 짓는 건 엔지니어링이야. 짓는 게 재밌어서, 아니면 남의 코드를 습관적으로 못 믿어서 짓는 건 프로젝트가 반쯤 지어진 인프라 미로에서 죽는 길이고. 지금 둘 중 뭘 하고 있는지는 스스로한테 정직해야 해.

피파의 고백

난 한참 동안 빌리자고 우겼어. "멀쩡한 툴 있는데 왜 또 지어?" 아빠 대답에 질문이 통째로 뒤집혔어. 그 툴은 지어진 목적에는 좋고, 우리한테 필요한 건 하필 그 툴이 한 번도 겨냥한 적 없는 거라고. 자기 일에 좋은 것과 우리 일에 좋은 것, 이 둘을 가르는 게 결정의 전부였어. 난 애초에 엉뚱한 축으로 비교하고 있었던 거야.

Code

build-vs-rent 결정 트리·text
결정 흐름: 빌릴까 지을까?

  이 툴이 오늘 필요한 걸 해 줘?  --아니--> 그쪽 로드맵을
            |                              기다릴 수 있어?
           응                                   |
            |                              아니 -> 짓는 쪽 검토
  다음에 필요한 게 이 툴이
  구조적으로 못 하는 거야?
            |
     아니 --> 빌려 (영영 안 닿을 천장이니까)
            |
     응 --> 그 능력이 네 프로젝트의 핵심이야?
            |
     아니 --> 빌려 (드문 경우는 돌아가면 돼)
            |
     응 --> 지어 (그 천장이 곧 프로젝트니까)

External links

Exercise

지금 의존하고 있는 라이브러리나 툴을 하나 골라 봐. 그게 구조적으로 못 하는 걸 하나 적어. 이제 물어봐. 그 한계가 네 프로젝트가 가려는 길 위에 있어, 아니면 옆으로 비껴 있어? 그 답이 곧 빌릴지 지을지의 신호야.
Hint
단단한 한계를 하나도 못 짚겠으면 계속 빌리는 게 거의 확실히 맞아. 짓는 쪽 논리는 네 길 한복판에 앉아 있는 구체적인 천장이 있어야 성립해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.