[간단한 후기] 조엘 온 소프트웨어

,

몇 가지 배운 점만 생각나는대로 간략하게 나열한다면,

1. 옛 코드가 개판이라고 투덜대면 안 되겠다는 생각을 하게 됐다. 옛 코드가 아무리 리팩토링도 제대로 안 됐고 지저분하다고 해도 오랜 세월 온갖 환경에서 돌아갔던 코드라는 사실을 인정해야 한다고 조엘은 주장한다. 웹표준 등에 있어서 안 맞는 부분이 있을 수는 있지만 기본적으로 견지해야 할 원칙이라고 생각하게 됐다. 코드를 새로 짜더라도 지난 코드에 기반해서 짜는 편이 훨씬 낫다.

2.프로그래머가 아닌 관리자들은 프로그래밍단에서 돌아가는 복잡한 로직을 이해할 능력이 없다. 프리젠테이션을 할 때 이 사람들은 죄다 아름다운 픽셀만 감상하려고 한다. 그러니까 완성 안 된 기능은 디자인도 미완성인 채로 내놓는 편이 현명하다.

3.설계 과정을 반드시 거쳐야 개발 과정을 단축시킬 수 있다. 기능 명세를 워드로 작성하고 시나리오를 그려 보면서 불필요한 기능, 잘못 생각한 기능을 제거하는 게 코드를 다시 짜는 것보다 훨씬 쉽기 때문이다.

4. ‘지식 노동자’는 일을 할 때 몰입을 할 수 있어야 하는데, 한 번 몰입이 깨지면 다시 몰입 상태로 들어가는 데 평균 15분이 든다고 한다.(이런 이론은 조엘이 여러 번 인용하는 드마르코의 <피플웨어>를 읽어 보면 그런 얘기가 있다고 한다.) 그러니까 프로그래머의 생산성을 높이고 싶다면 업무를 방해하지 말고 개인이 몰입할 수 있는 좋은 개발환경을 만들어 줘라.

5. 개발언어의 가장 아래쪽 단에서 무슨 일이 벌어지고 있는지까지 공부하는 게 훨씬 좋을 것이다. 즉, 바이트가 어떻게 왔다갔다하고 있는지 알아야 한다. 추상 클래스가 많아서 실제 구현까지 신경쓸 필요가 없는 도구들은 생산성을 높여줄 순 있어도 공부 기간을 단축시켜줄 수는 없다.

6. 5번 이유로, 익숙한 개발 언어를 사용하는 편이 좋다. 새로운 언어는 깊이 이해하기까지 온갖 경험을 새로 해야 한다. 오래 경험한 개발언어로 코드를 짤 때 실수를 더욱 줄일 수 있다. 내가 앞으로 진행할 프로젝트로 나는 내가 익숙한 언어를 사용하려는 생각을 하고 있었는데 팀원들이 익숙한 언어를 사용해야겠다는 생각을 하게 됐다.

7. 그 외, 개발 도구는 가장 좋은 것을 사용하는 편이 좋다는 점도 알게 됐다.

IT업계에 일하는 모든 사람들에게 <조엘 온 소프트웨어>를 강추한다.

👇 카테고리 글 목록

,

대표글

댓글 남기기