학창시절을 보내온 사람이라면 모두가 ‘수(Number)’를 시작으로 이 학문을 안 배워본 사람은 없을 것이다. 특히, 국어 다음으로 수학은 우리 생활과 정말 밀접한 관계를 맺고 있다. 수학은 수, 양, 구조, 공간, 변화 등의 개념을 다루는 학문으로, 우리의 일상 생활에서 매우 중요한 역할을 한다. 이러한 수학의 중요성은 개발자에게도 예외가 아니다.
제가 '개발자를 위한 필수 수학'을 읽게 된 계기는 바로 이러한 수학의 중요성을 다시 한번 깨닫게 되면서 시작되었습니다. 처음 개발에 입문할 때는 단순히 코딩 기술과 언어에 집중했지만, 점점 더 복잡한 문제를 해결하고 더 효율적인 알고리즘을 구현하려면 수학적 지식이 필수적이라는 것을 깨닫게 되었습니다.
개발을 하다 보면 데이터 구조, 알고리즘, 컴퓨터 그래픽스, 인공지능 등 다양한 분야에서 수학이 기본적인 바탕이 되어야 한다는 사실을 직면하게 됩니다. 예를 들어, 복잡한 알고리즘을 이해하고 최적화하기 위해서는 대수학과 해석학이 필요하고, 머신러닝 모델을 구축하려면 확률과 통계, 선형대수학이 필요합니다. 이러한 수학적 기초가 부족하면 한계에 부딪히게 되는 순간이 오기 마련입니다.
따라서, '개발자를 위한 필수 수학'을 통해 수학적 기초를 다시 다지고, 개발자로서의 역량을 한층 더 강화하고자 하는 마음으로 이 책을 읽게 되었습니다. 이 책은 개발자에게 필요한 핵심적인 수학 개념들을 쉽게 풀어서 설명해 주기 때문에, 이론과 실전을 동시에 잡을 수 있는 좋은 기회라고 생각했습니다. 이 계기를 통해 더 나은 개발자가 되기 위해 끊임없이 학습하고자 하는 의지를 다지게 되었습니다.
이 책의 저자인 토머스 닐드는 닐드 컨설팅 그룹(Nield Consulting Group)의 설립자이자 오라일리 미디어와 서던 캘리포니아 대학교의 강사인 저자는 기술 콘텐츠에 익숙하지 않거나 두려움을 느끼는 사람들이 공감할 수 있는 콘텐츠를 만드는 것을 즐기는 전문가입니다. 그는 데이터 분석, 머신러닝, 수학적 최적화, AI 시스템 안전, 실용적인 인공지능 등 다양한 주제에 대해 정기적으로 강의하고 있습니다. 이러한 배경을 갖고 있기에 책의 내용이 단순히 수학에만 치우치지 않아 좋았습니다.
공대를 졸업한 사람이라면 공학수학, 이산수학, 선형대수학 등을 차례로 배워보셨을 겁니다. 하지만, 이러한 학습 과정에서 한 가지 아쉬운 점은 숨길 수가 없었습니다. 그것은 바로 전공과 수학과의 연결이 잘 안된다는 것이었습니다. 물론, 기계공학도라면 열역학, 기계역학 등을 배울 때 각종 역학을 계산할 때 수학이 사용되기는 했을 것입니다. 컴퓨터공학도도 이산수학에서 배운 행렬을 알고리즘에 일부, 컴퓨터 비전에 일부 활용했을지도 모릅니다. 하지만 본질적으로 수학 시간에 실제 전공과의 연관성을 설명해주진 않아, 별개의 학문을 배우는 듯하는 느낌이 컸습니다.
그에 반해 이 책은 달랐습니다. 1~4장에서 기초 수학을 시작으로 미적분, 통계, 확률, 선형대수학을 설명하고 있는데 ‘수학’이라는 학문에서 그치는 것이 아닌 이후 이어질 머신러닝의 핵심이 되는 선형회귀, 로지스틱 회귀 등에서 어떻게 이용이 되는지 초반 설명부터 짚어주고 있어 좋았습니다. 특히, 우리가 알고 있는 기존 수학 설명은 일일이 계산하고 그려야 한다면 본 책에서는 ‘개발자를 위한’이라는 키워드에 맞게 Python을 적극 활용하여 ‘심파이’ 라이브러리를 통해 어떻게 그래프를 그리면 되는지 코드와 함께 ‘수학’을 보다 ‘개발자’ 스럽게 설명해주고 있습니다.
8장에서는 경력 조언과 앞으로의 진로에 대한 파트도 다루고 있는데 여기서 실제 ‘데이터 과학(Data Science’ 분야에서의 직무에 대해 저자의 생각을 말해주고 있습니다. 데이터에서 의미를 도출하는 것에 관심이 있는 요즘, 이 장은 저에게도 유의미하게 다가왔습니다. 단순히 ‘돈’에 문제가 아닌 인공지능 모델이 발달함에 따라 ‘모델링’과 함께 이를 바탕으로 의미를 도출하는 데이터 과학자로서 어떤 일을 해야 하는 지 ‘Data Sicne is Different Now(https://oreil.ly/vm8Vp) 글을 통해서도 재미있게 알아갈 수 있었습니다.
끝으로 본 책에 대해 한줄로 정리하면 “대학교에서 공학도로서 수학을 배웠지만, 이러한 개념들이 실제 전공과 연결되지 않아 어려움을 겪고 있었던 개발자들에게 한줄기 빛과 같은 책”이라고 할 수 있겠습니다. 책의 시작부터 마지막까지 전적으로 개발자에게 정말 도움이 될 수 있게, 제목 그대로 ‘개발자를 위한 기초 수학’이라는 내용이 유감없이 잘 전달된 책이어서 정말 좋았습니다.
"YES24 리뷰어클럽 서평단 자격으로 작성한 리뷰입니다."
'책으로 여는 세상' 카테고리의 다른 글
[책리뷰] 실무로 통하는 타입스크립트 (2) | 2024.07.28 |
---|---|
[책리뷰] 데이터 과학자 원칙: 데이터 리더 9인이 말하는 더 나은 데이터 과학자로 살아가는 원칙과 철학 (2) | 2024.07.07 |
[책리뷰] 업무에 활용하는 Node.js (0) | 2024.06.23 |
[책리뷰] 프로 일잘러의 슬기로운 노션 활용법: 20가지 노션 템플릿과 함께하는 (0) | 2024.06.09 |
[책리뷰] 말 잘하는 리더? 잘 말하는 리더! (0) | 2024.06.03 |