해커와 화가

2020. 7. 13. 19:02책, 1년에 100권

반응형

어느 유투버가 추천한 책. 코딩 관련 유투버 였는데 기억이 안나네... 

개정판의 초판은 2014년 1월에 나온책이다. 이전 책(번역본)은 2005년에 나왔다. 원서는 2004년에. IT 기술 관련책이라면 15년도 더 된 책을 읽지 않는 편이지만 이책은 프로그래밍 기술에 대하여 배우는 책이 아닌듯 하여 빌려 보았다. 


책에서 저자는 웹 기반 소프트웨어가 대세가 될 것이라고 얘기하며 그 장점에 대해서 언급했는데, 10여년이 지난 지금 그러한 세상이 되었다. 드롭박스, 네이버 메모 등 그밖에 다양한 SaaS들이 웹을 기반으로 서비스 되고 있으니 말이다. 이런 통찰력에 대한 것 이외에는 나에게 그렇게 생각할 거리를 주는 부분은 많지 않은 것 같았다. 하지만 재미는 있었다. 



   책 내용 정리


무언가 아름다운 것을 만드는 방법은 대개 이미 존재하는 것을 살짝 뒤틀거나, 아니면 알려진 아이디어 몇개를 새로운 방식으로 결합하는 것이다. 


만약 돈을 벌고 싶다면 자기에게 흥미로운 일을 찾을 것이 아니라, 너무나 짜증 나는 일이라서 누구도 그것을 꽁자로 해결할 엄두를 내지 않는 힘겨운 일을 찾아야 할 것이다. 


프로그램을 위한 스펙 요구사항이 완벽할 것이라고 기대하는 것은 환상이다. 개발 도중에 스펙이 바뀌는 것을 수용할 수 있는 방식으로 프로그램을 짜는 것이 현명할 것이다. 


대부분의 소프트웨어는 그림과 마찬가지로 사람을 위해서 만들어진다. 해커가 위대한 작품을 남기기 위해서는 화가와 마찬가지로 감정이입을 할 줄 알아야 한다. 즉, 사물을 사용자의 입장에서 바라볼 줄 알아야 한다. 


좋은 소프트웨어를 만들기 위해서는 도대체 사용자가 얼마나 조금 알고 있는지를 이해 해야 한다. 


대부분의 언론 매체에서는 "해커"를 남의 컴퓨터에 침입한 사람이라는 의미로 사용한다. 하지만 프로그래머 사이에서는 좋은 프로그래머라는 의미다. 


어떤 글을 쓸때, 실제로 쓴 내용의 반 이상은 글을 쓰는 동안에 생각해 낸 것이라는 사실을 깨달은 적이 있는가? 소프트웨어도 이와 똑같다. 어떤 생각을 구현하기 위해서 일하는 동안 더 많은 생각이 떠오르는 것이다. 그래서 어떤 생각을 창고에 넣어둔다는 것은 그 생각의 구현을 연기한다는 문제뿐만 아니라 그것을 구현하는 동안 떠올렸을지도 모르는 수많은 좋은 생각 역시 창고에 넣어 둔다는 문제도 만들어 낸다. 


사용자들이 좋아할만한 것을 만드는 것에 대해서는, 일반적인 조언을 약간 해줄 수 있다. 무엇보다도 우선 스스로 사용하고 싶어할 만큼 간단하고 깔끔한 소프트웨어를 만드는데에서 출발하라. 1.0 버전을 빠르게 내놓은 다음, 사용자의 반응에 신중하게 귀를 기울이면서 개선해 나가라. 고객은 언제나 옳지만, 서로 다른 고객은 서로 다른 의견을 내어 놓기도 한다. 경험이 부족한 사용자는 기능을 더 단순하고 명확하게 만들라고 지적하고, 경험이 풍부한 사용자는 새롭게 추가해야 하는 기능에 대해서 이야기 한다. 


경쟁자의 소프트웨어가 볼품없다고 해서 자기만족에 빠지면 곤란하다. 당신이 만든 소프트웨어를 비교할 대상은 경쟁자의 소프트웨어가 아니라, 소프트웨어가 도달할 수 있는 최고의 이상적인 경지가 되어야 한다. 당신이 작성한 소프트웨어를 언제나 직접 사용해 보아야 한다. 


부자가 되기 위해서는 두가지를 갖춘 환경에 있어야 한다. 두가지란 바로 정당한 평가와 영향력이다. 무어보다도 우선 사람들의 능력을 공평하게 평가하는 곳에 있어야 한다. 그와 동시에 영향력도 있어야 한다. 


진입장벽을 구축하는 하나의 방법은 특허를 내는 것이다. 하지만 특허는 별로 대단한 보호장치가 되지 못한다. 경쟁자들은 특허를 피해갈 방법을 쉽게 발견한다. 그냥 특허를 위반한 다음, 법정 소송을 걸어오도록 비시를 건다. 큰 회사들은 소송을 당하는 것을 두려워하지 않는다. 그들은 소송을 거는 과정 자체를 매우 많은 시간과 비용이 들도록 만들 것이다. 여전히 최선의 방어는 공격이다. 경쟁자들이 복제할 수 없을 정도의 제품을 만들면 고민할 필요가 없는 것이다. 시작 자체를 가장 어려운 문제에서 출발한 다음, 의사결정을 내려야 하는 고비를 만날때 마다 더 어려운 쪽을 선택해 나가는 것이다. 


테크놀로지를 선택할 때는 다른 사람들이 무엇을 사용하고 있는가가 아니라 무엇이 최선인가에 대해서 생각해야 하는 것이다. 


큰 회사에서 일하는 사람은 다른 큰 회사에서도 하는 보통 일을 하면서 지낼 것이다. 하지만 스타트업의 경우에는 다른 스타트업에서 하는 일을 하고 있을 수는 없다. 


스타트업을 경영할때는 뭔가 특별한 일을 하지 않으면 곤란한다. 


어떤사람에게는 좋은 디자인이 다른 사람에게는 나쁘께 인식될 수 있다. 여기에서 핵심은 어떤 사용자 그룹이라도 일단 선택을 해야 한다는 것이다. 목표로 삼는 사용자가 없으면 도대체 디자인이 좋은지 나쁜지조차 말할 수 없기 때문이다. 


목표로 삼은 사용자 안에 설계자 자신이 포함되어 있으면 좋은 디자인을 산출 할 가능성이 한층 높아진다. 


새로운 소프트웨어를 만들 때에는 프로토타입을 최대한 빨리 만들어서 사용자 앞에 내놓을 필요가 있다는 점이다. 



반응형

'책, 1년에 100권' 카테고리의 다른 글

밤의 도서관  (0) 2020.07.22
당신은 뇌를 고칠 수 있다  (0) 2020.07.13
자기혁명 독서법  (0) 2020.07.02
안녕하세요, 시간입니다  (0) 2020.07.01
싯다르타  (0) 2020.06.29