뛰어난 성과를 보이는 "10x 개발자"가 있는지는 알 수 없지만, 팀의 생산성에 부정적인 영향을 미치는 "-10x 개발자"는 누구나 한번쯤 경험해 봤을듯하다.
40시간 일을하며 400시간을 낭비하는 "-10x 개발자"의 행동:
1. 일 뒤엎기 - 요구 사항을 애매하게 작성. 뒤 늦게 변경을 요구.
2. 일이 아닌 일 - 불필요한 사내 발표를 추진. 의미없는 문서 작성 및 절차를 요구. 영양가 없는 데일리 미팅 일정을 잡음.
3. 번아웃을 촉진 - 비판적이고 공격적인 태도로 대화. 조직의 방향을 꾸준히 의심. 팀원의 피드백을 철저하게 무시해 갈등을 유발.
4. 끊임없는 기술적 토론 - 실용적인 해결책을 비판하고 완벽함을 추구. 결정자의 권한을 빼앗아 프로젝트 진행을 지연. 책임 회피.
5. 쓸대없이 일 키움 - 여러 팀이 포함된 미팅을 주도. 다른 팀을 프로젝트에 끌어와 요구 사항을 창조함 . 개발 문서를 널리 공유하고 모든 의견을 수용.
6. 개발 자원 낭비 - 느린 프로그램 작성. DB 인덱스 사용을 거부. 크고 비싼 RAM/CPU에 의존해 성능 향상.
7. 개발 시간 낭비 - 내가 안쓴 코드 == 쓰레기. 무조건 처음부터 다시 작성. 다른 프로젝트에 재사용이 어려운 코드를 작성. 문서화 작업은 철저히 배제.
8. 느린 빌드/테스트 - 빌드 시간이 길면 개발자의 집중이 깨짐을 최대한 악용. 느린 테스트를 작성해 개발팀 시간을 낭비. 쓸대없고 이유없이 고장나는 테스트를 작성.
9. 엉성한 설계 - 설계에 주의를 기울이지 않고, 확장성과 유지보수가 어려운 코드를 작성. 테스트 코드를 당연히 없음.
10. 테스트 환경 - 여러 테스트 환경을 생산해 (sandbox, dev, daily, qa, test, integration, staging, pre-prod, beta, canary) 프로젝트가 릴리즈 되는 시간을 최대한 지연.
11. 정치 - 다른 "-10x 개발자"를 적극적 채용. 정치질로 입지를 다지고 갈등이 있는 훌륭한 개발자들을 쫒아냄.