제목: 나쁜 조직이 사람을 망칠 수는 있지만, 업계 전체가 무능하다는 뜻은 아니다

소프트웨어 조직이 사람을 망칠 수 있다는 지적 자체는 맞을 수 있다.

질문하면 불이익을 받고, 장애를 숨기는 사람이 보호받고, 리팩터링보다 단기 실적만 보상받는 조직에서는 좋은 개발 습관이 자라기 어렵다. 유능한 사람이 떠나고, 남은 사람도 책임 회피와 내부 정치에 익숙해질 수 있다.

하지만 여기서 “정상적인 사람은 모두 떠나고 무능한 사람만 남는다”는 결론은 나오지 않는다.

사람이 조직에 남는 이유는 다양하다.


  • 맡은 시스템에 대한 책임감
  • 가족과 지역 등 개인적 제약
  • 보상과 경력 전망
  • 동료와의 관계
  • 이직 시장 상황
  • 조직을 개선할 가능성


장기 근속자가 축적하는 것도 정치 기술만은 아니다. 문서에 없는 업무 규칙, 장애 이력, 고객 요구, 시스템 간 의존성과 같은 암묵적 지식은 오랜 운영 경험에서 나온다.

물론 근속 연수가 자동으로 설계 능력을 높여주지는 않는다. 피드백, 코드 검토, 사고 분석과 학습 기회 없이 같은 일만 반복하면 경험은 전문성이 아니라 낡은 관행의 반복이 될 수 있다.

따라서 문제는 사람의 지능이 아니라 조직의 구조다.


  • 문제를 말해도 안전한가
  • 품질 개선에 시간과 예산을 주는가
  • 권한과 책임이 대응하는가
  • 장애를 숨기는 사람보다 드러내고 고치는 사람을 보상하는가
  • 단기 기능 수뿐 아니라 안정성, 유지보수성과 지식 공유를 평가하는가


직원을 고용했는데 결과가 마음에 들지 않는다면 개인의 역량만 탓해서는 안 된다. 채용, 업무 배분, 목표 설정, 평가, 과부하와 기술 부채 관리가 어떤 행동을 유도했는지도 봐야 한다.

그러나 나쁜 환경이 개인의 괴롭힘, 무책임과 역량 부족을 모두 면책하는 것도 아니다. 조직의 책임과 개인의 책임은 동시에 평가해야 한다.

소프트웨어 업계가 똥통인지 아닌지는 욕설로 판단할 일이 아니다.

이직률, 퇴사 사유, 재작업률, 장애 은폐, 핵심 지식 집중도, 기술 부채와 학습 시간을 측정하면 된다.

사람을 모욕하는 대신 조직이 어떤 행동을 보상하는지 보라. 대개 그곳에 진짜 원인이 있다.