프로그래밍 심리학을 읽고 생각 정리

TL;DR

개발은 사람이 하는 것이다. 라는 주제로 500페이지 넘게 써놨다.

프로 개발자가 되고 싶다면, 개발회사에서 관리직을 맡게 된다면 반드시 읽어야 할 책이다.

책에 대한 이야기

책에 대한 요약은 여기 에 잘되어 있다.

책이 너무 두껍다 하면 2부와 3부만 보면 된다.

FOTRAN, PL/1, 천공카드 등에 대한 이야기만 빼면 작년에 썼다고 해도 믿을 정도로 현재의 상황과 맞아 들어가는 부분이 많다.

어쩌면 사람의 본성, 즉 잘 안바뀌는 주제를 다루기 때문에 그런걸지도 모르겠다.

프로, 아마추어

책에서는 프로와 아마추어 개발자를 철저히 구분하고 있는데(아마추어를 멸시하는 듯한 느낌을 받을 정도로)

특이하게도 프로와 아마추어의 차이를 실력으로 구분하지 않는다.

저자는 프로를 높은 기준과 처절한 현실 사이에서 고민하고 타협점을 찾아내는 사람들로 정의하고

아마추어는 실력을 떠나 단지 그러한 고민이 없는 사람들, 즉 눈 앞의 문제를 해결하는데 만족할 뿐 더 이상 개선하지 않는 사람들로 정의한다.

나는 프로인가 아마추어인가, 프로를 코스프레하는 아마추어인가.. 반성하게 되는 내용이었다.

팀의 역할

소속감

개발팀, 디자인팀 등을 묶어주는 것은 개개인에게 자신이 뛰어나고 싶은 분야의 전문적인 집단에 소속되었다는 느낌을 주기 때문에 매우 중요하다.

개발팀이 없는 회사에 지원하고 싶은 개발자, 디자인팀이 없는 회사에 디자이너로 지원하고 싶은 디자이너가 어디 있겠는가?

정보공유

이보다 더 중요한 팀의 기능어쩌면 가장 중요한 기능은 정보공유이다.

팀을 구성하는 단위를 직군(개발, 디자인) 으로 하는 것이 좋은지 아니면 같이 일하는 사람끼리 묶어주는 것이 좋은지(TF 팀)는 아직도 잘 모르겠다.

하지만 확실한 것은 팀 내부의 커뮤니케이션은 자발적으로 활발하게 이루어져야하며, 이것은 팀이 같은 목표를 위해 노력하고 있다고 느낄때만 가능하다.

결국 팀의 구성이 좋은 가 아닌 가를 평가하는 척도는 팀 내의 정보공유가 얼마나 잘 일어나는가로 판단할 수 있을 것이다.

훈련

팀은 팀원을 훈련해야한다.

초보자라는 재료를 공급받아 숙련된 리더를 생산해 낼 수 있는 팀이 제일 좋은 팀이며

이것은 재료의 질(프로의 자질이 있는지)과 팀 내의 커뮤니케이션에 영향을 크게 받는다.

결국 완벽한 팀이란 같은 목표를 공유한 열정적인 사람들이 모여 커뮤니케이션을 활발히 해나가는 모임을 말한다고 볼 수 있으며

개인적으로는 저 세가지 요소중 버려도 되는 요소는 없다고타협할 지언정 생각한다.