개발하기 어렵습니다. 오래 걸립니다. 라고 말하는 당신은 시니어가 아닙니다

지금은 에이전틱 코딩의 시대입니다. 개발 생산성은 그 어느 때보다 높아졌습니다. 그런데도 회의실과 슬랙에는 여전히 "개발이 어렵고 오래 걸린다"는 말이 오갑니다. 그렇다면 정말로 기술과 시간만의 문제일까요?

왜 오래 걸리고 힘든가

기술 난이도와 물리적 시간 때문에 그런 경우도 분명 있습니다. 다만 제가 현장에서 본 다수는 그렇지 않았습니다. 기술보다 아래에 가까웠던 경우가 훨씬 많았습니다.

이건 모두 계획을 세우고 끝까지 밀어붙이려는 의지가 필요한 일입니다. 계획은 언제든 틀어질 수 있고, 맞추려면 때로는 연장 근로까지 감수해야 합니다. 그 순간 우리는 선택합니다. 회피할지, 완수할지.

회피가 패턴이 되면 팀은 개발자 눈치를 보는 쪽으로 기울고, 디자인은 "개발하기 편한" 방향으로만 맞춰집니다. 일정은 밀리고, 사용자 경험도 함께 떨어집니다. "만드는 사람이 힘들어야 쓰는 사람이 편하다"는 말에 나름의 진실이 있다고 생각합니다.

제품 성과가 따라오지 않으면 회사는 비용 절감으로 눈을 돌리고, 가장 큰 덩어리인 인건비를 줄이는 선택까지 고민하게 됩니다. 스스로 던진 말과 태도가 부메랑이 되어 돌아올 수 있습니다.

같은 난이도의 기능, 두 팀

서로 다른 회사에서 겪은 일을 예로 들어보겠습니다. 두 팀 모두 난이도가 있는 기능을 맡았습니다. 첫 번째 팀은 기한 안에 낼 수 있는 해법을 찾아냈고, 출시일과 품질을 함께 지켰습니다. 사용자 반응도 좋았습니다.

두 번째 팀은 요구사항을 받자마자 "어렵고 오래 걸린다"에서 출발해, 곧바로 "기한 내 출시는 불가" 쪽으로 논의가 고정되었습니다. 기능은 줄고 경험은 나빠졌고, 늘어난 출시 일정에 출시 뒤에도 기대한 성과는 나오지 않았습니다. 같은 난이도라도 역량과 태도에 따라 '불가'로만 보일 수도, 해낼 길이 보일 수도 있고, 결과까지 갈라질 수 있다는 경험이었습니다.

시니어들은 먼저 "안 된다"고 말하지 않았다

제가 존경해 온 시니어들은 먼저 "정말 안 될까?"를 되묻는 사람들이었습니다. 경험해 보지 않은 일이라 막막해도, 기한 안에 좋은 품질로 어떻게 만들 수 있을지를 먼저 고민했습니다. 상황상 타협이 불가피할 때도 있었지만, 먼저 안 될 이유를 찾아 나서지는 않았습니다. 이런 태도 하나가 팀의 방향과 결과를 많이 가릅니다.

이렇게 임하려면 헌신이 따릅니다. 밤늦게까지 붙어 있어야 할 수도 있고, 주말 약속을 접어야 할 수도 있습니다. 모두 개인의 선택이지만, 저는 헌신 없이 탁월한 성과는 나오기 어렵다고 봅니다.

회피할지 완수할지는 각자의 몫입니다. 다만 이건 기억해야합니다. 우리는 그 어렵고 복잡한 문제를 풀기 위해 고용된 사람들입니다.