"코드가 돌아간다"는 기준선이지 목표선이 아닙니다. 진짜 엔지니어링 성숙도는 기능이 작동하는가가 아니라, 누군가가 scope, 모호함, 사람을 어떻게 다루는가에 관한 것입니다. 내가 쓰는 가장 단순한 정의는 이렇습니다. 엔지니어는 더 적은 지도로 더 큰 문제를 맡을 수 있을 때 성장하고 있습니다.
| 신호 | 덜 성숙함 | 더 성숙함 |
|---|---|---|
| 문제 크기 | 잘 정의된 task가 필요 | 열린 문제를 맡음 |
| 지도 | 방향을 잡아 줘야 함 | 독립적으로 일함 |
| "완료" | 코드 merge | 결과를 전달하고 소유함 |
| 영향 반경 | 자기 자신의 일 | 팀의 효과성 |
두 엔지니어가 똑같이 기능을 ship합니다. 한 명은 티켓을 닫습니다. 다른 한 명은 위험한 edge case를 PM에게 알리고, 모니터링을 추가하고, 다음 사람이 헤매지 않도록 짧은 문서를 씁니다. 같은 코드를 ship했지만 성숙도는 매우 다르며, 내가 키워 가려는 것은 두 번째 행동입니다.
코드가 작동하는지만 측정하면 산출물을 보상하고, 실제로 복리로 쌓이는 것들, 즉 판단력, 주인의식, 남을 끌어올리는 일을 놓칩니다. 이 기준들을 명시적으로 이름 붙이면 엔지니어에게 "성장"이 무엇을 의미하는지에 대한 분명한 지도를 주고, 당신에게는 피드백과 승진을 위한 공정하고 일관된 근거를 줍니다.