모든 글

시니어 개발자가 다음 개발자에게 남겨야 할 유산

연차가 아니라 유지보수 가능한 코드, 테스트, 가이드와 팀의 지속가능성으로 시니어의 책임을 살펴봅니다.

출처 및 AI 안내: 이 글은 제미니의 개발실무 유튜브를 기반으로 작성되었습니다. gpt-5.6-sol 모델을 사용해 생성·편집했습니다.

시니어는 단순히 오래 일한 개발자가 아니다. 그 사람이 떠난 뒤에도 팀이 코드를 이해하고, 검증하고, 바꿀 수 있는 상태를 남기는 사람이 시니어에 가깝다. 원작성자가 곁에 있어야만 안전하게 수정할 수 있다면 개인의 빠른 처리 능력만으로는 충분하지 않다.

회사 코드는 개인 작업실의 작품이 아니다. 한 개발자가 거대한 클래스의 흐름과 사이드 이펙트를 기억하고 수십 가지 경우를 손으로 확인할 수는 있다. 그러나 다음 개발자는 그 기억을 물려받지 못한다. 담당자가 바뀌는 순간 개인의 숙련이 조직의 위험으로 바뀔 수 있다.

익숙함을 안전망으로 착각하지 않는다

트랜잭션 스크립트는 상황에 따라 충분히 쓸 수 있다. 그렇다고 거대한 클래스, API 요청과 DB 저장 필드를 한 객체로 처리하는 구조, 주석 처리된 코드, 메서드 분리와 테스트의 부재, 동료가 문제를 제기해도 조율하지 않는 태도까지 괜찮아지는 것은 아니다.

오랫동안 같은 코드를 다룬 개발자는 그 안에서 빠르게 일할 수 있다. 그러나 다음 개발자는 그 익숙함을 물려받지 못한다. 테스트와 분리된 메서드와 클래스는 기억과 반복 손검증에 대한 의존을 줄여, 이미 아는 사람만 코드를 다룰 수 있는 상태를 피하게 한다.

가이드와 자유도를 함께 남긴다

시니어는 연차가 낮은 동료의 모든 선택을 대신하지 않는다. 그들의 방식을 듣고, 실수할 여지를 주고, 실수하면 교정하면서 팀이 일하는 방식을 계속 조율해야 한다.

자신의 철학이 있는 것은 좋지만 팀과 조율할 만큼 유연해야 한다. 회사의 소프트웨어를 팀으로 만들고 유지하므로 서로 다른 스타일을 계속 조율해야 한다.

그 사람이 떠난 뒤 남는 상태를 본다

직함보다 중요한 것은 그 사람이 떠난 뒤에도 동료가 일을 이어 갈 수 있느냐다. 테스트, 분리된 메서드와 클래스, 동료의 방식을 받아들일 여지와 실수 뒤의 가이드는 소프트웨어와 팀이 계속 이어지게 하는 유산이다.

다음 사람을 적대하는 이런 패턴이 굳어졌고 리더까지 동조한다면 버티는 일을 경력의 의무로 여기지 말아야 한다. 큰 회사라면 다른 팀으로 옮겨 달라고 요청하고, 그 길이 막혀 있거나 회사가 바뀌지 않는다면 이직해야 한다.

직함과 연차는 자리와 시간을 설명한다. 유지보수 가능한 시스템, 실제로 쓸 수 있는 가이드, 특정 개인 없이도 이어지는 팀은 시니어의 책임을 설명한다. 가장 좋은 유산은 작성자만 다룰 수 있는 코드가 아니라 다음 개발자가 안전하게 고치고 더 낫게 만들 수 있는 여지다.