개발자 취업 후 - 컴공과 커리큘럼 : 독학은 어려움
- 블라블라
- 2016. 11. 9.
※ 2012년 3월 4일 작성
※ 경험했던 중소기업 기준으로 작성 (직원 수 200명~10명, 연 매출 400억~60억)
3. 컴공과 커리큘럼
개발자 취업 전, 대학에서 149학점을 채웠습니다. 대학원에서 추가로 41학점을 채워 대학 6년간 190학점에 해당하는 여러 강의를 수강했습니다. 생뚱맞게, 국어국문학과의 현대 소설 2학년 전공 필수과목도 들어봤는데, 비전공자가 듣기엔 힘들었어요;; 유아교육과 강의는 재밌더라고요. 교재가 지금도 집에 있는데, 교육방법의 기초와 최신 교육학 개론이네요.
교수님이 재미있게 가르쳐주셔서, 깔깔대며 실수로 교수 누나라고 불렀던 기억도 새록새록 납니다. 다른 교양 과목들도 나름대로 재미있게 수강했었다 ... 이렇게 기억납니다.
※ 2015년 4월 24일 추가
프로그래머인 지금 생각해 봐도 당시에 다른 과 전공 수업 들은 거 후회가 안 됩니다.
반면, 취업 현실에 필요한 건 전공 지식입니다.
유독 다른 학과 친구보단, 같은 학과 친구, 후배에게 전공 컴공과 커리큘럼에 대한 불평을 많이 들었습니다. 대학원 조교 땐, 마이크로프로세서를 왜 배워야 하나 불평인 학부생들이 ... 미워 보이기도 했고요. 이렇게 불만 많은 사람들이 일관되게 말하는 것 중 하나가, 왜 취업에 도움 되는 것을 못 배우냐는 겁니다. 정작 취업에 도움 되는 거엔 불평이면서 ...
대학 강의는 독학 또는 학원에선 접할 수 없는 전문성을 내포하고 있습니다. 각종 기반 지식은 원리 이해를 돕고, 다양한 분야로 취업할 기회와 개발자로서의 지구력을 갖게 해 줍니다.
3-1. 취업용으로 변질한 컴공과 커리큘럼
근데, 대학 컴공과 커리큘럼이 지나치게 프로그래머 취업용으로 변질한 건 아닐까 ... 걱정이기도 합니다.
우리 학교에선 안드로이드 과목을 개설했을지언정, 안드로이드 앱 제작에만 열중하고 액티비티 소멸 주기 같은 기본에는 등한시했습니다. 엄연히 안드로이드용 어플 제작에 사용되는 언어와 자바는 그 성격이 다릅니다. 그건 가르치지 않았습니다. 왜냐면, 앱을 만들어서 마켓에 올리는 게 더 중요했거든요.
객체지향 프로그래밍의 심화 과정도 없습니다. 그래서 중견 업체나 대기업에 취업하는 졸업생들이 조각조각 분리된 프로젝트의 소스들을 보고 한숨부터 쉽니다.
기본이 부실하니, 기본이 충실한 사람들보다 업무 적응력이 떨어집니다. 주로 사용되는 디자인 패턴에 뭐가 있는지도 잘 모릅니다. 심한 경우엔, 객체지향 언어는 불편하다는 개인 의견을 내놓기도 합니다.
기초 없이 프로그래밍해 봐야, 한계에 부딪히고 해결책을 내놓지 못합니다.
미적분을 왜 배우냐는 후배에게 야구 게임엔 수학이 쓰일까 안 쓰일까? 되묻기도 했습니다. 프로그래밍 학원이 아니고 컴퓨터 공학과에서 왜 공학을 등한시하고 학원처럼 나가는지 의문. 소스화된 공식이 있다손 치더라도, 응용할 수 있느냐 없느냐는 개인 기량입니다.
3-2. 학생에게 필요한 건 다양한 프로그래밍 경험
한편으론 C, C++, JAVA, C#을 중심의 필수과목을 진행할 필요가 있을까요? C언어 정도는 독학 대신 별도 교육이 필요할지 모르지만, 다양한 환경에서의 프로그래밍 경험을 컴공 학생들이 배워야 할 텐데요. 이게 올바른 현실 아닐까요?
이산 수학 시간에 연습 문제를 코딩해오는 간단한 부분부터, GUI를 생략한 리눅스 코딩, 창작은 들어가지 않고 오로지 교수가 제공하는 소스만 짜깁기해서 결과 내놓는 등, 마켓이야 있건 말건, 교수 성과와 함께 진행되는 강의는 없어야 함에도, 학생들은 마켓에 어플이 올라가니 교수도 좋아하고 나도 좋고, 참 좋구나~ 하고 착각합니다.
지금은 컴공과 커리큘럼이 전국적으로 큰 차이가 없습니다. 아쉬운 현실은 HW를 접목한 강의를 점차 늘려야 하지 않을까 ... 하는 점입니다.
기업이 규모를 갖추고, 업무도 세분화했을 때, 개인이 HW SW 모두 다루면 "남의 밥그릇 뺏으려고?"라는 식의 욕도 먹을 수 있겠으나, 궁극적으론 컴공과 출신은 HW를 이해하고 약간은 다룰 줄 알아야 한다고 생각합니다.
이해한다는 수준이 HW로만 먹고 살 수 있을 정도를 말하는 게 아닙니다. 적어도, 우리 회사가 이런 제품을 만드는데 이 제품들이 어떻게 구성이 되었고 왜 그 부품이 쓰였고, 부품에 따라 어떻게 프로그래밍해야 하느냐... 이런 건 딱! 하면 딱! 하고 나올 수 있어야 하지 않을까요.
그래야 업무 효용성도 높아지고 개발자 입장에서도 제품 품평을 구체적, 전문적으로 할 수 있습니다. 우리나라 컴공과엔 이런 지식을 가르쳐줄 강의가 적은 것 같아요.
여기서, 면접관 입장에서 적은 한 포스팅(학교가 좋으면 취직이 어렵다-어느 면접관의 이야기 [클릭])을 참조해 봅시다.
"최소한 자기가 프로그래밍했던 CPU가 ARM인지 X86인지 구분하는 학생"
저게 신입을 뽑는 현실적인 이유 중 하나입니다.
좋은 커리큘럼이 존재해도 코딩만을 하려는 학생에겐 한계가 있습니다. 이 글을 적기 위해 도별 유명 대학의 컴공과 커리큘럼을 살펴봤는데, 예상대로 특성화 학과가 존재한다는 점을 제외하면, 큰 차이가 없습니다. 교재도 큰 차이가 없는 것 같은데, 설령, 다르다 해도 내용은 유사할 겁니다.
그리고 요즘, 시대 흐름에 맞춰서 그런가, 필수과목에 모바일과 웹에 집중한 4학년 강의가 많네요.
ps1. 다~ 배울만합니다. 열심히 배우세요.
ps2. 취업하고도 학교 공부 다시 하진 말아야죠.
ps3. 이글루스 예전 댓글은 아래.