어쩌다니 생물학 실험을 하는곳에서 좀 있어보았는데, 큰 공간에 장비들이 널부러져 있고

일하는 책상은 그 큰 공간의 1/100 정도 됩니다. 거의 하루종일 실험자들이 말을 주고 받으며 일합니다.


실험하는데 필요한 도구와 재료 그리고 실험이 이루어 지는 공간등이 주인처럼 큰 공간을 차지하고

좋은 대우를 받고 있습니다. 프로그램세계로 보면 모든 전체 프로젝트 목록이 나오는 화면이 40인치 모니터에 나오는

공간이 하나 있고, UI 가 나오는 화면이 대여섯개 있고, 설계문서나 그런 참고 해야 하는 내용도 칠판이든

40인치 모니터든 여러개 있고, 이런식으로 넓은 공간을 예를들어서 하나의 "앱" 을 만드는데 사용하는 장소가 되도록

구조를 가지고, 어떤 기능을 추가 하거나 할 때 그 것과 관련 된 모든 상황을 다양한 모니터 화면에서

바로 다 확인 할 수 있도록, 즉 전체를 보면서 시각적으로 편하고 파악하기 쉽게 상황을 보면서

코딩/설계를 합니다.


공간이 넓으므로 일어나서 몇 발짝 가야 할 것이며 그렇게 활동성도 보여야 프로그래머가 일을 열심히 어렵게 하는줄 

압니다. 컴퓨터 세상이 너무 좋아지다 보니, 수억개 기능과 화면이 있어도 결국 하나의 모니터에 갖혀서 그 안에서

한번에 보인느것은 기껏 한두개의 내용만 한번에 보입니다. 이 것은 장점이자 단점입니다.


프로그래머가 폐인처럼 되고 일이 너무 힘든 이유 중 하나는, 복잡한 내용 설계가 모니터 한두대에 표현되어 그 안에서도

보이지도 않는 화면이 겹겹히 있어서 화면 전환을 수시로 해야하기에 전체 상황을 그저 머리속에서 놓치지 않으려고

기억에 주로 의존하며 화장실 갈 시간도 절약하며 힘들게 제품을 만듭니다. 잠시 자리를 뜨면 어디까지 뭐하고 있었는지

잊어버리기도 합니다.


이제는 프로그램개발에 새로운 방식을 고려해야 합니다. "눈에 보이는 프로그램 개발" 이 필요합니다.

목수가 가구를 만들 때, 공장 바닥에 필요한 모든 것을 놓고 하나씩 만듭니다. 잠시 어디 다녀와도 어디까지 하다가 말았는지

알 수 있고, 남들이 봐도 무슨일을 하는지 알 수 있고, 열심히 하는것도 보입니다.

프로그램역시 가능한대로 많은 컴퓨터와 모니터, 화이트보드, 프린트한 종이, 대화를 통한 문제해결등 최첨단기술이 자동차나 

선박제작현장같은 환경을 만들 필요가 있습니다.


지금 당장, 모니터부터 32인치나 40인치 가운데 하나, 그 양옆으로 2개씩 총 5개를 가지도록 노력하세요.

화면은 문서 페이지, 전체 프로젝트 뷰 화면, 코딩 화면, 관계되는 UI 화면 2개, 뭐 이런식으로 놓고 하고

여유되면 그런것을 한 세크 더 만들어서 저 앞 책상쪽에도 만들고, 다른 화면/기능등을 만들거면 저 엎 책상으로 가서

그 것만 코딩하세요.


그리고 프린터가 있는 책상, 화이트보드가 있는 공간, 이정도는 1인에게 주어지는 최소 공간으로 합니다.