제목은 행복 철학으로 유명한 버드런트 러셀의 다른 저서의 제목에서 차용했다. 게으름은 개발자에게 가장 필요한 덕목이라 생각한다. 귀찮은 단순 반복적인 일을 안하려면 머리를 쓰는 거 말고 방법이 없기 때문이다. 남에게 시키기도 방법이지만 여기서는 논의하지 말자.
수능 때는 어느정도 연습이 되어 그러지 않았겠지만, 수많이 봤던 모의고사를 기억해보자. 수리영역 시간에 한 문제에 막혀서 그것만 풀다가 끝나버려서 3번으로 몰빵을 찍어본 경험이 한 번 쯤은 있으리라 생각한다. 책의 문구처럼 한 가지 방법에 몰입하는 것도 위험하고 한 가지 문제에만 몰입하는 것도 위험하다. 시간은 한정되어 있지만 최선의 결과를 내어야 한다. 해결되지 않는 문제에 지나치게 몰입하여 시간과 체력을 소비하지 말고, 다른 일을 처리하고 리프레시 한 뒤에 다시 보자. 그 사이에 새로운 인사이트가 생길 수 있다.
장애든 뭐든 온갖 일을 겪어보는 것이 좋다. 다른 사람들의 문제를 보고 그것을 해결하는 과정을 보는 것도 중요하다. 이런 저런 문제들을 해결하며 진흙탕을 구르다보면, 어느샌가 인사이트가 생긴다. 뭐라고 설명하긴 어려운데, 원인을 찾는 과정이 빨라지고 긴급처방 방법과 근본적 해결 방법에 다가가는 방법을 알게 된다. 종종 돈으로 때우는 게 맞다는 처방도 할 수 있다.
자동차를 만든다고 할 때, 바퀴는 사오자. 이더리움 입출금 코드를 만들 때 RPC 스펙보면서 다 구현하지 말고 web3 라이브러리를 쓰자...
아저씨의 원빈처럼 오늘만 살 거 아니다. 가능한 한 업무시간을 준수하도록 해야한다. 물론 회사가 야근을 요구할 수는 있지만... 그렇다면 업무 텐션을 적절히 조절하자... 더불어 이직 준비도 하자. 과도한 양의 업무를 요구하면 이야기해서 업무를 줄여야한다. 받아들여지지 않는다면 마찬가지로 이직을 준비하자.
급여생활자로서 업무에 충실해야 함은 당연하다. 다만 어떻게 해야 더 효율적일지 생각해야 한다. 안 그러면 저기 저 일 안하고 졸고 있는 아저씨랑 똑같은 거다.
우리는 머지 소트에 대해 배웠다. 작게 쪼개서 정렬하면 시간 복잡도가 줄어든다. 업무도 마찬가지로 쪼개면 덜 복잡해진다.
작업을 하다보면 리팩토링하고 싶어 손이 근질거리는 코드들을 수 없이 만나게 된다. 리팩토링하지 말라는 것이 아니다. 새로운 작업으로 리팩토링을 만들고 새로운 브랜치에서 새로운 작업을 하면 된다. 하던 업무는 하던 업무로 끝내야 한다.
라고 팀원이 말하고 실패한다면, 나가서 커피를 마시며 문제에 대해 이야기를 해보자. 본인이 이렇게 이야기하고 실패했다면, 이 문제에 대해 이야기할 수 있는 아무나 데리고 나가도 괜찮다. 문제와 지금까지 시도했던 방법들에 대해 이야기하다보면 번뜩이는 무언가를 깨달을 수도 있다. 지나친 몰입의 함정에 빠졌을 때 잘 빠져나오도록 도와줘야하고, 본인도 잘 해야한다.