대규모 기술 기업, 왜 '엉망진창' 코드가 나올까?
대규모 기술 기업에서 코드 품질 저하가 발생하는 주요 원인으로, 개발자의 잦은 팀 이동과 전문성 부족이 지적됨
기업은 유연한 인력 운용을 위해 개발자의 전문성 축적을 희생하는 전략적 선택을 함
마감 기한 압박과 익숙하지 않은 코드베이스(Codebase) 환경 또한 코드 품질 저하에 기여함
댓글에서는 기업의 인력 관리 정책과 개발자의 역량 부족에 대한 다양한 의견이 제시됨
잦은 팀 이동과 전문성 부족
글쓴이는 대규모 기술 기업의 개발자들이 잦은 팀 이동으로 인해 특정 코드베이스(Codebase)에 대한 깊이 있는 전문성을 쌓기 어렵다고 지적한다. 평균 1~2년의 짧은 재직 기간과 잦은 조직 개편은 개발자들이 새로운 기술과 코드에 적응해야 하는 부담을 가중시킨다. 이러한 환경은 개발자들이 자신의 전문 분야 밖의 업무를 수행하게 만들고, 이는 코드 품질 저하의 주요 원인이 된다.
기업의 유연성 확보 전략과 코드 품질의 트레이드오프(Trade-offs)
기업은 유연한 인력 운용을 위해 개발자의 전문성 축적을 희생하는 전략을 선택한다. 이는 개발자를 '소모품'처럼 취급하여, 특정 프로젝트에 필요한 인력을 빠르게 투입하고, 필요에 따라 다른 프로젝트로 이동시키는 방식으로 이루어진다. 이러한 전략은 기업이 AI 관련 기술에 빠르게 대응할 수 있게 하지만, 코드 품질 저하를 불가피하게 만든다.
마감 기한 압박과 개발 환경의 영향
대규모 기술 기업의 개발자들은 마감 기한(Deadline)에 쫓기며, 익숙하지 않은 코드베이스(Codebase)에서 작업을 수행해야 하는 경우가 많다. 이러한 환경은 개발자들이 빠른 시간 안에 결과물을 만들어내야 한다는 압박감을 느끼게 하며, 이는 코드 품질 저하로 이어진다. 특히, 주니어 개발자의 경우, 'old hands'의 도움 없이 문제를 해결해야 하는 경우가 많아, 더욱 어려움을 겪는다.
개발자의 역할과 한계
글쓴이는 개발자들이 코드 품질 저하의 근본적인 원인 제공자라고 단정하는 것은 부적절하다고 주장한다. 개발자들은 기업의 전략적 선택에 따라 자신의 전문 분야 밖의 업무를 수행해야 하며, 이는 불가피하게 실수(Mistakes)를 유발할 수 있다. 따라서, 개발자 개인의 역량 부족보다는 기업의 인력 관리 정책과 개발 환경이 코드 품질에 더 큰 영향을 미친다고 분석한다.