수학과 개발자
"삑! 환승입니다!"
안녕 어린이 여러분 고코더 삼촌은 지금 열심히 출근 중이에요. 방금 지하철에서 내려서 버스로 환승했어요. 이른 아침부터 버스 안에는 출근하는 직장인이 많네요. 앉을자리가 있지만 삼촌은 일부로 서서 가고는 해요. 왜냐면 삼촌은 지루한 출근 시간 동안 열심히 유튜브로 코딩 강의를 보는데 서서보면 더 집중이 잘되는 거 같거든요. 귀에 블루투스 이어폰을 꽂고 한 손으로는 버스 손잡이를 잡고, 한 손으로는 스마트폰을 움켜쥐고 이동시간 동안 열심히 코딩 공부를 합니다. 그래서 그런지 언제나 출근길은 새로운 배움에 대한 설렘으로 가득합니다.
현재 시간 아침 7시 50분 이제 10분 후면 회사에 도착해요. 일을 시작할 생각을 하니 조금씩 걱정도 밀려와요. 어제 코딩하던 일들이 남아있거든요. 하지만 괜찮아요. 개발자는 매일매일 새로운 숙제를 풀어야 하는 재미가 있거든요. 어린이 여러분도 숙제를 다하면 "드디어 해냈다!" 하면서 성취감을 느낄 거예요.! 개발자도 항상 성취감을 느낄 수 있는 직업입니다. 반대로 이러한 수수께끼 문제를 다루는 걸 어려워하는 걸 힘들어하는 개발자도 있답니다. 그래서 어느 직업과 마찬가지로 적성이 맞는 어린이가 하면 정말 재밌는 직업이라고 생각돼요! 앗! 이제 회사 앞에 도착했어요! 출입증 카드를 문에 대니 문이 열리네요! 드디어 하루가 개발자의 하루가 시작되었어요!
참 어제 인스타그램으로 '수학을 싫어하는 어린이'가 질문을 해왔어요! 오늘은 그 질문에 대한 답을 해보려고 해요! 아 그전에 잠깐만요. 따뜻한 아메리카노 한잔만 텀블러에 담아 올게요. 저희 회사에서는 커피를 내리는 기계가 있어서 아침에 커피를 한잔 직접 만들어 먹으면 하루가 시작하는 기분이 들고는 해요. 요즘 많은 IT 회사들은 이렇게 커피머신을 마련해서 개발자에게 상쾌한 아침과 지루한 저녁을 버티게 해 준답니다. 커피가 준비되었으니 이제 '수학을 싫어하는 어린이'의 질문을 함께 읽어봐요
To. 고코더 삼촌
form '수학을 싫어하는 어린이'
안녕하세요. 고코더 삼촌!
저는 코딩을 배워보고 싶은 어린이예요.!
그런데 친구들이 말하는데 코딩을 하려면 혹은 잘하려면 수학을 잘해야 한다고 하는데 저는 수학이 너무 싫거든요! 너무 어렵고 복잡해서 그래서 수업시간도 수학 시간이 제일 싫어요! 그래서 너무 고민이 돼요. 수학 때문에 코딩을 포기할까 싶어요.
코딩을 하면 정말로 수학이 필수일까요?
삼촌은 수학을 잘하셨어요?
그것이 궁금해요.!
도와줘요! 고코더!
안녕! 수학을 못하는 어린이 친구! 너무너무 반가워요! 정말 많이 반가워요! 왜 이렇게 반가워하냐고요? 삼촌도 사실 정말 수학을 못하거든요! 일명 수. 포. 자(수학 포기한 사람)랍니다. 심지어 공대도 아니고 인문계 학교를 나왔어요! 그래서 수학은 일찌감치 포기했고 지금도 수학을 못하는 개발자로 10년을 넘게 일해오고 있어요! 그런데도 아직까지 프로그래머로 월급을 받으면서 일하고 있는 거 보면 수학은 개발자로 일하는데 크게 문제가 되는 거 같지는 않다는 생각이 들어요! 제가 바로 그 증거예요! 그리고 제 개발자 동료들 중에서도 수학을 못하는 사람이 꽤 많은 거 같네요. 잠깐 여기서 그럼 수학을 잘하는 개발자 친구한테도 전화를 걸어볼까요? 수학이 정말 중요한지 함께 물어봐요
"띠리리링 띠리리링"
고코더 : "안녕 친구!"
개발자 친구 : "고코더! 오랜만이야! 무슨 일이야?"
고코더 : "내 구독자 어린이가 개발자가 되려면 수학을 꼭 잘해야 하는지 물어보는데 네 생각은 어때?"
개발자 친구 : "음 그렇군 많은 사람들이 개발자가 되는 조건으로 수학을 잘해야 한다고 믿고 있는 거 같아. 나 역시 개발자가 되고 싶을 때 그런 생각한 거 같아! 그런데 물론 수학을 잘하면 개발자일을 할 때 유리한 건 사실은 거 같아 하지만 수학 능력이 필수 조건은 아니라고 생각해 고코더도 알겠지만 우리가 코딩할 때 복잡한 수학 방정식을 세우는 일은 없거나 극히 드물잖아? 혹은 정말 필요한 능력은 논리적인 사고 능력이 아닐까? 생각해"
고코더 : "그렇군 내가 하고 싶은 말을 장 정리해 줘서 고마워 그러면 수학이 필요한 경우도 있을까?"
개발자 친구 : "물론 있지! 만약 어린이 친구가 물리 엔진이나 머신러닝 모델, 자율주행, 인공지능이나 게임 같은 분야에서 활약하고 싶다면 수학능력이 필요할 거야"
고코더 : "그렇군 우리 어린이 친구한테 마지막으로 하고 싶은 말이 있을까?"
개발자 친구 : "어린이 친구 수학을 못해도 너무 겁먹지 마요. 저와 고코더 같이 훌륭한 개발자가 충분히 될 수 있답니다. 그렇다고 수학을 완전히 포기해도 된다고 말하는 건 아니에요! 수학을 잘하면 할 수 있는 분야가 그만큼 늘어나게 된답니다. 그러니깐 필수는 아니지만 선택할 수 있다면 수학도 조금씩 도전해 보는 걸 추천드려요! 그렇다고 수학이 어렵다고 꿈을 포기하지 말길 바라요. 수학보다는 코딩을 먼저 공부해야 지치지 않고 개발자가 될 수 있답니다. 어린이 친구의 꿈을 응원해요!"
고코더 : "친구! 고마워!!"
개발자 친구 : "그럼 이만!"
'수학을 싫어하는 어린이' 친구 어느 정도 궁금증이 해소되었나요? 고코더 삼촌이 좀 더 추가적으로 설명해 볼게요. 결론적으로 말해주면 수학을 안 해도 충분히 개발자가 될 수 있어요! 하지만 좀 더 크고 유명한 개발자가 되고 싶다면 수학도 조금씩 공부하는 걸 추천해요! 수학은 코딩보다 어려워요! 그러므로 아주 천천히 끈기를 가지고 조금씩 이해하시면서 나아가면 좋을 거 같아요. 그럼 분야마다 어떤 수학이 필요로 한지 정리해 볼까요?
웹개발
웹은 굉장히 범위가 크고 다양한 분야예요. 삼촌은 지금 웹 개발을 하고 있어요. 그런데 웹개발은 다행히 수학이 크게 중요하지 않은 분야예요. 하지만 알고리즘이나 프레임워크등을 개발할 때는 수학이 필요하기도 해요. 그러므로 웹개발을 할 거면 기본이 되는 대수학을 공부해 보는 걸 추천해요. 혹은 코딩을 하다 수학이 필요할 시점에 수학을 공부해도 될 거 같아요!
게임 개발
게임은 선형 대수, 특히 공간 관련된 매트릭스와 벡터등 게임 수학을 알아두어야 해요. 그래서 게임에 필요한 수학을 '게임수학'이라고 해요. 공간과 물체를 다루거나 회전을 시키는 등에서 수학이 필요할 때가 있어요. 그런데 걱정하지 마세요. 게임 수학이라는 수업을 따로 들으면 아주 쉽고 필요한 부분만 쏙쏙 가르쳐 준답니다.
인공지능은 수학적 이해도가 높아야 해요. 그리고 그것을 적용하는 방법도 알아야 하는 분야랍니다. 그리고 여전히 발전 중이기 때문에 수학이 꽤나 필요한 분야예요. 선형대수학, 확률과 통계, 미적분등 현대의 AI는 최근 수학적 지식의 집합이라고 한답니다. 그러므로 인공지능 개발자가 되고 싶다면 수학이 꼭 꼭 필요해요!
데이터 분석
데이터 분석은 통계학 중요합니다. 하지만 데이터 분석만 하는 경우는 드물기 때문에 데이터를 수집, 관리, 최적화하는 데이터베이스 기술이 좀 더 필요할 거예요.
블록체인
블록체인은 정보를 보호하기 위한 언어학적 및 수학적 방법론을 다루는 학문으로 수학인 '암호학'을 알아야 해요. 암호학을 기초로 블록체인은 시작한답니다. 또한 분산과 관련돼서 컴퓨터 공학 관련 지식도 매우 중요해요. 블록체인도 여전히 발전 중이기 때문에 수학이 필요한 분야일 수 있어요!
만약 멋진 축구 선수가 되고 싶은 어린이가 있다면 키도 크고 몸도 커서 헤딩도 잘하고 몸싸움에서도 지지 않으면 얼마나 좋을까요. 하지만 축구 선수들 중에는 굉장히 키가 작고 체격이 작은 선수도 많답니다. 아르헨티나 축구 영웅! 리오넬 메시(Lionel Messi)는 키가 겨우 169cm에 체중은 67kg뿐이 안된다고 해요. 하지만 현재 가장 축구를 잘하는 선수로 뽑히고 있어요. 그리고 어린 시절에는 성장호르몬 결핍증이라는 진단을 받아서 치료까지 받았다고 해요. 하지만 지금은 누구보다 축구를 잘하고 오히려 작은 체격을 활용해 멋지게 드리블을 해서 골을 넣는 축구 선수가 되었어요.
이처럼 단점이 있다고 포기하지 말고 우선 시작해 보면 길이 생길 거예요. 자 어린이 친구 기나긴 이야기 끝에 결론을 내어 볼까요?. "우선 코딩 먼저 시작해도 하세요!" 제가 하고 싶은 말이에요.! 나중에 수학이 필요한 경우가 생겼다! 그까짓 거 그때 가서 공부해도 되죠. 우선 코딩을 배워서 어린이 친구의 재능을 확인해 보세요! 재밌는 코딩을 하다 보면 분명 멋진 개발자가 되어있을 거예요!!