코딩 호러 블로그 운영자이자 스택 오버플로우의 공동 창업자가 들려주는 진짜 소프트웨어 개발 이야기!

코딩 호러가 다시 돌아왔다! 전작인 『코딩 호러의 이펙티브 프로그래밍』에 이어 이번에도 저자의 프로그래밍을 향한 열정과 거침없는 독설은 소프트웨어 업계 종사자가 본받고 새겨들을 만한 내용으로 가득 차 있다. 저자는 소프트웨어 업계에 만연한 구태의연한 생각과 관습들을 자신만의 독특한 시각으로 바라보고 비판하며, 더 나은 프로그래머가 되기 위한 실질적이고 진심 어린 조언들을 아끼지 않는다. 프로그래밍과 관련된 유쾌하고 많은 것을 생각하게 만드는 글이 꾹꾹 눌러 담긴 이 책을 읽고 나면 진정한 소프트웨어 개발자를 향해 한걸음 더 다가갈 수 있을 것이다.

★ 이 책에서 다루는 내용 ★

  • 쓸데없는 일을 줄이는 법
  • 프로그래밍
  • 웹 디자인의 원칙
  • 테스트
  • 사용자를 이해하라
  • 그 밖의 읽어볼 만한 내용

책 속으로

좋은 개발자들은 프로그래밍을 잘한다. 그러니까 프로그래밍에 정말로 능숙하다는 말이다. 어쩌면 환상적으로 잘한다고 말할 수도 있다. 그런 사람들이 나와 비슷하다면 아마 그들은 깨어있는 거의 모든 시간을 컴퓨터 앞에서 보내는 사람들일 것이다. 그런 사람들의 실력이 조금씩 나아지는 것은 어쩌면 당연한 일이다. 경쟁력 있는 소프트웨어 개발자들은 이미 프로그래밍 기술에 통달한 사람들이고, 그러한 이유로 그들은 선택받은 자들의 반열에 들어간다. 하지만 당신의 프로그래밍 실력이 이미 상위 3퍼센트에 속한다면 거기서 약간 더 위로 올라가더라도 크게 봤을 때 무슨 차이가 있겠는가?

나이가 들수록 나는 더 나은 프로그래머가 되는 유일한 길은 프로그래밍을 하지 않는 것이라는 생각을 하게 됐다. 바깥 공기를 쐬면서, 컴파일러 같은 것은 잠시 손에서 내려놓고, 자기가 하고 있는 진짜 일들에 대해 생각해보는 것이다. 코드는 중요하다. 하지만 전체적인 과정을 놓고 볼 때 코드는 작은 부분에 불과하다.

디자인 옵저버(Design Observer)에 있는 다음 글은 이와 관련해서 좋은 조언을 해준다.

“지난 몇 년간 나는 내 최고의 작품은 언제나 어떤 주제와 관련돼 있다는 사실을 깨달았다. 그 주제는 디자인이라는 일 자체를 통해 내가 갖게 된 흥미, 내가 이미 가지고 있었던 깊은 관심, 혹은 내가 열정을 품고 있는 대상이다. 나는 내가 여전히 그래픽 디자인이라는 일에 열정을 품고 있다고 믿는다. 하지만 그래픽 디자인이 지닌 최고의 장점은 그것이 언제나 디자인이 아닌 다른 일에 대한 것이라는 점이다. 기업에 관한 법률. 프로 축구. 예술. 정치. 로버트 윌슨. 만약 내가 그러한 다른 일에 흥미진진해하지 못한다면 디자이너로서도 좋은 일을 할 수 없을 것이다. 그렇기 때문에 나는 이런 결론을 내릴 수밖에 없다. 바로 ‘더 많은 일에 흥미를 가질수록 더 나은 디자이너가 될 수 있다’는 것이다.”

코딩에 대한 열정은 경이로운 일이다. 하지만 이미 자기가 충분한 능력을 가지고 있다는 사실을 여러 차례에 걸쳐 증명한 기술에 대해 계속 아무 생각 없이 반사적으로 파고드는 경우가 너무나도 많다. 진정으로 더 나은 프로그래머가 되고 싶다면 프로그래밍 주변에 있는 다른 모든 것들에 열정을 쏟아야 한다.

2005년에 있었던 한 인터뷰에서 빌 게이츠는 자신이 1986년에 했던 말의 논점을 다시 언급했다.

“이러한 직업의 본질은 문을 닫고 코드를 작성하는 데 있는 것이 아닙니다. 그렇게 하는 건 어렵지 않죠. 사람들이 놓치는 가장 중요한 기술은 공학적인 측면을 잘 이해하면서 동시에 하드코어 엔지니어들과의 관계가 돈독한 사람이 고객과 함께 일하거나 마케팅 및 그와 비슷한 업무에 그러한 기술을 활용하는 것입니다. 그리고 이처럼 엔지니어링 관리 경력을 쌓을 수 있는 직책의 경우에는 심지어 마이크로소프트에서 근무하는 직원들 중에서도 이러한 경력을 쌓고자 하는 사람을 찾기가 쉽지 않아서 사람들에게 그러한 직책을 맡게 해야 할 때도 있습니다.”

“저는 이러한 일을 하기로 한 사람들이 그 일을 기초적인 엔지니어링기술만이 아니라 사람들 사이의 역학을 다루는 사람관리를 위한 훈련이라고 생각했으면 좋겠습니다. 그러한 일은 대단히 놀라운 경험일 것입니다.”

“그리고 이러한 경력을 쌓기로 마음먹은 사람들은 2년쯤 시간이 지나고 나면 거의 코딩을 하지 않는다고 말할 수 있습니다. 선택할 수 있는 진로가 매우 다양하기 때문입니다. 예를 들어, 마이크로소프트 오피스 그룹에서 제품을 만드는 사람이라면 사용자들이 오피스 제품을 어떻게 사용하는지 볼 수 있습니다. 그렇게 2년 정도를 새 버전을 만드는 데 보냅니다. 이런 과정을 통해 생산성이 대단히 근본적인 방식으로 향상됩니다. 그리고 마침내 자신의 경력에 대해 모험적인 결단을 내립니다. 즉, 더 이상 코딩을 하지 않으면서 고객이 원하는 것에 대응하는 일을 전문적으로 하게 될 수도 있습니다.”

-- 본문 중에서

제프 앳우드(Jeff Atwood)

제프 앳우드는 캘리포니아 버클리에서 아내, 두 마리 고양이, 세 명의 아이들, 그리고 여러 대의 컴퓨터와 함께 살고 있다. 그는 80년대 자신의 첫 번째 마이크로컴퓨터였던 텍사스 인스트루먼트의 TI-99/4a를 이용해 다양한 마이크로소프트 베이직 프로그램을 구현하면서 소프트웨어 개발자의 길을 걷기 시작했다. 90년대 초반까지 계속 PC상에서 비주얼 베이직 3.0과 윈도우 3.1을 사용했고, 델파이의 최초 버전을 이용해 파스칼 코드도 많이 작성했다. 현재는 대소문자에 민감한 사악한 속성에도 불구하고 VB.NET 혹은 C# 프로그래밍에 익숙하다. 지금은 루비를 배우고 있다.

앳우드는 개발자가 읽어야 할 도서 목록에서 밝힌 것처럼 스스로를 소프트웨어 개발 과정에 존재하는 인간적인 측면에 특별히 관심이 있는, 상당히 경험이 풍부한 윈도웹(Windowsweb) 소프트웨어 개발자라고 생각한다. 그가 주장하는 바에 따르면 컴퓨터는 놀라운 기계이지만 사실상 그것을 사용하는 사람을 단순히 반영하는 기계에 불과하며, 소프트웨어 개발의 기술적인 측면은 코드를 학습하는 것만으로는 충족되지 않고 소프트웨어의 배후에 존재하는 사람도 함께 연구해야 한다.

임백준(Baekjun.Lim@gmail.com)

서울대학교에서 수학을 전공하고, 인디애나 주립대학에서 컴퓨터 사이언스를 공부했다. 삼성SDS, 뉴저지 소재 루슨트테크놀로지스에서 근무했고, 지금은 월스트리트에서 금융 소프트웨어를 개발하고 있다. 뉴저지에서 아내와 두 딸과 함께 살고 있다. 《코딩 호러의 이펙티브 프로그래밍》(2013, 위키북스), 《누워서 읽는 퍼즐북》(2010), <프로그래밍은 상상이다》(2008), 《뉴욕의 프로그래머》(2007), 《소프트웨어 산책》(2005), 《나는 프로그래머다》(2004), 《누워서 읽는 알고리즘》(2003), 《행복한 프로그래밍》(2003, 이상 한빛미디어), 《프로그래머 그 다음 이야기》(2011, 로드북)을 집필했고, 다수의 책을 번역했다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


엮인 글

엮인 글 주소: http://wikibook.co.kr/coding-horror-2/trackback/