Showing posts with label book. Show all posts
Showing posts with label book. Show all posts

Thursday, December 5, 2019

Book review - 그래서 컴퓨터는 어떻게 동작하나요?

그래서 컴퓨터는 어떻게 동작하나요? - 10점
J. 클라크 스코트 지음, 지유록 옮김/인사이트

컴퓨터의 기본 동작방법에 대한 설명이 잘 나와 있는 책이다.

이걸 보고 느꼈던 점은 20년 전에 대학 학부시절에 배웠던 논리회로 공부했던 것과 컴퓨터 구조와 원리 과목떄 공부했던 내용들이 떠올랐다는 것이다. 그렇다는 것은 컴퓨터의 기본 원리는 변하지 않고 동작 방식 역시 크게 바뀌지 않았다는 뜻일 것이다.

특히 비전공자들이 코딩하는 방법을 배우고 실무에 들어가서 일을 하는데 있어서 가끔 "전공 지식을 공부하는건 어떨까?" 싶다는 생각이 들기도 할 건데 그때 이책을 보면 된다. 국내 대학에 컴퓨터 전공 학부생 1,2학년 생이라면 이 내용을 반드시 배우게 되어 있기 때문이다. 그리고 실제 코딩하는 것과 크게 상관이 없어 보인다는 현타가 오면 전공자들이 흔히 농담식으로 얘기하는 "전공 공부 할 필요 없다"가 무슨 뜻인지 알게 될 수도 있다.

실제 코딩하는 데 있어서도 조금 이해가 되고 도움이 될 만한 부분은 bit, byte 간의 관계 그 연산 방법 bit shift가 뜻하는 것도 자연스럽게 알 수 있으며 and, or, not 같은 코딩 문법의 진짜 원리를 알 수 있는 기본적인 걸 논리 회로도와 함께 알 수 있게 된다.

다 읽고 나면 컴퓨터가 이런 원리로 동작 하는 구나를 알 수 있는데 컴퓨터 이론서가 필요하긴 한데 교과서 적인거 말고 교양서 수준으로 읽고 싶은 사람한테는 좋은 책일 것 같다.

Monday, November 25, 2019

book review - 나는 LINE 개발자입니다.

나는 LINE 개발자입니다 - 10점
강윤신 외 지음, LINE Developer Relations 팀 엮음/한빛미디어
오랜만에 쓰는 책 리뷰이다.

책 내용이 무겁지도 않은데다가 LINE 개발자의 LINE 입성기, LINE 자랑 정도의 글인데 순식간에 읽어 나갔다. 심지어 같은 사람이 쓴 글이 아닌 12명의 개발자들이 쓴 글이라 글 스타일이 다른데도 말이다.

크게 느끼는 부분이 몇 가지가 있어서 적어본다.
  • 정말 중요하고 소중하게 느껴지는 코드 리뷰의 문화
    • 나의 경우에도 제대로된 코드 리뷰를 해 본지도 꽤 오래된거 같다. 모두 각자 맡은 프로젝트가 있고 바쁘다 보니 코드 리뷰는 거의 사치가 되어 간다. 나는 내 코드를 스스로 리뷰한다. 리뷰-리팩토링-고민-리뷰로 이어지는 스스로의 리뷰는 남들과 함께 하는 리뷰에 많이 목이 마르다.
    • 그렇다고 회사에서 코드 리뷰를 하지 말라고도 하지 않았고, 해도 큰 문제는 없어 보인다. 그렇지만 뭔가 더 생산적인 일을 해야 한다는 느낌을 강하 받는다. 그건 누가 얘기하지도 않고 강요한 사람도 없지만, 모인 사람들의 분위기가 그렇게 되는 것 같다.
    • 라인은 대기업인데도 스타트업(?)의 느낌을 살려 팀 단위로 일을 하고 코드리뷰를 한다고 한다. 코드리뷰를 잘 하고 못하고의 문제가 아니라 한다는 게 권장되는 문화가 매우 부럽다.
  • 문서화의 중요성
    • 이건 나도 100% 동감하는 부분인데, 문서화는 정말 중요하다.
    • 라인에서도 역시 문서화를 중요하게 생각하는데 내가 생각한거 보다 더 많은 문서를 작성하는 거 같다. 팀이 모든 문서를 보고 공유를 한다고 하고 팀의 누구와 얘기해도 내용이 공유가 된다고 하니, 이것 또한 부러울 따름이다.
    • 그렇다고 회사에서 문서화를 안하느냐 그런건 아니다. 업무 진행과 이슈에 관련된 문서는 다른 회사들도 마찬가지로 잘 적는 편인데, 기술 문서에 대한 부분이 조금 부족한 것 같다. 나는 그런 문서가 중요하다고 생각해서 잘 적는 편이지만 공유가 된다기 보다는 그냥 참고용 정도로만 취급하는 정도라 중요도에 있어서는 크지는 않다.
  • 스스로 해야 할 일을 찾는 자율성
    • 이건 우리 회사도 크게 다르지는 않지만, 방향이 좀 다르다.
    • 라인은 해야 할 일을 찾아서 하지만 팀원들과 함께 부족한 부분을 찾는다던가 지속적으로 대화하고 공유하는 형태이다.
    • 우리 회사는 도달해야 하는 목표치를 정해 놓고 그 안에서 자율적으로 움직인다. 협업이라기 보다는 이슈가 생기지 않게 잘 하고 보고를 하는 형태라 조금 그 느낌이 다르게 느껴진다.
    • 다만, 개발쪽으로는 최대한 많은 자율성을 보장해 주므로 필요하다면 얼마든지 원하는 기술과 할 일을 찾아서 할 수 있긴 하다.
책에 나온 사람들은 뭔가 대단한걸 했던 사람들이고 당연히 이런 사람들이 LINE에서 일한다는 어떤 예시를 든거 같다. 그건 어떻게 보면 좋은 조직의 문화가 좋은 사람들을 모이게 한다는 뜻이기도 할 것이다. 우리 회사도 그런 문화를 가진 회사로 발전했으면 좋겠고 거기에 내가 많은 참여와 기여를 할 수 있었으면 한다.

Monday, July 22, 2019

"책 추천해 주세요"에 대답해 주고 싶은 말

이건 광화문 교보문고를 들렀다가 있었던 일을 생각해 봄과 동시에 평소에 커뮤니티 사이트나 개인적인 질문 중 많은 질문 중 하나인 "책 추천 부탁"에 대한 내 생각을 좀 써보려 한다.

7월 초쯤 아내가 논문 쓸 책 참고하겠다며 광화문 교보문고에 간다길래 나도 요즘 나오는 컴퓨터 관련 책이 뭐가 있나 볼겸 갔다.

<광화문 교보문고 사진, 요즘 서점은 책만 잔뜩 있는 곳이 아니라 북까페로 인테리어가 되어 있다.
출처: 교보문고 사이트>

python, c++ 관련 책들이 있는 책장에서 못보던 책이 뭐 있나 살펴보던 중, 아무리 봐도 대학생으로 보이는 여학생 둘이 python이 낫냐 C가 낫냐 따져가면서 책을 골라보고 있었다. 사실 무슨 책을 고르는지는 관심이 없었는데 만약 학생이라면 언어를 정하고 그 중에 어떤 책이 좋냐를 고를 줄 알았는데, 골라야 하는 언어가 다양하다 보니 컴퓨터 관련 학과 학생이 맞나? 라는 궁금증이 들기 시작했다.

그래서 용기를 내서 여러 프로그래밍 언어 책을 고르는 이유를 물어봤는데 컴퓨터 전공 학생들은 아니었고 정보통신? 정보보호? 과라고 해서 프로그래밍을 배워서 해야 하는 과제가 있어서 책 보러 왔다고 했다. 그런데 내가 나이가 좀 많이 들어 보여서 그런지 이 여학생들이 나를 보자마자 한다는 얘기가 "교수님이세요?" 라고 하더라. 서점에서 무슨 책 보는지 물어봤을 뿐인데, 교수님으로 보였나 보다.

그래서 개발자고 학생들 멘토링 해주는 일도 하고 있다고 하니까 C언어 중에 좋은 책을 추천해 달라고 했다.

사실 그 학생들에게는 아무 책이나 추천해 줘도 상관 없다고 생각한다.
뭐라고요? 아무 책이나 추천해 준다고요? 왜 그런 성의없는 짓을 하죠? 라고 생각하는 사람도 있을 것이다. 왜냐하면 그 학생들에게는 좋은 책이 중요한게 아니라 어떤 책을 골랐던 공부를 하는데 얼마나 시간을 투자해서 의미있는 시간을 보냈고, 그 책을 통해서 얻은 것이 무엇이냐가 더 중요하기 때문이다.

물론 추천해 준 책은 시중에서 잘 나간다는 책 몇 권을 골라주기는 했다. 그런데 그걸 골라가지는 않더라. 왜냐하면 자신들도 더 판단해 보고 싶었기 때문이겠지. 이미 자신들도 알고 있는 것이다. 남이 추천해준 책이 좋을 수 있지만 내가 좋아보이는 책을 고르는게 더 맞다는 생각이겠지.

여기서 부터 나의 얘기를 시작해 보려 한다.

나는 누군가에게 조언을 해주는 일을 하고 있기도 하고, 좋은 책을 추천해 달라고 하면 알려 줄 수도 있는 선배 개발자의 위치에 있기도 하다.

그런데 나는 책을 추천해 달라고 하면 추천해 주지 않는다는 얘기부터 한다. 그리고 아래와 같은 사족을 단다.

  • 책을 딱 한권만 읽고 말거면 추천해 줄 수 있지만, 같은 주제로 다양한 책들이 너무 많기 때문에 추천이 어렵다.
  • 또 나한테 좋은 책과 너한테 좋은 책은 상대적인 기준이 다를 수 있으므로 섣불리 추천해 주지 않는다.
  • 그리고 책 만족도에 있어서도 추천해 준 책을 보고 후회를 하던 자신이 고른 책을 보고 후회하던 후회의 강도가 같을 것 같지만, 남이 추천해 준 책을 보고 후회를 한다면 후회를 넘어 추천해 준 사람에 대한 근본없는 분노를 느끼기 충분하기 때문에 추천해 주지 않는다.
그리고 더 나아가서 대뜸 책 추천을 해달라고 서슴없이 물어보는 친구들이 있는데, 그 친구들이 뭘 하고 있는지를 좀 살펴보고 나서 드는 생각은 조금 더 관심을 가지고 조사해 봤으면 좋겠다는 생각이다.

왜 그러냐 하면, 자신이 이 분야에 관심이 있고 공부를 하고 싶고 잘 알아서 지식을 쌓거나 회사 취업을 위해 준비하거나 업무를 더 잘하려는 마음 때문에 책을 보고 싶어 할 것인데 뭔가 좀 찾아보고 본인이 판단해 봐도 될 것을 남의 판단에 의지해 묻어가려는 심리가 있어 보이기 때문에 그렇다.

정말 아무것도 몰라서 가르침을 받고 싶은 심정 또한 이해가 가긴 하지만, 자신도 뭔가 알아보고 난 후에 책을 추천해 줄 사람과 "communication"이라는게 됐으면 좋겠는데 대충 흘러가는 식이
  • XXX 책 추천해 주세요
  • YYY 책 추천 드립니다.
  • 감사합니다.
이렇다 보니 질문하는 사람도 뭔가 검증 절차도 없이 넙죽 받아먹기만 하고, 대답해 주는 사람도 자신의 관점에서 별다른 이유 없이 추천해 주는 식이다 보니 뭔가 모양새가 좋지 않다는 것도 내 생각이다.

책 추천에 대한 질문과 더불어 책을 추천받고 싶은 이유, 내가 어떤 분야에 뭔가를 하고 있다는 내용, 그래서 뭘 더 하고 싶은지에 대한 내용이 있으면 "communication"을 위한 시작이 좋다고 보고 싶다. 당장 책 추천 질문에 자신의 상태와 책을 보고 싶은 이유에 대해 장황하게 쓰는게 귀찮고 어렵다면 미리 자신의 블로그나 github 관련 페이지를 준비하고 링크를 걸어 주는 정도로만 해도 충분할 것이다.

이렇게 해서 질문을 해야 추천해 줄 사람도 그 사람의 history를 파악하고 책을 추천해 줄 수 있을 것이고, 책 추천해줄 사람이 조금 더 질문을 하는 식으로 해서 정말 필요한 공부가 무엇인지도 얘기해 줄 수 있다. 비록 책 추천이 아니더라도 더 좋은 얘기를 들을 수 있는 확률이 높다는 얘기다.

하지만 정 그렇게 준비하는게 귀찮고 그냥 책만 추천 받아 보고 싶으면 자신보다 더 잘알지 잘모를지도 모를 사람들에게 질문하고 답변 해 주면 감사하다고 하며 의지하지 말고, 본인의 검색 능력과 인터넷 글의 평점, 후기 등을 잘 읽고 판단해서 스스로 책을 고르는 주체적인 사람이 되어 보도록 하자.

--- 추가 내용

사실 책 추천의 수준이 python, android, javascript 등 특정 프로그래밍 언어 공부를 할 수 있는 책이다 보니 추천의 어려움을 넘어서 추천을 해 주고 싶지 않다는 생각이 더 많이 든다. 이런 책은 수십권 아니 수백권이나 되기 때문에 정말 자신에게 맞는 책을 보고 열심히 공부한다면 좋은 책을 골랐던 아니던 그 차이가 크게 없을 것이라는게 나의 생각이다.

혹시 그럴수도 있다. 한가지 주제를 정해서 추천해 달라고 했을 때 유일하게 추천(?) 수준이 아니라 볼 책이 그 책 밖에 없을 때. 과연 그런책이 존재하기는 할까 싶기도 할 것이다. 그런데 그런 책이 존재할까? 놀랍게도 있다.

자 만약 "프로그래밍이라는 행위에 대한 고찰과 그 프로그래머의 심리에 대해 나와 있는 책을 추천해 주세요" 라고 한다면 아마 아래 소개한 책이 유일할 것이다.

프로그래밍 심리학 - 10점
제럴드 M. 와인버그 지음, 조상민 옮김/인사이트

하지만 여태까지 이런 주제로 책을 추천해 달라고 했던 사람은 아무도 없었으며, 사실 추천해 달라고 하기 전에 검색해봤을 테니 이 책밖에 없다는 사실을 알고 있다면 추천해 달라는 질문 자체가 무의미할 것이다.

Thursday, May 9, 2019

책 리뷰 - 커리어 스킬

Beginning


사실 책을 자주 많이 읽는 편이다. 그렇다고 해서 책 읽는 시간이 많은 건 아니고 출퇴근 시간이 조금 긴 편이다 보니 출퇴근 시간에만 책을 읽는다. 그 외에 시간에는 책 읽을 생각 보다는 코딩, 멘토링, 커뮤니티 활동 등의 시간을 써야 하기 때문에 책은 딱 출퇴근 시간에만 보게 된다.

어쨌든 여러 책을 많이 보다 보니 이런 것도 기록에 남겨두면 좋을 것 같아서 내 리뷰 블로그에 작년에 세 권 정도 간단한 리뷰를 썼는데, 실제 리뷰 쓴 책 보다는 훨씬 많은 책을 읽었기에 기록하고 공유하기 위해 이제 부터는 개발 블로그에다가 좀 제대로 써볼 생각이다.

커리어 스킬 - 10점
존 손메즈 지음, 이미령 옮김/길벗

존 손메즈 아저씨의 전작 <소프트 스킬> 보다 훨씬 더 책이 잘 나온 듯 하다. 왜냐하면 소프트 스킬의 경우 보기 싫었던 내용이 있었는데 헬스하는 내용, 부동산 내용 등 쓸데없다고 생각되는 내용들이 있었기 때문이다. 그런데 이번 커리어 스킬에는 그런 내용은 없다. 있긴 있는데 간단하게 언급할 뿐이다. 그 책에 이런 내용은 부적절하지 않냐는 민원이 제기되서 이번 커리어 스킬에는 안넣은 것일수도 있다는 느낌도 든다.

책 내용은 전반적으로 꽤 훌륭하다. 특히 이 분야에 아무것도 모르는 비전공자나 신입들이 보기에 좋은 내용들로 구성되어 있고 취업, 개발, 인간관계, 돈 버는 방법 등 여러가지 내용들을 총 망라했기 때문에 보면 좋을 듯 하다.

그리고 현업에 있는 사람들도 이 책을 보면 뭔가 얻는 내용들도 많을 것이다. 내 생각에는 가르치면서 배운다는 원칙을 이 책을 읽어서 알게 된것 뿐 아니라 실제로 실천도 해보면 좋다는 의견이다.

책 부록에는 사실 외국 개발 환경이 국내와는 안맞는게 있을 수 있기 때문에 국내 개발자들 인터뷰한 내용을 넣은 것 같은데, 첫번째 김요한 개발자를 제외한 뒤 세 개발자들의 내용은 취업 성공기에 한정되어 있어서 좀 다양하게 넣었으면 어땠을까 싶다.

내가 멘토링 해주는 사람들에게 이 책이 나오기 전에는 <프로그래머의 길, 멘토에게 묻다>를 추천했는데, 이번 커리어 스킬도 추천 책에 넣을 만 한듯 하다. 아니, 가장 추천하고 싶은 책이 될 거 같다.

책 읽은 기간


2019-04 ~ 2019-05

Monday, December 15, 2014

독서의 시간

최근에 개발 관련된 글을 많이 보면서 그 동안 읽지 않았던 책을 읽어 나가고 있다.

- 폴리글랏 프로그래밍
- 익스트림 프로그래밍
- 프로그래밍 심리학
- 유니티로 만드는 게임 개발 총론
- 3D MAX 2014 기초부터 활용까지

물론 읽고 있는 책은 프로그래밍 심리학이고, 어제 다 읽은 책은 폴리글랏 프로그래밍이라는 책이다.

주말에 와이프한테 우리 책 읽는 시간을 가져보는게 어떻겠냐고 제안했는데
자기도 남편이랑 주말에 커피숍 같은데서 책 읽고 커피 마시고 얘기하는 거 좋아한다고 해서 가자고 했다.
- 응? 여태까지 그런 적은 별로 없었던 것 같은데...?

저녁 시간.
집 근처 커피숍에 갔는데 내 신용카드로 할인 받을 수 있는 곳으로 가자고 해서 투썸플레이스로 갔다.

<투썸플레이스 사진, 출처: http://claire244.egloos.com/viewer/5095238>
폴리글랏 프로그래밍은 JAVA와 C#, Scala라는 프로그래밍을 통해 프로그래밍 언어라는게 어떻게 발전을 해 오고 문제를 해결해 나가고 있는지에 대한 얘기를 풀어놓은 책이다. Scala는 경험이 없지만 JAVA와 C#은 알고 있기에 재밌게 읽었다.

<개발 경험이 많고 언어 자체에 관심이 많을 수록 재미있게 읽을 수 있는 책.
출처: http://www.yes24.com/24/Goods/12204890?Acode=101>
책 내용이 중요한 건 아니고...
사실 책은 읽어야 하는데 집에서 읽으려고 하면 TV 보고 싶고, PC로 게임하고 싶은 유혹을 뿌리치고 책을 읽을 수 있는 환경이 되지 않아 내 스스로의 변명을 방패 삼아 나가게 된 것도 있고

더 중요한 이유 중 하나는 이제 책 읽는 습관을 조금씩 들여서 앞으로 태어날 우리의 2세에게 모범적인 모습을 보여주는게 좋을 것 같아서인 이유도 있다.

서울에 이사오기 전에는 출퇴근 시간에 책을 읽었는데, 모바일 게임에 빠지다 보니 책 읽는 걸 좀 등한시 한 것 같다. 어떻게든 1주일에 한번이라도 책을 읽고 싶다는 생각이 든다.
이제 다시 독서의 시간으로 빠져들 때인 듯.