● 저자: 이경종
● 페이지: 264
● 판형: 신국판(150*225)
● 도수: 2도
● 정가: 15,000원
● 발행일: 2020년 3월 18일
● ISBN: 978-89-97924-51-6 93000
[강컴] [교보] [반디] [알라딘] [예스24] [인터파크]
[샘플원고]
_도서 내용
개발자로 살아간다는 것은 녹록하지 않다. 과연 더 나은 개발자의 삶이란 있는 것일까? 이 물음에 답을 찾기 위해 저자는 개발자들이 힘들고 지쳐 잃어버린 그들의 좌표를 함께 찾아가는 여정을 한 권의 책으로 정리하였다. 잠시 코딩을 멈추고 고민해보자. “당신은 어떤 개발자인가?” 기술과 사람, 그리고 나 자신을 알아가는 여정을 통해 좀더 행복한 개발자로서의 삶을 찾아보자. 이 책은 “소프트웨어 개발 문화 전문가”를 꿈꾸는 저자의 지난 몇 년간 자신에 관한 치열한 성찰의 결과물이기도 하다.
_대상 독자
_개발자로서 슬럼프에 빠져 가야 할 길을 잃어버린 당신
_개발자로서 어떻게 성장 맵을 그려나가야 할지 막막할 때
_개발자의 삶에 관해 진지하게 고민하게 되는 때
_아무 생각 없이 프로젝트 톱니바퀴에 허우적대고 있을 때
_주변에 당신을 이해하는 사람이 한 명도 없다고 생각될 때
_목차
프롤로그
1장 출항 - 당신은 어떤 개발자입니까?
개발자라는 이름으로
이론가, 기술자 그리고 해결사
좀비 개발자, The Working Dead
개발자의 오만함
‘열심히’만이 미덕인가? - 걍성실씨와 나잘난씨 이야기
훌륭한 개발자 - 언성 히어로
2장 끝없는 바다 - 이슈, 일정, 야근, 출장, 암초를 대하는 개발자의 자세
이슈, 이슈, 그리고 이슈
개발자는 마침표 대신 세미콜론을 찍는다
개발 삽질하고 있네Ⅰ
진인사대천명 - 개발 결과를 기다리는 바람직한 자세
출장과 여행의 차이
3장 항로 찾기 - 어떤 개발자가 되고 싶은가요?
코딩을 좋아하는가? - 좋아하는 일을 찾는 법
무지를 아는 것이 곧 앎의 시작
아직도 슈퍼 개발자를 꿈꾸는가?
한번쯤은 의지를 열정으로 착각해도 좋다
4장 풍랑과 조류 - 회사, 문화 그리고 프로세스
TCP/IP - 회사, 문화, 그리고 프로세스
수기(修己)와 치인(治人)
경영자의 독선
환상 속의 하면 된다
전념, 몰입, 집중 - 개발근무환경
5장 함께 가는 길 - 팀, 그리고 프로젝트
부품과 인터페이스 - 프로젝트 인력운용과 관리
프로세스
계획의 무용성에 대해 - 프로젝트 계획과 추정
개발 삽질하고 있네 II - 해서는 안 되는 거시적인 삽질
환상의 개발팀워크
6장 항해 기술 - 그래도 기술을 이야기하자면
소프트웨어 공학이 현업에 필요한가
요구하는가, 요구당하는가
시작은 미약하나 끝이 심히 창대한 ‘문제’들
좋은 코드, 나쁜 코드, 이상한 코드 - 코드 리팩토링
자동화 테스트와 소프트웨어의 품질
7장 이타카 - 더 나은 개발자 삶을 위해
불가능과 가능, 그리고 열정을 구분하는 법 - 개발자의 경험
중력을 이겨내는 법 - 개발 무사안일주의에서 탈피하기
만렙을 향하여
개발자의 언어
개발자의 글쓰기
개발자 철학
개발자에게 인문학이 필요한 이유
에필로그
_주요 내용
개발자가 된 것을 후회한 적이 있습니까?
기술과 사람, 그리고 나 자신을 알아가는 여정
저자는 소프트웨어 개발문화 전문가를 꿈꾸는 개발자다. 20년 개발자 인생을 살아오면서 기술이 “다”가 아님을 깨닫고 더 나은 개발자의 삶이란 무엇인지를 알기 위해 오늘도 고군분투 중이다. 이 책은 최근 수년동안 고민하고 연구한 저자의 항해일지인 셈이다.
[주요 내용]
자신이 누구인지 모르는 상태로 어디를 가고 싶은지 정하는 것은 아무 의미가 없다. 자신이 가고자 하는 그곳이 정말 본연의 내가 원하는 그곳인지 깊게 생각해봐야 한다. _”프롤로그”
여정의 시작에 앞서 자기 자신을 제대로 알고 있다면 불필요한 문제와 고난들은 피할 수 있지 않을까? “당신은 어떤 개발자인가?”
_”1장. 출항”
썩 괜찮은 개발자 생활에 만족하는 이들도 있을 것이다. 하지만 개발자의 삶은 대체로 녹록하지 않다. 이제 지금 하고 있는 일을 돌아볼 시간이다.
_”2장. 끝없는 바다”
이제 항로를 결정할 시간이다. 자신이 어떻게 일을 해왔고 어떤 상황에 있는지 살펴보았다면, 이제 내면을 들여다 볼 시간이다.
_”3장. 항로 찾기”
바다에는 풍랑도 있고 조류도 있다. 어떤 조류를 타고 항해하고 있는지에 따라 개발자의 삶 자체가 바뀔 수도 있음을 명심해야 한다.
_”4장. 풍랑과 조류”
이제 목적지를 향해 항해를 시작했으니, 동료들과 프로세스를 이해할 차례다.
_”5장. 함께 가는 길”
목표와 요구사항이라는 큰 그림을 그리는 것부터 변수명을 짓는 세부적인 방법
까지의 방식을 스스로 점검해 볼 시간이다.
_”6장. 항해 기술”
이제 항해를 마무리해야 할 때이다. 보다 나은 개발자의 삶을 위해 몇 가지 이야기를 전하려 한다. 독자 여러분에게 와 닿는 이야기가 있다면, 깊은 사색과 작지만 굳건한 한걸음이 필요한 시점이다.
_”7장. 이타카”
이 땅의 모든 개발자들의 건투를 빈다.
[책 속의 말, 말, 말]
개발자의 삶이라는 항해의 방향키가 흔들리는 원인은 근본적으로 자기 자신과 조직에 대한 무지로부터 비롯된다. _4페이지
적지 않은 개발자들이 새로운 도전과 경험을 통해 또 다른 이름을 얻거나, 기존의 이름을 버리고 전혀 새로운 이름을 얻는다. 하지만 그보다 더 많은 이들이 처음 얻었던 이름과 프레임에 갇힌 채 천형과도 같은 개발자의 삶을 이어나간다. _15페이지
그 어떤 명칭에도 나를 대변하는 고유함은 들어 있지 않다. 개발자로서 내가 얻고자 하는 이름은 ‘소프트웨어 개발문화 전문가’다. 생소할 것이다. 이런 명함을 가졌거나 그렇게 불리는 사람을 여태 본 적이 없으니, 아직은 유일무이한 이름이다. _19페이지
오만함은 곳곳에서 나타난다. 가장 큰 오만은 자신이 짠 코드가 오류가 없을 것이라고 가정하는 것이다. _38페이지
먼저 버그와 이슈를 예방하고 선해결하는 프로메테우스 개발자들 대신 사후에 떠들썩하게 소 잃고 외양간 고치는 에피메테우스 개발자들에게 공로가 돌아가는 경우가 많다.. _51페이지
고통의 원인은 시들어가는 꽃이 아니라 바로 꽃이 시들지 않기를 바라는 비현실적인 욕망이라는 틱닛한의 말처럼 우리를 힘들게 하는 것은 이슈 자체가 아닌 이슈에 대한 걱정과 공포와 그리고 두려움이다. _58페이지
그 시간 속에서 나만의 특별한 순간의 시간 - 카이로스를 찾아 나서야 한다. 통제할 수 없는 크로노스의 시간들 대신 내가 만들어 낼 수 있는 카이로스의 시간에 주목해보자. 어디에서든 일상의 소소한 행복과 기쁨은 존재한다. 눈 덮인 담벼락 밑에도 봄을 기다리는 한송이 꽃은 피어나고 있다._85페이지
코딩이나 글쓰기는 도구일 뿐이다. 그 자체로 몰입할 수 있고 좋아하는 일이 될 수 있지만 그것만으로는 부족하다. 쉽게 말해 밥 먹고 살기 어렵다. 코딩이나 글쓰기의 대상이 될 수 있는 ‘타겟’이 필요하다. 다시 말해, 전문적인 영역을 그 위에 덧붙여야 한다. _92페이지
좋아하는 일은 직접 해보지 않고는 모른다. 또한 깊숙이 들어가보지 않고는 확신할 수 없다. 그러니 어느 날 가슴 떨리는 공명이 찾아오면 주저하지 말고 작은 것부터라도 시작해보자. _94페이지
개발자들이 내리막길을 걷는 근본적인 이유는 다른 곳에 있다. 경력이 늘어갈수록 쌓이는 경험만큼 일에 능숙해진다. 하지만 그에 비례해서 사라지는 것들이 있다. 바로 열정과 무식함이다. _101페이지
십 수 년을 개발자로 살아오면서, 지금까지의 삶에 만족하지 못했다면 이제 결단을 내려야 하지 않을까? 외면하지 말아야 한 사실은 앞으로 더 힘들면 힘들어졌지, 더 좋아지지는 않는다는 것이다. _103페이지
한번쯤은 의지를 열정으로 착각해도 좋다. 의지가 정녕 열정이 되지 않는다면 지금 이 길이 나의 길이 아니라는 것이 확실해지는 것이니 이 길을 과감히 버려도 후회는 없을 것이다. 만에 하나 의지가 열정이 된다면, 그 또한 나 자신의 가능성을 보여주는 것이니 환영할 만하다. _114페이지
진정한 개발문화는 프로세스와 사람이 공존한다. 서로가 서로의 위에 군림하지 않고 유기적으로 맞물려 돌아간다. CTO, CEO와 같은 최상의 접점에 있는 사람들의 역할이 더욱 중요해진다. 결국 가장 중요한 것은 사람이다. _125페이지
아이러니하게도 현장에서 멀어질수록 현장을 더 객관적으로 이해하고 있다는 착각에 빠지게 된다. 현장을 이해하지 못하는 답답한 탁상공론은 관료집단만의 전유물은 아니다. _139페이지
프로젝트 운용에서 팀원이 재능을 충분히 발휘하여 성과를 내게 하려면 가장 자기다운 방식을 택하도록 도와주어야 한다. 적합한 사람들로 팀을 구성하는 것, 그 다음 목표는 정하되 수단은 그들에게 맡겨두는 것, 이것이 프로젝트 성공의 비결이다. _159페이지
좋은 프로세스란 마치 공기와도 같이 그 존재를 의식할 수는 없지만, 자연스럽게 그 흐름에 동조될 수 있는 것이어야 한다. 오차 없는 치밀한 정교함은 조직에 완벽하게 동화된 프로세스의 결과다. _163페이지
목표를 설정할 때 무엇보다도 목표의 타당성을 검토하는 일을 우선해야 한다. 그것은 팀이나 전사 차원에서는 물론 개인의 차원에서도 이루어져야 한다. 일을 하다 보면 우리는 원래의 문제가 무엇이었는지는 잊어버린 채 지금 찾고 있는 답에만 집중하는 경향이 있다. 질문을 잊은 채로 답을 찾을 수는 없다. _174페이지
공학이나 프로세스를 혁명과 혁신으로 착각하는 순간 실패 확률은 높아진다. 공학이 혁신이 되기 위해서는 수많은 고개를 넘고 또 넘어야 한다 _189페이지
사전에 확정할 수 있는 요구 사항조차도 제대로 도출하지 않은 채 프로젝트를 시작하는 것이 진짜 문제다. 꿈을 이루기 위해서 도달하려는 그곳을 생생하게 그릴 수 있어야 하듯이, 명확한 요구 사항은 프로젝트 성공의 필수 조건이다. _191페이지
일을 하면서 결핍과 부족함을 피부로 느껴야 한다. 조직과 개인 모두 그 결핍을 메울 필요성을 절감해야 한다. 소프트웨어 공학의 수많은 방법론과 기술들에 관심을 가지는 것은 그때부터라도 결코 늦지 않다. 무엇이 문제인지도 모르는 상태에서는 아무리 비싼 수업료를 내더라도 결코 답을 알아낼 수 없는 법이다. _195페이지
이 모든 것이 깨진 유리창 하나, 즉 '나중에 시간 날 때 제대로 해놓아야지'하며 저질러 놓은 임시 코드 한 줄에서 시작된다. ‘나중’이라는 시간은 결코 나지 않는다. _202페이지
리팩토링을 언제 해야 하는가에 대한 정답 역시 없다. 굳이 정의하자면 ‘가장 적절하다고 판단될 때’이다. 상황에 따라 판단해야 한다. 따로 특정한 기간을 잡아서 리팩토링을 하는 것이 정답은 아니다. _208페이지
좋은 코드는 결국 이타적인 코드다. 그리고 그 이타성은 결국 자기 자신을 위함이라는 사실을 잊지 말아야 한다. _212페이지
타협할 수 없는 하나의 품질 속성이 출시까지 멀고도 길고 긴 소프트웨어 개발 주기를 버텨내기 위해서는 해당 품질에 대한 개발자들의 신념 체계는 필수적이다. 그리고 그 신념체계는 명확한 목표와 비전으로부터 온다. _217페이지
경험의 축적은 불가능과 가능을 구분하는 인식률을 향상시킨다. 무지로 가능했던 열정을 잃는 대신 사물을 판단할 수 있는 혜안을 얻게 되는 것이다. _225페이지
개발 도중 한번이라도 발견된 소프트웨어 이상 동작은 언젠가 어떤 형태로든 꼭 다시 나타난다는 것이다. 경험이 없는 개발자들은 이런 신호를 포착하지 못한다. 타성과 관성에 젖은 개발자들은 이런 신호를 무시한다. _228페이지
사실 주위를 둘러보면 1년의 경험을 10년 동안 반복하고 있는 사람들 천지다. 진정으로 나아지고자 하는 욕망이 있다면 환경이나 상황 탓은 이제 그만하고 작은 변화부터 시도해 봐야 한다. _234페이지
너와 나의 소통의 오류 또는 부재가 기술의 부재나 버그의 존재보다 더 심각하다. 조직 유지의 기본 바탕은 커뮤니케이션이며, 이는 서로가 어떤 언어를 사용하느냐에 달려 있다. _238페이지
철학을 가진 개발자라면 지엽에 얽매여서 전체의 균형을 잃어서는 안 된다. 또한 너무 일반론으로 흘러서 뜬 구름 잡는 이야기를 해서도 안 된다. 멀리 보고 일관적이어야 한다. 그런 매의 눈은 철학 없이는 만들어지지 않는다. _252페이지
단지 사람답게 살기 위해서 인문학은 필요하다. 상사와의 갈등에 대해 기술은 어떠한 해답도 제시해주지 못한다. 애인의 변심에 대해 스마트폰은 어떠한 분석 결과도 보여주지 못한다. 웅장한 자연과 불멸의 예술 작품 앞에서 프로그램의 버그 따위는 사소한 일이다. 빌게이츠에게도 코드를 이해하는 일보다는 사람을 이해하는 일이 더 중요하고 가치 있는 일이다. _256페이지
인문학은 책에만 있는 것이 아니다. 길 위에 있고, 옆 자리에서 거북목을 하고 코딩에 열중하고 있는 동료의 가슴속에도 있다. 말했듯이, 인문학을 공부하는 이유는 자신의 삶을 구원하고 삶의 촉수를 더욱 예민하게 만들기 위한 통찰력을 키우기 위함이다. _257페이지
나침반의 바늘 끝은 떨면서 북쪽을 가리킨다. 그 떨림이 멈춘다면 그것은 더 이상 나침반이 아니다. 끊임없이 자기 자신의 위치를 확인하고, 방향을 결정하는 것 - 그것이 인생이고 개발자의 삶이다.
이 땅의 모든 개발자들의 건투를 빈다. _260페이지
_저자 소개
이경종
필명 불씨. 소프트웨어 전문가. 고려대학교 전기전자전파공학부 졸업. KAIST 소프트웨어 대학원에서 소프트웨어 공학 석사 과정을 수료했다. 삼성전자 연구원을 거쳐 현재 중소기업 소프트웨어 팀장으로 안드로이드 셋톱박스 개발을 주도하고 있다. 구본형 변화경영연구소 12기 연구원으로 활동하고 있다.
기술보다는 사람이, 프로세스보다는 문화가 중요하다는 신념을 가지고 있다. 인문학적 깨달음과 실천이 개발자들의 삶을 풍요롭게 만들 수 있다고 믿는다. 개념으로 알고 있는 머릿속의 지혜를 발끝으로 체험하고자 하루를 살며, 또한 손끝으로 그 깨달음을 나누고자 이 책을 썼다. 자신의 글이 불협화음으로 얼룩진 개발자들의 업무와 일상을 혁명할 수 있는 작은 불씨가 되길 바란다.
_끝
'신간소개' 카테고리의 다른 글
[신간안내] 백견불여일타 딥러닝 입문 with 텐서플로우 2.x (2) | 2020.06.01 |
---|---|
[신간안내] 백견불여일타 Vue.js 입문 : 예제와 실습문제에 집중한 프론트엔드 입문서 (0) | 2020.05.11 |
[신간안내] 프로그래머, 수학의 시대 (사람과 프로그래머 #8) (0) | 2020.03.11 |
[신간안내] IT과학 이야기#5 컴퓨터는 어떻게 만들어졌나요? (0) | 2020.01.20 |
[신간안내] 비즈니스 프레임워크 도감 (2) | 2020.01.20 |
오탈자 신고: chief@roadbook.co.kr 또는 댓글로 남겨주세요)
(2020년 3월 현재, 1판 1쇄 기준)
'오탈자 정보' 카테고리의 다른 글
[오탈자 정보] 백견불여일타 딥러닝 입문 with 텐서플로우 2.x (2) | 2020.06.01 |
---|---|
[오탈자 정보] 백견불여일타 Vue.js 입문 : 예제와 실습문제에 집중한 프론트엔드 입문서 (0) | 2020.05.11 |
[오탈자 정보] 프로그래머, 수학의 시대 (2) | 2020.03.11 |
[오탈자 정보] 컴퓨터는 어떻게 만들어졌나요? (0) | 2020.01.20 |
[오탈자 정보] 비즈니스 프레임워크 도감 70 (2) | 2020.01.20 |
● 저자: 이재현, 이정설
● 페이지: 248
● 판형: 신국판(150*225)
● 도수: 2도
● 정가: 16,000원
● 발행일: 2020년 3월 18일
● ISBN: 978-89-97924-50-9 93000
[강컴] [교보] [반디] [알라딘] [예스24] [인터파크]
[샘플원고]
_도서 내용
바야흐로 인공지능의 시대다. 인공지능 패러다임은 누가 뭐라 해도 ‘수학의 시대’를 의미한다. 여기 두 명의 프로그래머이자 저자는 중요한 순간에 수학을 선택했고, 그것이 그들의 삶에 어떻게 무기가 되었는지를 이야기해주고 있다. 먹고 살기 바쁘다는 이유로 외면하지 말자. 여러분 인생의 아주 중요한 순간에 수학이 꼭 필요할 것이다.
_대상 독자
_”수학”이라는 키워드를 항상 가슴속에 품고 살아가고 있는 (예비) 프로그래머
_지속적 수학 공부에 동기가 필요한 프로그래머
_수학을 자신의 무기로 만들어가는 프로그래머들의 인생 궤적이 궁금하다면
_목차
서문_프로그래머에게 수학이 필요한가
1부_수학의 시대 _글쓴이 이재현
프롤로그
1장_개발자 되기
나의 소개
내가 놓친 것들
모든 것은 비워진다
운명적인 만남
낙오자의 날개, 코딩
그리고 개발자가 되기까지
아직은 목마르다
2장_개발자의 날개, 수학
내면의 목소리
문과생의 수학
한글의 수학
하나, 둘, 셋, 그리고 많다
직선적으로 생각하면
한글 계수
3장_인공지능의 시대
세상은 만만하지 않다
막현호은莫見乎隱 막현호미莫顯乎微
암흑 속의 나침반
그리고 아무도 없었다
에필로그
2부_수학은 어떻게 무기가 되는가 _글쓴이 이정설
프롤로그
4장_재미있는 수학 이야기
수학적으로 0, 차원이 다른 이야기
통계적 검정과 p-value
5장_알고리즘과 수학
모든 부분집합
다익스트라 알고리즘
상관계수
스티릭트 위크 오더링
(Strict weak ordering)
6장_수학은 내게 어떻게 무기가 되었는가
스무딩(Smoothing)
3차 다항식 스플라인 곡선
혈류 동역학 분석
관찰되지 않은 종의 개수를 추정하는 방법
(Unseen species approximation)
마무리하며
7장_프로그래머가 수학 공부를 어떻게 할 것인가
선형대수
대수학
수치해석학
통계, 통계, 통계
마무리하며
에필로그
_주요 내용
수학은 프로그래머에게 어떻게 무기가 되는가
저자들은 수학이 자신들의 삶에 어떻게 무기가 되었는지를 이야기해주고 있다.
이재현 저자는 인문학 전공자로 SI를 거쳐 솔루션 개발자로, 그리고 이제 인공지능 전문가로 끊임없이 도전해왔다. 최근에는 과학 철학 수학까지 아우르는 <지능의 본질과 구현>을 집필하기도 하였고 우수학술도서로 선정되기도 하였다. 그 중심에는 바로 ‘수학’이 있었다.
생물학을 전공한 이정설 저자는 인생에서 가장 중요한 순간으로 수학 공부에 전념했던 대학원 시절을 꼽을 정도로 수학에 대한 애착이 누구보다도 강하다. 이제는 ‘수학 없는 코딩은 상상할 수 없다’고 이야기한다. 책에서도 자주 언급되지만, 약간의 수학적 지식을 발휘하면 엄청난 시간과 비용을 절약할 수 있는 수많은 사례들이 있다며, 안타까움을 토로하기도 한다.
이 책은 수학의 중요성에 대해 얘기하고 있는 것은 아니다. 수학은 몰라도 되지만, 수학을 알면 더 많은 기회가 생긴다는 것을 얘기하고 더 나은 도전적인 일을 해낼 수 있다는 이야기를 하고 있다.
“내가 다른 사람보다 똑똑했거나, 혹은 더 뛰어난 인간이라는 증거는 내 삶의 어디에서도 찾아 볼 수는 없다. 다만 난 내 노력으로 ‘컴퓨터’를 얻었고, 그 너머의 진실을 추구하다가 ‘수학’을 발견하게 된 것이다. 비즈니스 격언에 이런 말이 있다: ‘버스에 올바른 사람들을 태울 수만 있다면, 어디로 갈지, 어떻게 갈지는 그 사람들이 알려 줄 것이다.’ 나는 내 인생의 버스를 운전하면서, ‘컴퓨터’와 ‘수학’을 태웠고, 지금 내 인생은 그들이 일러주는 데로 가고 있는 중이다.”
_저자 이재현
“수학은 극단적으로 추상화한 개념들을 대상으로 한 것이기 때문에 현실의 문제를 그렇게 수학적인 것으로 바꾸기 위해서는 이미 수학에 익숙해지는 기간이 필요하다. 바로 이 기간은 어렵기만 한 수학 공부가 도대체 어떻게 도움이 될 것인지 가늠이 되지 않고, 그래서 무의미한 것에 시간을 쏟는 것이 아닌가 하는 의구심이 반복적으로 들 수도 있다. 하지만 1년 2년이 지나면서 자신이 공부하고 배우는 것을 자신이 개발하고 해결해야 하는 문제에 적용하려는 노력을 꾸준히 한다면 어느 순간부터 그 필요성을 몸으로 느낄 수 있을 것이다.
_저자 이정설
[책 속의 말, 말, 말]
인공지능이라는 패러다임이 소프트웨어 구현의 필수요소가 되고 있는 요즈음은 비교적 고등수학에 속하는 ‘미적분’에 대한 지식이 없이는 먹고 살기 힘들 거라는 암시마저 주고 있어서, 확실히 시대가 바뀌긴 바뀌었다. _p.13
대한민국에는 두 가지 공포가 있다: 영어에 대한 공포, 수학에 대한 공포. 가장 중요하다고 생각하는 두 과목에 대한 교육과 투자는 결국 ‘과목에 대한 공포’를 키우는 데 기여하고 있는 것이다
_64페이지
나는 주식을 산 경험도 없고, 차트를 그려본 적도 없는 개발자였는데, 그 전체 솔루션을 개발해야 하는 상황에 처해 있었던 것이다. 앞으로 나아가기도 어렵고, 뒤로 물러날 수도 없는 상황에서 내 정신세계는 이 난국을 타개할 유일한 방법은 ‘수학’이라고 나에게 일러주고 있었던 것이다.
_68페이지
컴퓨터는 실수를 다루기보단 이산수를 다루기로 했다. 컴퓨터를 만든 우리의 선배 인류들은 이렇게 컴퓨터의 한계에서 컴퓨터의 위대성을 정의했다. 다른 식으로 말하면, 컴퓨터 연산은 그 한계를 인식했기 때문에 위대한 기계가 될 수 있었던 것이다. _p.90
이론(최소제곱법)의 등장은 19세기 초반이었지만, 21세기 컴퓨팅 능력에 이르러서야 이런 종류의 계산법이 널리 성행하는 것도 무리가 아니다. _121페이지
나는 시간이 있을 때마다 종이에 단순한 인공뉴런과 활성화 함수를 그리고, 거기에 오차함수를 연결한 뒤, 그걸 되짚어 가며 편미분식을 쓰고, 결과값을 계산했다. _125페이지
포아송 분포가 무엇인지 모르는 사람이 “내가 만든 앱의 사용자 분석을 위해선 포아송 분포01를 이용해 봐야겠군.” 하기는 쉽지 않다. 결국 수학을 잘 모르기 때문에 수학을 써야 할 때 그러한 생각을 할 수 없고, 그러다 보니 수학이 필요 없는 것처럼 보이는 것이다. _142페이지
전체적인 구조 관점에서 최적화하는 것이 한 줄 한 줄 코드 수준에서의 최적화보다 성능이 좋은 경우가 많다. 그런데, 결국 가장 효율적인 것은 수학적으로 최적화하는 것이다. _192페이지
영상 장비의 경우 10초마다 측정 가능한 것을 1초 간격으로 촬영이 가능하게 하기 위해서는 비용 상승이 만만치 않았으나 이를 알고리즘적으로 어느 정도 해결이 가능했던 것이다. 이것이 그 유명한 “하드웨어적인 문제를 소프트웨어적으로 해결한다”의 한 예이다. _199페이지
최종적으로 수학/통계적인 기법을 이용하였을 때에서야 비로소 1만 배 이상 빨라졌으며 이 때에서야 비로소 상용이 가능한 정도까지 가게 되었다. _p.214
원래 수학적인 것들은 매우 추상화되어 있기 때문에 이처럼 그 수학적 유사성 관점에서 바라보지 않는다면 현실에서 그 직접적 적용을 찾기는 거의 불가능하다. _221페이지
우선 현재 자신이 해결했으면 하는 문제를 간단하게라도 정리하여 주변에서 수학을 잘 하는 사람과 논의하면서 수학을 익혀 나가는 것도 한 방법이다. _p.224
선형 대수는 위와 같이 여러 다양한 수학적 개념을 익힐 수 있음과 더불어 데이터 분석에 사용되는 여러 방법론에 사용되는 기법과 연관이 있기 때문에 실용적으로도 중요하다. _230페이지
대수학은 ‘연산’이라는 것의 개념을 확장시켜 주며, 이것은 프로그래머에게 제네릭(generic)이 무엇인지 자연스럽게 이해하게 해준다. 또한 구체적 문제로부터 시작된 개발이 보다 일반화한 상황에 대한 대응을 가능하게끔 문제를 바라볼 수 있게 됨에 따라 프로그램을 보다 효율적으로 작성할 수 있게 해준다. _235페이지
수치해석학은 수학적인 것을 실제로 어떻게 컴퓨터로 구현하는 것인가에 대한 기초 이론부터 실제로 구현하는 것까지 하는 것을 다루는 학문이다. 알고리즘의 효율성을 판단하는 방법 또는 알고리즘이 갖는 오차의 특성 등이 대표적인 기초 이론 중 하나이다. 아마도 이 글의 독자처럼 수학적인 것을 해보고자 하는 프로그래머들에게 가장 인상적이고 도움이 될 분야로 보인다. _236페이지
결국은. 통계다. 단도직입적으로, 통계에서 벗어나 살 수 없다. 어느 원시 부족의 경우 수에 대한 개념이 하나, 둘, 그리고 많다, 라고 한다. 이 정도의 수 개념을 넘어 선다면 통계/확률에서 벗어날 수 없다. _239페이지
_편집자 코멘트
나는 지금도 영어를 잘하는 편은 아니지만, 이전 회사에서 어쩔 수 없이 외국인과 커뮤니케이션을 해야 했기 때문에, 몇 년 동안 지치지 않고 새벽마다 학원을 다닌 적이 있었다. 처음 외국인 담당자와의 미팅에서 사실 한마디도 못했다는 사실이 나를 부끄러워 미치게 했고, 그것이 열정 에너지로 변해 매일 꼭두새벽마다 학원을 다닐 수 있었던 원동력이 되어 주었다.
이후 외국인과의 업무상 미팅에서는 불안감은 사라졌고 소통을 통해 원하는 바를 얻을 수 있다는 기쁨은 학습에 대한 열정 에너지를 더욱더 높여주었다.
그리고 공부를 포기하지 않았던 또 다른 이유는 “내가 원어민도 아니고 그렇게 유창할 필요는 없잖아? 내가 원하는 소통을 할 수 있으면 그만이지.”라는 가벼운 생각 때문이었다. 필요에 의해서 필요한 만큼 공부할 수 있다는 것이, 나에게 부담감을 줄여주었던 것 같다.
프로그래머에게 수학도 마찬가지 아닐까? 수학 전문가가 될 필요는 없다고 생각한다. 앞서 나의 경험처럼 수학을 못해서 손해를 엄청 보았다거나, 큰 기회를 놓쳤다거나 하는 계기가 필요할 뿐이다. 하지만, 평소에 수학의 필요성을 느끼지 못하며 개발하고 있는 프로그래머들이 이러한 경험을 하기란 쉽지가 않다. 바로 이 책이 기획된 이유가 여기에 있다.
_저자 소개
이재현
저자 이재현은 1974년 서울에서 태어났다. 연세대학교 신학과를 졸업하고, 학원에서 영어를 가르치다가 컴퓨터에 입문, 10년 넘게 웹, 앱, 그리고 시스템 프로그래밍을 해왔다. 2016년부터 인공지능에 대한 연구를 시작하여 뉴럴넷의 복잡성을 대체할 기억 기반의 '니마시니 알고리즘'을 만든 이후로는 이 알고리즘에 대한 보급, 전파를 위한 활동을 하는 중이다.
현재 니마시니 알고리즘은 서울대, 대구경북과기원(DGIST)에서 논문과 실용화를 위한 공동 연구를 진행하고 있다. 저서로는 <지능의 본질과 구현>(로드북, 2018)이 있다.
이정설
수학과 생물학 모두 좋아하는 과학자. 학부에서 생물학을 전공하고 부전공으로 수학을 한 후 대학원에서 생물정보학을 전공하며 생물학 실험실에서 실험을 하다 나중에는 실험 대신 영상 처리, 세포 신호 전달 모델링, 대량 유전체 분석 등 다양한 종류의 연구에서 데이터 분석을 주로 수행하였다. 현재는 유전 검사 및 진단에 필요한 다양한 알고리즘 개발 및 유전체 정보를 이용한 신약 개발 관련 연구를 수행 중이다. 분석할 데이터가 크기 때문에 때로는 포인터 연산이 가득한 C++ 코드를 작성하기도 하고, 때로는 수학적으로 최적화를 시도하기도 하고, 때로는 유전학적으로 중요한 문제를 끄집어 내어 그와 관련된 코드를 작성하기도 하는 등의 일을 하고 있다. 도시 탈출을 꿈꾸며 오늘도 코딩을 하고 있다.
_끝
'신간소개' 카테고리의 다른 글
[신간안내] 백견불여일타 Vue.js 입문 : 예제와 실습문제에 집중한 프론트엔드 입문서 (0) | 2020.05.11 |
---|---|
[신간안내] 개발자 오디세이아: 더 나은 개발자의 삶을 위해 (사람과 프로그래머 #9) (3) | 2020.03.11 |
[신간안내] IT과학 이야기#5 컴퓨터는 어떻게 만들어졌나요? (0) | 2020.01.20 |
[신간안내] 비즈니스 프레임워크 도감 (2) | 2020.01.20 |
[신간안내] 백견불여일타 C# 입문: 예제와 연습문제에 집중한 프로그래밍 입문서 (2) | 2019.11.08 |