안녕하세요. 지나가던 개발자입니다. 결론을 말씀드리면, 수학을 하신다면 멀리 가실 수 있고, 수학을 안하셔도 개발자는 될 수 있다고 이야기 드리고 싶네요. 왜냐하면 필연적으로 프로그래밍하면서도
안녕하세요. 지나가던 개발자입니다. 결론을 말씀드리면, 수학을 하신다면 멀리 가실 수 있고, 수학을 안하셔도 개발자는 될 수 있다고 이야기 드리고 싶네요. 왜냐하면 필연적으로 프로그래밍하면서도 충분히 수학적 사고가 키워지기 때문인데요. 중요한건, 수학적 지식에 부딪쳤을 때 피하지 않고 호기심을 갖고 끈기있게 이해하시는 자세일 것 같습니다. 제 팁을 좀 알려드리면, 수학적 사고나 수학이라는건 단기간에 공부하기에 매우 어렵습니다. 동시에 내가 배우는 수학이 어떤식으로 활용되는지도 명확하게 알기 어렵죠. 때문에 꾸준히 프로그래밍 공부를 하시다가 보이는 수학을 꼼꼼하게 배우시는 탑-다운 방식의 꼬리 질문 공부법을 조금 추천 드립니다. 개인적으로 일찍 지치는 방식은 이런 방식입니다. AI를 위해서 무슨 수학을 해야하지? => 선형대수부터 해야하나? => 선형대수 첫장부터 펴본다 => 금방 지치게 됩니다. 허나, 탑다운 방식으로 하게 되면 나름 길이 보입니다. 정렬 알고리즘에 대해서 본다 -> 언어에 구현된 sort를 본다 -> 왜? 모든 언어에 구현된 sort는 퀵소트지? -> 퀵소트를 본다 -> 다른 정렬 법도 배워본다 -> 많은 소트 방법중에 퀵소트가 좋은 이유를 수학적으로 고민해본다 혹은 찾아본다 -> 이해하면 넘어간다. 이렇게, 탑에서 꼬리 질문을 하듯이 배우시면, 처음엔 시간이 매우 오래걸릴 수 있지만 많은 도움이 될것입니다. 꼬리 질문도 연습이 필요하니 다양한 질문을 만들어보시는것도 중요합니다. 특히나 요새는 이런 접근이 유튜브나 다양한 학습 도구가 있어서 가능한대요. 예를들면, AI를 보다가 선형회귀(Linear regression)이라는 표현이 나오면 이 용어에 대한 것을 이해하는 데 집중하고 이해하면, 넘어가는 것입니다. 알고리즘이나 자료구조도 비슷합니다. 그리고선 다양한 예시를 훈련하는 것입니다. 프로그래밍도 괜찮고, 수학적 예시들을 만드는 것도 좋을 것입니다. 너무 어려워서 이해가 안된다면 가능하면 이해가 되는 학습 도구(책, 유튜브, 전문가 강연등)을 찾아보시는게 좋습니다. 그게 5시간이고, 10시간이더라도, 이해하셨다면 대단하신 겁니다. 이 수학적 방식을 찾아내고 증명하는데 수많은 천재들이 수천년 동안 쌓아올린 지식이라는걸 잊지 않으셨으면 좋겠습니다. 추가로, 다양한 분야를 고민하고 계시다고 하시니, 분야별로 조금 수학적으로 보시면 좋은 부분도 이야기 드리면, 🌐 웹 개발 : 웹개발이라는게 범위가 매우 큰 분아랴서, 특정지을 수 없지만, 우선 알고리즘과 프레임워크등의 기본이 되는 대수학(Algebra)이 중요하지 않을까 싶습니다. 🎮 게임 개발 : 선형 대수(Linear Algebra), 특히 공간 관련된 Vector/Matrix가 중요한 분야입니다. 실제로 게임 개발쪽을 배우시다보면, 시작 자체가 카메라 스페이스, 로컬 스페이스, 월드 스페이스등 다양한 벡터 변환부터 시작합니다. 🧠 AI : 대수학(Algebra), 통계(Statistics), 미적분학(Calculus)등 현대의 AI는 최근 수학적 지식의 집합입니다(그리고 어디로 발전할지 모릅니다) 때문에 수학적으로 높은 수준의 이해도 뿐만 아니라 적용도 필요한 분야입니다. 그래서, 전략적으로 접근하시는게 좋은데, AI로 어떤 문제를 해결하고 싶으신지를 먼저 고민하시는게 중요하지 않을까 싶습니다. 예를들면, 단백질 구조를 찾는 AI를 만들려면, 수학, 생명과학, 컴퓨터공학을 모두 알아야 시작할 수 있습니다. 🔎 데이터 분석 : 통계학(Statistics)과 모델링(Modeling)이 우선 매우 중요합니다. 허나, 데이터 분석만 하는 개발자는 매우 소수일 것입니다. 데이터를 수집하고, 관리하고, 최적화하는 등 Database나 Data Wrangling과 Cleaning등과 관련된 지식도 매우매우 중요합니다. 🔐 블록체인 : 블록체인은 암호학(Cryptography)부터 시작됩니다만, 분산과 관련되서 컴퓨터 공학 관련 지식도 매우 중요합니다. 이것도 최근에는 다양한 분야랑 융합이 중요한 시기라서 어디에 활용하고 싶은지를 많이 고민하시는 것 또한 중요하다고 이야기 드리고 싶습니다. ----------------------- 저도 모든 분야를 다 알거나 전문적으로 해보진 않아서, 틀린 정보가 들어가 있을 수 있습니다. 하고 싶은 분야를 꾸준히 탐색하시고, 고민하시면, 저보다 더 좋은 답이나 지식에 도달 하실 수 있을 것 같습니다. 앞으로 멋진 개발자가 되시길 기대하겠습니다 :)