2016년 9월 19일 월요일

프로그래머와 수학의 관계?

아주 황당한 경험을 하게 되었다. (점입가경이랄까?)

아무리 직업의 세분화가 좀더 정밀해졌다고 하더라도 이건 좀 아닌가 싶은 일이 벌어졌다.

팀 사람들에게 프로그래밍 관련 알고리즘을 설명해야할 시간이 생겼다.
당연히 알고리즘은 수학이 빠질 수 없기에 수학적 설명을 곁들였다.
근데 이게 무슨 일인지 전부 먼산만 바라본다.
왜 관련도 없는 수학을 논하는가? 그저 배포된거 가져다쓰면 되는데, .. 하는 분위기..

회의 후 사람들은 내게 '수학을 되게 잘하시네요.' 라고 말한다.

'응? 난 수학이 아니라 알고리즘을 설명한건데?' 

수학 == 알고리즘?, 수학 != 알고리즘?, 수학 ⊆ 알고리즘!!


이상하다 정말.
내가 아무리 알고리즘이라 해도 사람들은 수학으로 받아들였다.

뭐 액면은 수학이긴 하지.. 흠..

더불어 자신에게 수학을 강요하지 말란다.
'데이터 사이언티스트'나 수학을 한다며, 자기들과는 분야가 다르다는 지론을 내세운다.

어떤이는 안드로이드 개발자란다.
어떤이는 시스템 개발자란다.
어떤이는 프론트 개발자란다.
어떤이는 자바개발자는 잘 가져다 쓰면 우수한 개발자라는 주장을 피력했다.
(이미 있는거 가져다 조립 잘하는게 어떻게 '개발'인지는 모르겠지만;;)

얼마 전에..

연구성향이 강한 사람이 있기에 '당신은 개발자 스타일이네요' 한마디 했더니,
"그 사람 빼고 나머지는 개발자 아니냐? 왜 비하하냐"며 매서운 눈빛으로 날 바라봤다.

(수학 모르고, 알고리즘 생각해본 적 없고,
배포된 소스를 한번도 직접 분석해본 적 없으면서 개발자 소린 듣고 싶은가 보다. ㅠㅠ)

많은 사람들이 수학에 대해 잘못 이해하고 있다.
수학은 그저 외워야하는 복잡한 공식이라고 알고 있다.

수학은 논리력이다. 

예를 들자면,
삼각함수를 이용해 데이터를 평준화 하거나 매출변화를 분석할 수 있다.
그저 직각 삼각형을 가져다놓고 의미 없는 나누기를 하는 '뻘짓'이 아니다.
전체 분포에서 일부 그룹들을 나누면 점유율이 나오고 이는 곧 코사인 결과가 나오게된다.
이전 데이터와 현재데이터를 비교한 변화량은 곧 탄젠트로 이어진다.

복잡한 공식의 문제가 아니라, 우리가 이미 알고 있을지 모르는 논리적 사고능력, 문제해결 능력을 표현하는 방법이 수학이라는 것이다.

알고리즘에 있어 수학을 모르면 그저 우주어가 적힌 논문일 뿐이다. 수학을 모르면 그저 남들이 만든 소스를 '설명서에 맞춰' 가져다 붙이는 것만 가능하게 된다.

물론 나도 수학을 잘한다고 말 못한다.
학창시절에도 수학을 그렇게 좋아하지 않았고, 가방끈도 짧은 내게 유일한 수학선생은 '수학정석' 이었다.

수학을 가르쳐준 선생이 문제인지 그 선생의 뜻을 이해하지 못한 내 문제인진 모르겠으나,
아무튼 난 직장생활 내내 수학정석을 데스크에 항상 올려두었다.

(쪽팔림? 그건 순간이다.)

이해가 가지않으면 외우지 못하는 몹쓸병에 걸린 난,
구구단을 다 익히는데 30년이나 걸렸다. (요새도 사실 가끔 해깔린다.. ㅜㅜ)
그런 내가 수학을 이해하기 위해 쏟은 시간과 노력은 정말 혹독했다.

아무튼,

수학을 못하면 프로그래머가 될수 없다?
프로그래머인데 수학을 못해도 된다?

결론은..

한국에서 수학을 못한다해도 '프로그래머'가 될 수는 있다.
하지만, 수학을 하지 않고서는 '개발자'가 될 수는 없다.

한국 교과과정에서의 '수학'을 하려하지말고, 
논리적 분석 능력이 바로 '수학'임을 깨닳아라.





댓글 없음:

댓글 쓰기