누군가 Hacker News에 물었다. 시니어 개발자가 되기까지 얼마나 걸렸는지. 대답은 다양했지만 한 가지 분명한 것이 있다. 시간만으로는 충분하지 않다.
단순히 10년을 버텼다고 시니어가 되는 것이 아니다. 1년의 경험을 10번 반복한 것과 10년의 성장은 다르다. 중요한 것은 시간보다 경험의 깊이다.
시니어의 조건
시니어 개발자는 무엇이 다를까? 기술적 깊이만으로는 부족하다. 시스템 전체를 보는 시야가 필요하다. 비즈니스 맥락을 이해하고, 트레이드오프를 평가하고, 팀을 이끌 수 있어야 한다.
실패 경험이 중요하다. 프로덕션 장애를 겪고, 잘못된 아키텍처 결정을 보고, 기술 부채의 대가를 치러봐야 한다. 책으로는 배울 수 없는 것들이 있다.
빠른 성장의 조건
스타트업에서 5년이 대기업에서 10년보다 더 많은 것을 가르칠 수 있다. 소규모 팀에서는 더 넓은 범위의 문제를 직접 해결해야 한다. 실패의 결과도 더 직접적으로 경험한다.
하지만 대기업에서만 배울 수 있는 것도 있다. 대규모 시스템의 운영, 조직 간 협업, 레거시 코드 관리. 이상적으로는 둘 다 경험하는 것이다.
결론
시니어가 되는 데 걸리는 시간? 사람마다 다르다. 3년 만에 되는 사람도 있고, 15년이 지나도 못 되는 사람도 있다. 중요한 것은 시간이 아니라 의도적인 성장이다. 어려운 문제를 피하지 않고, 실패에서 배우고, 계속 질문하는 것.