책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 컴퓨터 공학 > 소프트웨어 공학
· ISBN : 9788998139360
· 쪽수 : 304쪽
· 출판일 : 2013-11-28
책 소개
목차
▣ [01부] 쓸데없는 일을 줄이는 법
쓸데없는 일 하지 않기
오늘은 회사에서 노는 날이라고요
하지만 자네는 나를 설득하지 않았어
진정으로 실패한 단 하나의 프로젝트
열정이 있는데 재능이 무슨 필요람?
당신은 전문가인가?
우리 프로젝트는 언제나 90퍼센트가 완료돼 있을 뿐이다
믿음으로 행하는 관리
보이드의 반복법칙
하룻밤 사이의 성공: 사실은 몇 년이 걸린다
▣ [02부] 프로그래밍
프로그래밍을 하지 않음으로써 더 나은 프로그래머 되기
깨진 유리창 이론
프로그래밍: 사랑하지 않으면 떠나라
포스 언어에서 얻은 몇 가지 교훈
삭제의 기쁨
프로그래밍할 줄 아는 양을 프로그래밍할 줄 모르는 염소와 분리하기
페인트 통에 적힌 사용법을 제대로 따르는가?
컬리의 법칙: 하나만 해라
궁극의 코드 카타
프로그래밍에서는 1이 가장 외로운 숫자다
당신의 코딩 친구는 누구인가?
소프트웨어 도제살이
▣ [03부] 웹 디자인의 원칙
웹사이트 판단하기
단순함의 추구
앱이 웹사이트를 죽일 것인가?
다른 사람들이 하는 것처럼 하기
단 한 개의 버튼이라는 신화
값싸고 손쉬운 사용성
피트 법칙의 반대
사용성 vs. 학습용이성
구글의 가장 큰 UI 실수
그렇지만 그저 하나만 더 있을 뿐이다
그냥 '아니오'라고 말하라
UI는 어렵다
▣ [04부] 테스트
좋은 테스트/ 나쁜 테스트
단위 테스트 vs. 베타 테스트
때로는 하드웨어 문제일 때도 있다
예외 주도 개발
▣ [05부] 당신의 사용자를 알라
호모로지쿠스의 흥망성쇠
상아탑 개발
개발자에게 UI를 만들게 했을 때 일어나는 일
영원히 중간 단계에 머무는 것에 대한 변론
모든 사용자는 거짓말을 한다
출시만으로는 충분하지 않다
묻지 말고 관찰하라
기능이 우리의 적인가?
유기체는 자기가 좋아하는 일이라면 무엇이든 할 것이다
훈장 한 조각을 위하여
반사회적인 사람들을 위한 사회적 소프트웨어 만들기
▣ [06부] 우리가 관심을 둬야 할 것들
인터넷... 그리고 그 밖의 모든 것들을 보존하기
망중립성의 중요성
유튜브 vs. 정당한 사용
▣ [07부] 게이밍
내가 프로그래밍에 대해 알아야 하는 것은 모두 베이직에서 배웠다
게임 프로그래밍과 게임 분석
게임 플레이어, 게임 프로그래머
▣ [08부] 읽어볼 만한 내용
프로그래머는 책을 읽지 않지만 당신은 읽어야 한다
아무도 당신을 돕지 않을 것이다 그리고 그 점이 바로 멋진 부분이다
컴퓨터 범죄, 그 과거와 현재
사람에게 말을 하는 방법
기본기 다지기: 새로운 튜링 승합차
책속에서
좋은 개발자들은 프로그래밍을 잘한다. 그러니까 프로그래밍에 정말로 능숙하다는 말이다. 어쩌면 환상적으로 잘한다고 말할 수도 있다. 그런 사람들이 나와 비슷하다면 아마 그들은 깨어있는 거의 모든 시간을 컴퓨터 앞에서 보내는 사람들일 것이다. 그런 사람들의 실력이 조금씩 나아지는 것은 어쩌면 당연한 일이다. 경쟁력 있는 소프트웨어 개발자들은 이미 프로그래밍 기술에 통달한 사람들이고, 그러한 이유로 그들은 선택받은 자들의 반열에 들어간다. 하지만 당신의 프로그래밍 실력이 이미 상위 3퍼센트에 속한다면 거기서 약간 더 위로 올라가더라도 크게 봤을 때 무슨 차이가 있겠는가?
나이가 들수록 나는 더 나은 프로그래머가 되는 유일한 길은 프로그래밍을 하지 않는 것이라는 생각을 하게 됐다. 바깥 공기를 쐬면서, 컴파일러 같은 것은 잠시 손에서 내려놓고, 자기가 하고 있는 진짜 일들에 대해 생각해보는 것이다. 코드는 중요하다. 하지만 전체적인 과정을 놓고 볼 때 코드는 작은 부분에 불과하다.
디자인 옵저버(Design Observer)에 있는 다음 글은 이와 관련해서 좋은 조언을 해준다.
"지난 몇 년간 나는 내 최고의 작품은 언제나 어떤 주제와 관련돼 있다는 사실을 깨달았다. 그 주제는 디자인이라는 일 자체를 통해 내가 갖게 된 흥미, 내가 이미 가지고 있었던 깊은 관심, 혹은 내가 열정을 품고 있는 대상이다. 나는 내가 여전히 그래픽 디자인이라는 일에 열정을 품고 있다고 믿는다. 하지만 그래픽 디자인이 지닌 최고의 장점은 그것이 언제나 디자인이 아닌 다른 일에 대한 것이라는 점이다. 기업에 관한 법률. 프로 축구. 예술. 정치. 로버트 윌슨. 만약 내가 그러한 다른 일에 흥미진진해하지 못한다면 디자이너로서도 좋은 일을 할 수 없을 것이다. 그렇기 때문에 나는 이런 결론을 내릴 수밖에 없다. 바로 '더 많은 일에 흥미를 가질수록 더 나은 디자이너가 될 수 있다'는 것이다."
코딩에 대한 열정은 경이로운 일이다. 하지만 이미 자기가 충분한 능력을 가지고 있다는 사실을 여러 차례에 걸쳐 증명한 기술에 대해 계속 아무 생각 없이 반사적으로 파고드는 경우가 너무나도 많다. 진정으로 더 나은 프로그래머가 되고 싶다면 프로그래밍 주변에 있는 다른 모든 것들에 열정을 쏟아야 한다.
2005년에 있었던 한 인터뷰에서 빌 게이츠는 자신이 1986년에 했던 말의 논점을 다시 언급했다.
"이러한 직업의 본질은 문을 닫고 코드를 작성하는 데 있는 것이 아닙니다. 그렇게 하는 건 어렵지 않죠. 사람들이 놓치는 가장 중요한 기술은 공학적인 측면을 잘 이해하면서 동시에 하드코어 엔지니어들과의 관계가 돈독한 사람이 고객과 함께 일하거나 마케팅 및 그와 비슷한 업무에 그러한 기술을 활용하는 것입니다. 그리고 이처럼 엔지니어링 관리 경력을 쌓을 수 있는 직책의 경우에는 심지어 마이크로소프트에서 근무하는 직원들 중에서도 이러한 경력을 쌓고자 하는 사람을 찾기가 쉽지 않아서 사람들에게 그러한 직책을 맡게 해야 할 때도 있습니다."
"저는 이러한 일을 하기로 한 사람들이 그 일을 기초적인 엔지니어링기술만이 아니라 사람들 사이의 역학을 다루는 사람관리를 위한 훈련이라고 생각했으면 좋겠습니다. 그러한 일은 대단히 놀라운 경험일 것입니다."
"그리고 이러한 경력을 쌓기로 마음먹은 사람들은 2년쯤 시간이 지나고 나면 거의 코딩을 하지 않는다고 말할 수 있습니다. 선택할 수 있는 진로가 매우 다양하기 때문입니다. 예를 들어, 마이크로소프트 오피스 그룹에서 제품을 만드는 사람이라면 사용자들이 오피스 제품을 어떻게 사용하는지 볼 수 있습니다. 그렇게 2년 정도를 새 버전을 만드는 데 보냅니다. 이런 과정을 통해 생산성이 대단히 근본적인 방식으로 향상됩니다. 그리고 마침내 자신의 경력에 대해 모험적인 결단을 내립니다. 즉, 더 이상 코딩을 하지 않으면서 고객이 원하는 것에 대응하는 일을 전문적으로 하게 될 수도 있습니다."