리누스 토발즈 - 전 이제 코딩을 하지 않아요
(linux.slashdot.org)최근 오픈소스 서밋 키노트에서 한 대화를 옮김.
개발자에게 보내는 좋은 메시지 라고 생각합니다.
Q: 요즘 뭐하세요?
A: 메일을 읽어요. 메일을 쓰고, 이제 코딩은 하지 않아요
제가 작성하는 대부분의 코드는 메일리더 안에서 작성됩니다. 누가 나에게 패치나 PR을 보내면 그거에 반응해서 "아니오, 이건 괜찮지만.." 이라고 말하며 슈도코드를 보내고는 합니다. 패치를 컴파일해보지 않고, 테스트해보지 않고 말그대로 메일 리더에서 썼기 때문에 '내 생각에 이래야 할거 같아요' 라고 얘기하는게 내 일이에요. 난 이제 더 이상 프로그래머가 아닙니다.
난 주로 메일 작성보다 더 많은 메일을 읽기 때문에 결국 내 직업은 "No" 라고 말하는 것입니다.
누군가는 사람들에게 "No" 라고 거절 할 수 있어야 합니다.
다른 개발자들이 뭔가 일을 잘못하면 내가 "No"라고 할걸 알기 때문에 그들이 좀더 조심스러워지기를 희망합니다.
No 라고 얘기할 수 있으려면 그 배경을 알아야 합니다. 그렇지 않으면 내 일을 할수 없기 때문입니다. 그래서 저의 모든 시간을 사람들이 어떤 일을 하는지를 알기 위한 이메일을 읽는데 씁니다. 흥미로운 일이지만 대부분의 시간을 이메일을 읽는데 소비합니다.
개발자들에게 내가 희망하는건, 만드는 것이 좋은 코드 뿐만이 아니라 코드에 대한 좋은 설명도 작성했으면 합니다.
그래서 저에게 커밋메시지는 코드 변경 만큼이나 중요합니다.
때로는 코드 변경이 너무 분명해서 메시지가 필요없는 경우도 있긴 하지만 매우 매우 드뭅니다.
그래서 개발자가 생각해 줬으면 하는 것중 하나는 실제로 코드를 작성하는 사람들은 코드 자체만이 아니라 왜 그 코드가 어떤 일을 하고, 왜 그런 변경이 필요했는지를 설명하는 것입니다. 코드를 저에게 설명해 줄수 있다면 코드를 신뢰할수 있게 되기 때문입니다.
오픈소스의 대부분은 커뮤니케이션으로 이루어집니다. 그중의 일부는 커밋메시지고, 그중의 일부는 왔다갔다 하는 이메일입니다. 왜 당신이 그일을 하는가 또는 왜 그게 당신에게는 워킹하지 않는가를 설명하는 것은 정말 중요합니다.
누군가의 생각,아이디어,작업에 대해서 No 라고 말하기는 정말 어려운 일이에요.
No 라고 말하기 위해서는 그 배경을 알아야 한다는 말에 깊이 공감합니다.