2013년 8월 30일 금요일

More Joel on Software, 조엘 온 소프트웨어를 넘어서

이전 블로그에서 이전 함 (원본 글 2013/08/30 작성)


 
 모어 조엘 온 소프트웨어 More Joel on Software
 조엘 온 소프트웨어를 넘어서 

조엘 스폴스키 저/이해일 역 | 지앤선(志&嬋)
  

사실 Joel on Software 블로그를 열심히 들여다 본건 아니고 블로그가 좀 유명해지고 보려고 했으나 죄다 영어라서 보기가 싫었고 국내에서 '조엘 온 소프트웨어' 책이 발간되고 나서 봤었다.
그 당시만 해도 웹상에서 소프트웨서 개발에 대한 내용에 대해서 소개하거나 설명, 비판하는 블로그가 많이 없었고 조엘 아저씨가 쓰는 어휘라던지 위트, MS를 가는게 좀 재밌기도 해서 열심히 읽었고 조금이나마 소프트웨어 개발 문화, 역량에 대해서 생각할 수 있었던 것 같다.

암튼 이번 주 도서관에 갔더니 새로운 책이 있어서 빌려 봤었고 그 중 동의하거나 TODO들을 정리함.
책의 전반부에서는 프로그래머에 대해서 프로그래머의 소양에 대한 포스트를 정리 하여 많이 공감되는 부분이 있었으나 후반부에서는 소프트웨어 사업에 대해서 정리를 하여 스타트업을 현재를 별로 고려하고 있지 않은 나에게는 약간 따분했다. 
그리고 사실 조엘 아저씨의 능력과 출신 history 때문인지 나의 생각과는 많고 우리나라 여건과 다소 다른 부분이 있어 그건 그냥 그런 의견도 있구나 라는 생각을 하고 넘겨 버린 것도 있음.

- "제 보고 라인에 선 모든 사람들이 사돈의 팔촌까지 데리고 BillG 검토회에 차석했습니다. 우리 팀 F-카운터도 참석했습니다. 빌이 몇번이나 F로 시작하는 단어를 내뱉는지 세는 게 주요 업무죠."

 : 사실 상사가 욕하는 것은 우리나라 조직 문화에서만 가능한 거라고 생각을 하고 있었던 관계로 의아하면서 웃기긴 했으나 한편으로는 S/W 개발에 대한 냉소적인 생각이 들었음.


- 셋. 개발자를 대하는 실전 지침서

 : 프로그래머를 위한 최고의 근무환경, 개발 장비 제공, 적절한 처우(대우, 직무, 일체감)를 제공해 준다면 최고의 프로그래머가 모일 것이라고 얘기를 하고 있고 뒤쪽 장에서는 수익으로 연결 된다는 얘기를 하고 있음. (사실 21장이 잘 이해는 안되지만...)
 : 심하게 공감가는 글이며 의자, 추가 모니터 같은 개발에 필요한 장비들은 근무기간을 생각하면 금액이 과분한것도 아니고 생산성에 큰 도움이 되지만 S/W 개발에 대해서 문외한인 manager 나 사사건건 계산기 들이미는 사람이 있는 회사 문화에서는 택도 없는 소리임을 알기에 좀 슬픔.
 : 관리방법에 대해서 "명령과 통제 관리방법", "ECON 101 관리방법", "일체감 관리방법" 을 소개하는데 외국에서도 군대식 통재가 있는 것과 가족같은 분위기를 만들어 일체감과 소속감을 만드는 방법이 있음에 좀 놀라웠다. 조엘이 징집, 가족주의가 있는 이스라엘 출신 미국인이라서 그런가?


- 열. 전산학과 학부생에게 건네는 충고

  1. 졸업 전에 글쓰기를 배우세요.
 2. 졸업 전에 C를 배우세요.
 3. 졸업 전에 미시경제학을 배우세요.
 4. 지루하다고 전산학이 아닌 과목을 우습게 여기지 마세요.
 5. 프로그래밍 심화 과정을 수강하세요.
 6. 모든 일자리가 인도로 가버리다는 걱정은 그만하세요.
 7. 무엇을 하든, 훌륭한 회사에서 인턴을 체험하세요.

 : 동의한다, 프로그래머라면 개발 역량은 기본으로 갖춰야 하는데 이를 완성하는 것은 이론 + 코딩 실력 인것 같다. 사실 대학교에서 책으로 배우는 이론 같은 것은 뜬 구름 잡는 얘기 같지만 나중에 실무에서 다... 필요하다. 다른 분야의 지식도 마찬가지.. 뭐 잡스도 연설을 통해 강조 했었으니...
 : 우리나라에서의 인턴은 방학때 대학생들 뽑아서 삽질 시키는 거라 7번은 아직 우리나라 기업환경에서는 역량 개발 보다는 취업을 위해서라면 맞을 듯.


(TODO) Dreaming In CODE 읽어 보기 


- 스물. 증거 기반 일정 세우기

 1. 그 일을 할 개발자만이 제대로 예측할 수 있습니다.
 2. 버그를 발견하면 즉시 바로잡고, 디버깅에 걸린 시간을 원래 소요 시간에 반영하세요.
 3. 초기 예측 시간을 줄이라고 관리자가 개발자를 집적대지 못하게 하세요.
 4. 일정은 장난감 블록 상자입니다.

 : 요즘은 스크럼 방법론을 통해 스프린트를 반복 수행하다 보면 스크럼 팀의 개발 역량이 수렴되어 어느정도 예측이 가능한 것 같음. 하지만 일정은 개발자 본인 혹은 동료 개발자가 잘 아는 것 같고 적절히 기존 스프린트 burndown rate를 기반하여 판단하는게 필요. 또한 잡다한 일들이 중간에 발생하면 바로 스프린트 backlog에 추가 반영하는 것 반드시 필요..


- 스물 여섯. 고음 내기
  "세계 최고 제품은 단지 '생산성 10배' 문제가 아닙니다. '그럭저럭 생산성을 내는' 개발자는 결코 위대한 소프트웨어를 만들어내는 높은 음을 내지 못합니다." ... "2등이 되거나 '충분히 좋은' 제품이나 만들 여유가 없습니다."
  : 좀 씁쓸 하지만 맞는 얘기인걸.. 항상 생각하며 노력 필요.


- 스물 일곱. 생체공학 사무실
 . 문이 닫히는 개인 사무실은 반드시 필요합니다.
 . 프로그래머들에게 전원 콘센트를 많이 제공해야 합니다.
 . 데이터선은 절대 벽을 뜯지 않고 쉽게 재배선할 수 있어야 합니다.
 . 짝 프로그래밍을 할 수 있어야 합니다.
 . 하루 종일 모니터를 보고 일하기 때문에, 먼산을 바라보며 눈을 쉴 수 있어야 합니다.
 . 사무실은 편안한 은신처가 되어야 합니다.

 : 개인 사무실은 꿈이라도 생각해도 짝 프로그래밍, 밖이 보이는 공간.. 효율성을 극대화 한 빌딩 내 닭장 사무실에서 개발 하는 것은 정말 불편하다.


- 스물아홉반. 우아함 
 : 읽어봐야 하나? ==> http://www.alaindebotton.com/architecture.asp

댓글 없음:

댓글 쓰기