IT이야기/입코딩2017. 8. 9. 12:48

-컴퓨터 공학과에 대한 오해


컴퓨터공학과라는 이야기를 하면 사람들이 흔히들 하는 오해가 있더군요. 비전공자 뿐 아니라, 좀 비슷하다고 생각한 타 공대생들도 마찬가지더군요. 저 또한 전자과나 기계과, 토목과가 어떤 일을 하는지는 친구들 이야기를 들어서 알 뿐 자세히는 알지 못합니다.

일반인들(비전공자들)이 생각하는 오해들을 한번 정리해 봤습니다.



다른 학과나 직종들도 그렇지만, 한 분야에 종사하면 관련된 일들은 모두 다 잘 할수 있을 것이라는 막연한 기대감을 품는 사람들이 많습니다. 

기타리스트가 노래도 잘 할것이라는 그럴싸한 편견에서부터 음악 교재 파는 사람이 음악 연주도 잘할 것이라는 아닐 것 같은데 실제로 그런 오해가 있는 경우까지 하여간 종사 직종 관련 오해는 다양합니다. 

컴공과도 마찬가지로 '컴퓨터를 배운다'는 점 하나 떄문에 온갖 오해에 시달리곤 합니다. 




1. 컴퓨터 수리를 잘한다. X

이상하게도 유독 컴공과 출신은 특히 컴퓨터 수리 콜이 자주 오는 편이입니다. 

하지만 수리도 나름대로 전문 분야입니다. 'PC정비사'라는 자격증도 따로 있구요. 

컴퓨터의 고장 원인에도 여러가지가 있기 때문에 컴공과라고 딱히 대단할 것은 없습니다. 

물론, 컴퓨터에 관심이 있어서 입학한 능력자들이 있기도 하고 기본적으로 컴퓨터 공학과가 지향하는 직업은 컴퓨터를 다룰 일이 많기에 컴퓨터 실력은 일반인들 보다는 나을 수 있습니다. 

하지만 의외로 컴퓨터 포맷조차 못하는 사람도 간혹 있습니다. 

애초에, 거의 대부분의 컴퓨터공학과에서는 하드웨어를 눈꼽만큼도 가르쳐주지 않습니다.

전 개인적으로 중고등학교때 사고쳐서 컴퓨터가 고장나면, AS 부르는 비가 아까워서 독학으로 컴퓨터 포멧 및 수리를 배웠습니다. 그리고 대학교에서도 전산실에서 아르바이트하며, 개방 피씨실 컴퓨터들 고치고 조립하고 카트 끌고 랜선깔면서 경험을 쌓았고, 

피씨방 알바로 하드 고스트로 하드 밀고, 부품 꽂는 일을 했기에 조립을 할 뿐이지 제 전공과는 무관했습니다. 



2. 컴퓨터에 대해 모르는 것이 없다. X

컴퓨터의 응용 분야가 굉장히 넓어졌기 때문에 컴공과라고 해도 한계가 있습니다. 

컴퓨터 하드웨어는 전자공학에서 다루고 소프트웨어는 컴퓨터공학에서 다루기 때문에 한 사람이 하드웨어와 소프트웨어를 동시에 깊게 이해하긴 힘듭니다. 

예를 들어 컴퓨터 네트워크를 깊게 전공한 사람이 컴퓨터 하드웨어의 반도체 구조를 깊게 이해하고 있을 확률은 매우 낮습니다. 

더군더나 하드웨어나 소프트웨어 둘다 매우 방대하고 깊이가 깊은 학문이라서, 컴퓨터 공학이나 전자공학 석박사를 하더라도 한 사람이 커버 가능한 세부분야는 컴퓨터의 극히 일부분이 될 수 밖에 없습니다. 

소프트웨어만 하더라도, 웹 개발쪽에도 분야가 무궁무진하게 많습니다.


3. 수학을 잘한다. O

이건 어느 정도 사실이며, 그냥 간단한 코딩을 할 경우는 수학이랑 연관이 없어 보이나, 깊이 있게 들어가면 많이 필요로 합니다.

까놓고 말해서 대학원 이상으로 갈 경우 거의 예외 없이 사실이며, 학부 수준에서도 어느 정도 수학 실력, 특히 미적분을 위시한 단순 연산 말고 증명에 쓰이는 논리적 사고능력이 받쳐주지 않으면 전공을 아예 못합니다.

대학원, 교수/학자/연구원 등의 레벨로 가면 하다못해 시스템 계열 분야라도 더더욱 예외없이 수학을 많이 공부해본 사람들이 많습니다. 

특히 이름 있는 전산학자들은 거의 예외없이 수학과나 수학을 많이 쓰는 전공 출신입니다. 

컴퓨터 그래픽이나 온갖 기계학습류 분야(컴퓨터 비전, 자연언어처리, 데이터 마이닝 등)로 가면 모든 분야의 전산학자들이 기본적으로 우려먹는 이산수학 알고리즘들은 물론이고 공대생들이나 물리학도들이 흔히 써먹는 선형대수학이나 다중미적분, 미분기하학 등도 아주 많이 씁니다. 

기계학습의 경우, 보다 이론적인 쪽으로 가면 측도론을 쓰기 시작합니다. 하다못해 프로그래밍 언어를 공부하는 데에도 쓰입니다. 

프로그래밍 언어에 정의되어있는 온갖 데이터 타입들에 대한 연산 규칙 및 증명 등을 해야할 때 필요합니다. 

알고리즘의 복잡도에 대한 전개를 할 때에도 물론 수학을 씁니다. 

예를들어 합병정렬이 왜 O(n log n) 의 복잡도를 가지는 지 알려면 등비급수를 활용할 줄 알아야 합니다.

전문분야를 막론하고 수학적인 기호들을 읽는데 능숙하지 못하거나, 수학적인 논리에 미숙하다거나 하면 전산학을 제대로 공부하기 매우 힘듭니다. 

하다못해 시스템 계열 과목들에서도 수학적 증명이 등장하는 마당에(운영체계의 피터슨 해법이나 램포트 빵집 알고리즘, 분산체계의 팍소스 알고리즘 등에 등장합니), 웬만해서는 대학에서 강제필수인 기초 이산수학, 알고리즘 디자인/분석 및 복잡도이론 등으로 가면 더더욱 그렇습니다.

일반인이 생각하는 고교수학은 물론이고, 대학에 와야 본격적으로 접할 수 있는 보다 생소한 수학 분야들도 가지가지 골고루 우려먹습니다. 

수학의 본질이 논리적인 사고를 요구하는 것이라 전제하는만큼 수학을 잘하지 못하면 결코 어느 단계 이상을 넘어가지 못합니다. 

괜히 대부분의 컴퓨터 관련 대학원 입시 문제들이 수학 문제로 이루어져있는 게 아닙니다.



4. 게임을 만들 수 있다. △

이런 오해는 컴공 학생이 프로그래밍을 잘 한다는 착각과 비슷합니다. 

'가위바위보 게임'이나, '야구 게임' 같이 고작 타자 몇 자 치는 걸 게임으로 봐줄 수 있다면 게임을 만들 수 있다고 인정합니다. 

c언어로 리눅스 콘솔에서 만들어서 플레이 하는정도는 간단히 배웁니다.

물론 학교 정규 커리큘럼 이외의 공부를 조금만 하면 똥피하기 같은 슈팅게임 등은 쉽게 구현할 수 있고 네트워크 대전이 가능한 장기 같은 걸 콘솔 화면에서 구현하는 용자도 가끔 나타납니다. 

다만 우직하게 대학교 커리큘럼만 판다면 무리입니다.

대학에서 배우는 것들은 사실 학문적인 부분이 대부분이고, 실제 쓸만한 프로그램을 만드는 실용적인 부분은 거의 독학으로 습득해야 하는 경우가 많습니다. 

그리고 게임의 경우는 프로그래밍 보다도, 기획이나 디자인이나 사운드 같은 부분들이 제법 비율이 높아 보입니다.

저는 개인적으로 게임을 좋아해서 프로그래머가 되었고, 음악이나, 미디어 툴 들을 취미로 다룰 수 있어서 쯔꾸르(...) 나 GameMaker 같은 게임 엔진으로 인디 게임 같은 걸 만들어 본 적 있습니다.

관심이 있는 분들이 아니면 게임을 만들어 보지 않는 것 같습니다. 특히나 MOD나 동인 게임, 인디 게임 같은 경우, 프로그래머로서 커리어를 잘 인정 안 해기 때문에 굳이 프로그래밍만 파기에도 아까운 시간을 소비하려고 하지 않는 거 같네요.



5. 해킹을 할 수 있다. 

물론 해킹 할 수 있는 사람들이 타과에 비해 많은 수는 있지만 모두 할 줄 아는 건 절대 아니고 극소수에 불과합니다. 

일반인이 생각하는 해킹이라면 툴만 구하고 호스트 컴퓨터에 감염만 시키면 초딩도 할 수 있습니다. 툴 키드라고 하지요.

중학교 시절에 본인 컴퓨터에 호기심으로(집에 컴퓨터가 2대 있었습니다.) 키로깅, 백오리피스나, 넷버스 같은 해킹툴들을 윈도우 98 같은 취약한 os에 테스트 해본적은 있습니다. 하지만 제대로 백신이 깔리거나 xp이상에선 다 막히더군요. 해킹이라기 보단, 원격제어인데 상대가 모른다는것일뿐이죠.

반대로 제대로된 해킹을 하는 것은 컴공과생에게도 매우 어렵습니다.

그래도 분산 서비스 거부 공격(DDoS)쯤은 할 수 있는 사람들이 있더군요.

하지만 넓은 의미로의 해킹이면 한 번쯤은 해야 할 수도 있습니다. 

소스가 공개되지 않은 프로그램에 기능을 추가할 때 해야 하는 리버싱 같은 것으로 말이죠.




6. 전자장비를 잘 다룬다 X

물론 다루는 전자 장비라고 해봐야 MP3나 핸드폰 정도인 일반인 보다는 낫겠지만, 주 전공이 아닌 이상은 그렇게 잘 다루지 못합니다. 

보통의 컴퓨터 공학과 커리큘럼에서 H/W는 거의 없습니다. 

설령 전자회로를 배울지라도 실질적인 회로가 아닌 로직 회로일 경우가 매우 높습니다. 전공선택 과목에 있는 경우도 있습니다. 

제너다이오드, MOSFET 같은 전자소자의 이름도 모르고 졸업하는경우도 생깁니다. 게다가 그건 전자공학쪽 일입니다.

논리회로 시간에 빵판(BreadBoard) 꽂아 보는거나, 임베이드 장비 건드리는 정도이고, 최신 폰이 어떤지, 최신 노트북이 어떤지도 모르겠네요. 좀 쪽팔린 일이지만 저는 불과 몇년전까지도 윈도우 xp를 쓰고 있었습니다. 핑계를 좀 대자면 컴퓨터가 무거워지는게 귀찮아서


6. 게임을 잘 한다 X

아무래도 일반인들이 컴퓨터를 사용하는 용도가 문서작업이나 웹서핑 아니면 게임이기 때문에 생긴 이미지인 듯 합니다. 

물론 컴퓨터 공학과와 게임실력과는 관계가 없습니다. 또한 컴퓨터 공학과와 게임 플레이와도 관계가 없습니다. 

게다가 게임하거나 만들려고 온 사람보다는, 수능점수에 맞춰서 온 사람이 배는 많을 것입니다.

다만 연구실이나 학과실에서 노트북 놓고 밤세는게 일인지라 게임을 잘하는 친구들도 많아서, 학교에서 게임 대회를 하면 타 과에 비해 우승하는 친구들도 많더군요.



7. 워드 프로세서 등에 능통하다 X

당신이 만약에 초ㆍ중ㆍ고등학교 때 자신의 희망 진로가 컴퓨터공학이라고 선언하였거나 교양 과목 조원에게 컴퓨터 관련 학과라는 것을 밝히면 당신은 이제부터 조별과제 PPT담당일 것입니다.

만약 회사에 전공과 별개로 입사했는데 그것이 밝혀지면 모든 컴퓨터 관련 AS는 당신에게 갈거구요.

컴퓨터공학 전공자도 고등학교 때까지는 프로그래밍을 배우지 않은 학생들도 많고, 컴퓨터공학과가 파워포인트 잘 다루는법 배우는 학과는 아닙니다. 

애초에 그다지 쉽지 않은 프로그램이기 때문에 크게 지식의 괴리에 따라 실력의 차이가 느껴지지도 않습니다. 

조금만 생각해봐도 프레젠테이션을 잘 만드는 것과 컴퓨터 잘 하는 건 전혀 상관이 없다는 걸 알 수 있는데, 프레젠테이션 잘 하는 사람은 컴퓨터 잘 하는 사람이 아니라 디자인 잘 하는 사람 내지 말빨 좋은 사람입니다.

컴퓨터공학 전공, 더 나아가서 프로그래머는 파워포인트나 엑셀을 '만드는 사람'이지, '잘 쓰는 사람'이 절대로 아닙니다. 블리자드 개발진과 임요환 중 누가 게임을 잘할지를 생각해보면 쉬울 것입니다. 

보통 일반인은 컴퓨터=한글,파워포인트,엑셀 이므로 이 점을 잘 피력하지 못하면 학교든 회사든 뭔가 모르는게 생기면 무조건 당신을 부를 것입니다. 아무것도 모른다는 것을 강력하게 주장해 놓는게 좋습니다. 

물론 저는 초등학교 때 컴퓨터학원에서 처음으로 딴 컴퓨터 관련 자격증이 '워드프로세서' 였습니다. 그리고 'ITQ' 자격증도 땃구요. 컴퓨터학원에서는 컴활 자격증을 공부하는 친구들도 많았습니다.

컴퓨터학원이 프로그래밍을 가르치는건 아니었고, 간단한 윈도우 사용법이나 한글, 워드, 엑셀 정도 수준으로 그냥 일반사람들 쓰는 정도로는 배웠던거 같습니다.

제가 다니던 학교는 학부생 1학년때 컴퓨터 수업을 들으면, 전자과 기계과 등에서는 엑셀을 배우는데, 컴퓨터 공학과는 C언어...를 가르쳐 줍니다. 타 과 교수님들이 컴퓨터과 학생들은 수업을 못 듣게 하더군요.

물론 프로그래머라면 영타가 빠를테고, 영타 실력이 빠르면 빠를수록 프로그래밍에 유리하긴 합니다.



8. 컴퓨터 견적을 잘 짠다 X

인터넷에서 떠돌던 20만원짜리 컴퓨터 견적 사건의 '기적의공대오빠' 글과 같이 컴퓨터공학을 공부한다고 해서 컴퓨터 견적을 잘 짜는 것은 결코 아닙니다. 주로 배우는 것이 소프트웨어이기도 하거니와, 하드웨어를 배운다고 하더라도 디지털 논리나 컴퓨터 개론 등의 일반적인 사항들을 학습할 뿐입니다. 

이게 무슨 말인지 이해가 안 간다면, 기계공학과를 생각해봅시다. 

기계공학과에서 "요즘 세단은 이것이 대세다. SUV는 이것이 대세다. 연비는 이 회사 제품이 전반적으로 좋다" 같은 것을 가르쳐주지는 않습니다. 

견적에 대해 물어보고 싶다면 컴공과 학생보다는, 차라리 겜덕들이 훨씬 적합합니다.

저의 경우 요즘 어떤 cpu가 어떻고, 그래픽 카드가 어떻고 시세가 어떤지는, 본인이 노트북 고를 때나 업그레이드 할때 잠깐 찾아보는 정도 일거 같네요.

컴퓨터 부품들은 수시로 가격이 변합니다. 그에 비하면 자동차나 오토바이는 감가 삼각이 엄청 좋은 편이죠.

그리고 괜히 남의 컴퓨터의 견적을 이야기하거나, 조립해주면 좋은 이야기를 잘되면 본전에 안 좋은 이야기를 많이 들으므로 모른다고 할 수도 있습니다.


출처 : 나무위키, 본인생각

Posted by Joseph514