졸업을 앞둔 대학생 입장에서 바라본 좋은 프로그래머가 되려면 열심히 배워야 하는 중고등학교 교과 과목

아따, 제목 길다 ㄱ-
어째튼...

다들 아실지 모르겠지만, 프로그래밍... 정확히 개발자, 그 이상을 목표로 두고 공부를 하고 있는 저 입니다만, 제 입장에서 본 중요한 교과과목을 꼽으라면... 아무리 생각해도 이것인것 같습니다.

모든 과목

... 농담 아닙니다.
혹시나 간추려 달라고 하신다면... 딱 세가지만 꼽아보죠

국어, 영어, 수학

웬 뜸금없이 국영수냐? 라고 하실지 모르겠지만, 제 입장에서 보면 맞는것 같습니다.
왜냐하면~

국어
혼자 프로그래밍 하신다면 뭐 할 말은 없지만, 아마 대부분의 사람들은 회사에 들어가게 되서 사람들과 같이 개발을 하게 될것입니다. 그러면 문제가 되는것이 바로 대화와, 문서입니다.
아무리 실력이 있어도 상대방이 요구하는것을 잘못 이해하거나 대화가 안통하면 말짱 꽝이죠 -_-;; 그리고 자기가 작업한 것에 대해  주석을 달고 문서화를 시켜야 하는데 글을 잘못써서 이해가 안되면 뭔가 난감하죠 -_-;;; 어떨 경우에는 자기가 써 놓고서 자기가 못알아 보는 경우도 많습니다. (대표적인게 바로 저...) 국어공부 열심히 하세요

영어
뭐, 다른곳에서도 귀아프게 들으셨을지도 모르겠지만. 영어 중요합니다. 뭐, 외국사람과 대화할 정도의 실력을 갖추라는 이야기는 아닙니다. 단지
영어 책이나 영문 사이트 읽고 해석하고 쓸 정도만 되면 됩니다...
... 그럼 다 할줄 아는거잖아! ㅠ.ㅠ
왜냐~ 한국에 있는 모든 번역서들은 기초서적입니다 -_-;; 중급 이상 올라가려면 원서나 다른 나라 번역서를 봐야 한다는 이야기인데, 뭐, 그건 그렇고
그리고 어떠한 문제가 발생을 하게 되면 보통 인터넷을 찾아보죠? 그런데. 온갖 쓰레기 답변과 깊이도 없는 그런 답변만 올라와 있는 네이버를 뒤지시겠습니까? 아니죠? 자자, 영어도 공부하세요
(그런 의미에서 영문 사이트에서 자료를 잘 찾아내시는 싸인펜님 참 부러워요 ㅠ.ㅠ)

수학
이 부분에서 의외로 많은 사람들이 의아해 할 지도 모르는데... 제가 프로그래밍을 처음에 어떻게 접근했는지 알려드리면 해답을 얻을 수 있을지 모르겠네요.
제가 고등학교때부터 프로그래밍이라는것을 접하게 됬는데 그때 잘 나가다 변수에 관해 들어갈 때 일이였습니다.

i = 1

뭐, 프로그래밍을 공부하신 분이라면 i라는 변수에 1을 대입한다는 의미로 받아들이시겠지만 저는 이것을

i는 1과 같다

로 해석했습니다. -_-;;;
네, 다분히 수학적이죠? (그래서 저는 그 때 당시 i 보다 x나, y를 더 즐겨 썼었습니다 ㅎㅎ) 그럼 다음과 같은 경우에 조금 난감하게 되는데요

i = i + 1

프로그래밍 공부하신 분이라면 i라는 변수에 들어있는 값을 1과 더해서 다시 i에 넣어라... 라고 읽으시겠지만 그 때 저는

i는 이전의 i에 1을 더한 값과 같다

뭐, 어떻게보면 비슷 합니다만, 뭔가 미묘하게 다르죠?
하여튼 이런 사고로 시작한 프로그래밍이 나중에 큰 벽이 되버리긴 했지만(객체지향 문제에서), 어째튼 중요한것은 컴퓨터는 수학을 기초로 만들었기 때문에 수학이나 프로그래밍이나 비슷하다는 겁니다.

또 다른 예로 제 동생이야기인데
고등학교때 부터 수학을 좀 잘 한다 싶더니 대학교를 전자과 쪽을 들어가 4학년이 되서 C언어를 듣게 되었습니다. 그래서 저한테 물으러 왔었는데 참 재미있는게
분명 배운지 2주밖에 안됬는데 제가 짠 프로그램을 보고 분석하고 이해한다는 것이죠 -_-;;;;
그래서 제가 어떻게 그걸 보고 해석하냐고 물으니까 하는 말이...

"수학이랑 똑같잖아"

음, 물론 객체지향으로 넘어가게 되면 위 말은 맞는 말이 아니게 되지만(그렇다고 틀린말도 아님) 어째튼 수학을 잘 하게 되면 프로그래밍에 접근하기 쉬워집니다. 특히  게임 프로그래밍이나 3D프로그래밍을 하게 되면 필수입니다. (덤으로 저는 웹 페이지 하나 만들더라도 수학은 아니더라도 산수 공식으로 꽉 채웁니다. 왜냐고요? 결국 각 위치나 배열을 정하는것은 숫자거든요)

결론은... 수학도 하세요 ^^

말이 좀 길어졌습니다. 제가  중 고등학생 이상을 대상으로, 그리고 처음 접하는 사람들을 위주로 쓰긴 했어도 요점은 "학교 공부 열심히 하세요"입니다. 프로그래밍을 하다 보면 의외로 역사의 흐름과, 생물학적 관계도, 끈기 있는 체력, 과학에서 나오는 원리, 그밖에 여러가지가 필요하게 됩니다. 그리고 가끔 손수 그림을 그리기도 하고, 음악도 선정합니다 -_-;;

혹시 대학생이시라면 교양 과목으로 철학이나 경영학을 들어두세요 도움 됩니다.

뭐, 어째튼 아직 학생 입장에서 생각한 이야기니까, 너무 얼매이지 마세요 하지만 위에서 말한 과목들이 다른 직장에서 역시 생각외로 필요하게 된다는 것을 알아두세요 ^^

아, 혹시 제가 개발자로 5년 이상 일하고 이 블로그를 계속하고 있다면 개발 X년차 로 해서 또 올리죠 ㅎㅎ

Trackback 0 Comment 6
  1. Favicon of http://stdio.tistory.com BlogIcon 머리 2007.09.10 01:35 address edit & del reply

    글 잘 읽고 갑니다. ^^

    정말 공부중이지만 뼈저리게 느끼고 있는 것들이네요.. 국어.. 주석도 주석이지만 나중에 매뉴얼 만들때나 리포트 쓸때도 많이 필요하지요.

    수학같은경우도 지금 제가 대학 1학년생이라 아직 수학을 많이 접하진 않고 있지만 나름 프로그래밍 해보면서(프로그래밍 한지는 한 10년 되었습니다.) 엄청나게 많이 쓰고 있는 분야지요. 특히 그래픽 작업할때 행렬.. 무지 많이 쓰이더군요.

    영어도 원서를 접하게 되면서 공부해야겠단 생각이 참 많이 들어요. 구글링 하면서도 외국 문서들이 참 좋은게 많은데 그럴때 영어 안되면 좀 글쵸.

    암튼 글 잘 보고 갑니다 ^^

    • Favicon of http://www.myhyuny.net BlogIcon 화현 2007.09.10 23:55 address edit & del

      에고, 잘 보셨다니 다행이네요 ^^

  2. Favicon of http://rukxer.net/ BlogIcon Rukxer 2007.09.10 16:30 address edit & del reply

    시간이 지날 수록 여러가지를 관심 가졌다는 게 잘 한 일이라고 느껴지더군. 국영수만이 아니라 되도록 많은 걸 접하면 더 좋지만, 공부할 시간까지 빼면서 접할 수는 없는 노릇이니 적당히....-___-;;;

    • Favicon of http://www.myhyuny.net BlogIcon 화현 2007.09.10 23:57 address edit & del

      역시 많은 경험이 중요한거군요

  3. Favicon of http://mydb.tistory.com BlogIcon 파도소리 2007.09.13 10:08 address edit & del reply

    국영수보다도 무엇보다 체육이 중요함니다! ㅋ


    뭐니뭐니해도 건강이 최고
    더구나 야간작업이 많은 프로그래머라면 당연히 체력이 최고

    • Favicon of http://www.myhyuny.net BlogIcon 화현 2007.09.14 00:24 address edit & del

      그건 정상적인 환경이 아니잖아!
      ㅋㅋㅋ