-10배 엔지니어가 되는 방법
첨부 '1' |
|
---|
+10배의 엔지니어는 신화일 수 있지만 -10배의 엔지니어는 현실에 존재한다.
-10배의 엔지니어가 되려면 매 주 400시간의 엔지니어링 시간을 낭비하면 된다.
다음 전략들을 조합해보자.
엔지니어 10명의 결과를 무효로 만든다.
개발 단계에서 가능한 최대한 요구사항을 변경한다. 비난을 피하기 위해 처음부터 요구사항을 난독화 한다.
(400시간 짜리) 바쁜 작업을 만든다.
팀에 그것과 비슷한 일을 하게 한다. 일반적인 예로 프리젠테이션, 다이어그램, 티켓관리 등이다. 무의미한 일을 계속 만든다.
(400시간 짜리) 번아웃/턴오버를 만든다.
감사할 줄 모른다. 다른 사람을 탓한다. 혼란을 야기한다. 화를 낸다. 다른 사람들을 초과 근무하게 만든다.
기술 토론에서 10명의 엔지니어를 인질로 잡는다.
엔지니어들이 아이디어를 토론하게 한다. 실용주의보다 우아함을 추구하도록 권장한다. 아무도 결정을 할 권한을 갖지 못하게 한다.
(400시간 짜리) 커뮤니케이션 비용을 더한다.
회의로 일정을 지저분하게 만든다. 눈에 띄지 않게 다른 사람의 시간을 낭비하기 위해, 긴 메시지/문서를 작성하고 가능한 널리 공유한다. 모든 의견을 반기고 참여를 목표로 한다.
10주치 임금을 클라우드 비용으로 낭비한다.
느린 프로그램을 작성한다. DB 인덱스를 사용하지 않는다. 16코어 머신에서 싱글 스레드 프로그램을 실행한다. 멋진 RAM과 GPU를 갖춘 이색적인 하드웨어를 사용한다. 거리낌 없이 RAM/디스크에 데이터를 저장한다. 어떤 것도 압축하지 않는다. 데이터 레이아웃에 신경쓰지 않는다.
쓸모없는 도구를 만든다.
기존 솔루션이 필요하지 않다고 결정한다. 한 사람만 이해할 수 있는 스크립트를 작성한다. 그 스크립트가 뭔가 중요한 작업을 한다면 문서화 하지 않는다.
(400시간 짜리) 컴파일/빌드 시간을 더한다.
느린 빌드는 시간을 낭비하고 그 시간의 복리 계산을 초래한다. 빌드 시간이 길어지면 개발자들은 주의가 분산될 수 있다. 개발자들이 컨텍스트로 다시 돌아오려면 최소 20초가 소요된다. 느린 테스트 코드를 작성해서 비슷한 효과를 낼 수도 있다.
무의미한 테스트를 작성한다.
기본 기능을 테스트하지 않고 특정 변수에 대한 종속성을 만든다. 원래의 코드가 실행되지 않을 때 까지 목업 함수를 호출한다. 이유 없이 성공/실패 하도록 테스트 코드에 미묘한 랜덤값을 적용한다.
잘못된 아키텍처에 400시간의 엔지니어링을 낭비한다.
시간이 지나면서 시스템 설계가 어떻게 발전할 것인지 전혀 고려하지 않는다. 아니면 팀이 그들의 가설을 테스트할 시간이 부족하도록 아키텍쳐 결정에 집착하게 유도한다.
배포에 400시간을 낭비한다.
가능한 많은 환경을 만든다. 프로덕션 환경과 스테이징 환경은 크게 달라야 한다. 취약한 빌드 시스템으로 취약한 코드를 실행한다. 데이터베이스를 자주 마이그레이션 한다.
10주치 임금을 불만 고객에게 낭비한다.
심각한 버그를 찾아내고 해결하는 것에 계속 실패한다. 보안 취약점에는 신경쓰지 않는다.
쓸모없는 문서를 작성한다.
개인 메시지로 코드를 설명한다. 아무도 사용하지 않는 위키문서를 작성한다.
쓸모없는 연구개발 프로젝트에 10명의 엔지니어를 잡아둔다.
유능한 엔지니어를 데려와서 잠재력을 낭비한다. 경영진에게 프로젝트의 난이도는 축소해서 말하고 유용함은 과장해서 말한다. 경영진이 프로젝트를 폐기하기 전 까지 "거의 완료"라고 말한다.
유지보수를 위해 400시간짜리 종속성을 추가한다.
엔지니어들은 각 라이브러리를 개별적으로 학습하면서 시간을 낭비하게 한다.
상황 전환을 지연한다.
절대로 실패를 인정하지 않는다. 팀을 그 매몰비용에 빠뜨린다. 상황을 개선할 수 있는 80/20 법칙을 무시한다.
10명의 0x 엔지니어를 고용한다.
기회비용은 치명적일 수 있다. 무능한 엔지니어는 팀에 직접적으로 피해를 주지 않지만, 팀에 도움이 되는 다른 사람의 자리를 차지하게 된다.
5명의 -1x 엔지니어를 고용한다.
무능한 엔지니어를 고용한 것으로 안심하지 않는다. 재앙을 일으키고 학습하지 않는 엔지니어를 적극적으로 고용한다.
10명의 -1x 엔지니어가 해고되는 것을 방지한다.
그들에 대해 문제를 일으키지 않는다. 실패의 흔적은 서면으로 남기지 않는다. 잘못된 엔지니어링을 보증 해준다.
400시간 동안 버그를 분류한다.
디버깅할 수 없는 프로그램을 만든다. 모든 것에 추상화 레이어를 반죽한다. 스파게티 코드를 작성한다. 모든 것을 초기 조건에서만 잘 동작하도록 예민하게 만든다. 순수 함수를 사용하지 않는다. 거리낌 없이 종속성을 만들어 낸다. 언제나 "내 머신에서는 잘 된다."라고 말한다.
[원문] https://taylor.town/-10x
- 2023.11.30 인간관계 칼 같은 사람 특징
- 2023.11.09 행복은 스스로 만드는 것.
- 2023.11.09 얀테의 법칙
- 2023.09.08 대부분 호텔에 420호가 없는 이유
- 2023.09.07 인생은 짧은 여행
- 2023.08.25 개기일식과 범위
- 2023.06.12 한국 일정과 할 일 (초안)
- 2023.06.08 -10배 엔지니어가 되는 방법
- 2023.02.20 남친에게 야한 셀카 보냈다가 바람 피운것 딱 걸린 여자
- 2023.02.20 옛날에 썸남에게 야한거 보냈다가 박제 됨
- 2023.02.20 뼈 때리는 현실 명언
- 2023.01.19 [팝송으로 배우는 영어] 'Piano Man' - Billy Joel