일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Remix
- 자바스크립트
- 시험 성적
- for문 사용해보기
- 이더리움
- Dapp
- 1%d
- 가상 화폐
- 비트 코인
- Mist
- 솔리디티
- 백준
- 1110
- 블록 체인
- 알고리즘 문제풀이
- X보다 작은 수
- 별 찍기 - 11
- Baekjoon
- 10871
- 10817
- 더하기 사이클
- 평균은 넘겠지
- 2448
- 그대로 출력하기
- 1546
- 1065
- 세 수
- 단계별로 풀어보기
- if문 사용해보기
- 함수 사용하기
- Today
- Total
블링블링 범블링
나의 IT 전공 공부 방식 돌아보기 본문
컴퓨터 전공 공부 방식
아직 나는 컴퓨터 쪽 분야를 전공에서 뛰어난 전문가는 아니다. 하지만 내 경험을 바탕으로 컴퓨터 전공을 하는 것에 공부 방법을 한 번 설명해보고자 한다. 나는 컴퓨터 전공과목들에 대해 공부를 진행하면서 어떻게 공부를 하는 것이 효율적인가에 대한 고민을 많이 하였다. 그리고 다양한 방법을 시도를 해보았다. 이에 관련해서 몇 자 써보려고 한다. 만약 이 글을 읽는 사람이 단지 컴퓨터 학과를 다니고 있어서 컴퓨터를 억지로 공부하는 것이 아니라 컴퓨터에 관심이 있어서 입문하고자 하는 학생이나 공부의 방향을 찾지 못하는 학생들이 보면 매우 좋은 방향을 제시할 수도 있을 것 같다. 물론 개개인마다 성향이 다르고 공부하는 방법도 다르다는 것을 인정한다. 그래서 이 글은 강요의 글이 아니다. 단지 참고적인 성향이 강한 글이라고 할 수 있다.
우선 당신은 컴퓨터라는 과목, 즉 IT의 세계에 왜 빠졌는가? 엄청나게 많은 가지 수가 있을 수 있다. 왜냐하면 요즘 우리 주변에서 IT를 빼놓고는 살아갈 수 없는 시대이기 때문이다. 그래서 어떠한 형태로도 우리는 IT의 매력에 빠질 수 있다. 또한 그 시기가 어떻게 될지도 아무도 모른다. 예를 들면 IT관련 영화를 보다가 흥미를 가질 수도 있고, 다른 사람들이 하는 프로그래밍의 멋짐에 반해 IT로 빠질 수도 있다. 필자의 경우에는 원래 생명공학을 전공하는 학생이었다. 하지만 실질적인 결과물이 나오지 않는 분야에 의구심을 가지기 시작했다. 물론 생명공학이 재미없다는 것은 아니다. 아직도 생명공학은 좋아하는 분야 중 하나이다. 하지만 조금 더 눈에 보이는 결과물을 창출하고 싶었다. 그러한 분야를 찾다가 결정이 된 것이 바로 컴퓨터였다. IT분야는 바로바로 내가 만든 것들이 결과물로 창출된다. 나의 오류를 짚어주고 오류를 해결해 나가면 내가 원하는 결과물이 나를 기다리고 있다. 이 점은 매우 매력적으로 다가 왔다. 그래서 대학교 3학년에 들어와 전공을 바꾸었다. 남들보다 늦게 시작하는 공부이니 만큼 어떻게 공부를 하는 것이 중요한가에 대해 많은 조사하기를 시작했다.
프로그래밍 언어와 컴퓨터 이론
대부분 프로그래밍 언어와 컴퓨터 이론을 따로 배운다. 프로그램을 만들기 위한 언어를 따로 시작하고 컴퓨터 이론은 다른 분야인 것처럼 따로 시작하게 된다. 물론 겹치는 부분이 어느 정도 존재한다. 하지만 개의치 않는 부분이 많다. 특히 프로그래밍 언어를 배울 때 컴퓨터 이론을 모르더라도 많은 부분을 구현할 수 있다. 이러한 부분은 컴퓨터 비전공자에게 가장 많이 해당하는 말이다. HTML과 CSS, JS를 공부하여 웹 페이지를 만들 수는 있지만 서버와 클라이언트가 어떤 네트워크 관계를 가지는지는 상세히 알지 못한다. 또한 Python을 이용해 프로그램은 만들 수 있더라도 어떻게 컴퓨터에서 동작하는지 모르는 사람도 많다. 하지만 컴퓨터 전공자들은 4년간 컴퓨터 이론에 대해서 공부한다. 이런 점에서 컴퓨터 전공자들은 차별성을 가진다. 이 말이 어떤 의미를 가지는지 잘 모를 수도 있을 것이다. 동떨어져 있다고 생각하는 경우가 많기 때문이다. 하지만 우리가 컴퓨터를 전공하는 이유는 단지 모바일 앱을 만들고 웹 페이지를 제작하는 것이 아닐 확률이 높다. 물론 그것이 목표가 될 수도 있다. 하지만 이런 점은 컴퓨터 전공으로써의 차별성이 거의 없다. 다르게 이야기하면 컴퓨터 전공을 한 사람이 금융관련 프로그램을 만드는 것과 경제학과를 나온 사람이 컴퓨터 언어를 하나 배워서 금융관련 프로그램을 만드는 것 중 어느 것이 더 좋은지를 비교해보면 필자의 입장에서는 당연히 후자이다. 비록 프로그램 자체의 질은 컴퓨터 전공의 프로그래머가 만드는 것이 훨씬 나을 수 있다. 하지만 금융 관련 회사가 원하는 프로그램은 후자인 경제학과 전공자가 만들 확률이 높다. 왜냐하면 필요한 것이 무엇인지 어떻게 그 분야에 적용되는지에 대해 훨씬 더 잘 파악하고 있기 때문이다. 이러한 점은 다른 분야에서도 많이 나타난다. 프로그래머들은 적용되는 분야를 잘 모르는 경우 요구하는 것과 만들어지는 것이 완전 다른 생각이 될 수 있는 것이다. 그러면 우리는 어떻게 경쟁력을 가질 수 있는가? 그것이 바로 컴퓨터 이론분야이다. 다른 분야의 사람들이 건들이지 않는 컴퓨터 전공만의 분야. 이런 분야에 조금 더 인지하고 뛰어든다면 새로운 곳을 개척해나갈 힘이 생길 것이다.
컴퓨터 이론 공부
컴퓨터 이론 또한 나름의 커리큘럼이 정해져 있다. 필자도 다양한 학교의 커리큘럼을 비교해 보았는데 거의 비슷한 순서를 따른다. C언어와 알고리즘, 자료구조를 먼저 학습한 후 컴퓨터 구조, 운영체제, 네트워크 등등의 분야로 퍼져나간다. 여기서 필자가 요구하는 바는 컴퓨터 이론을 따로 공부를 시작하는 것은 생각보다 좋지 않다는 것이다. 컴퓨터는 하나의 객체이다. 하지만 컴퓨터 이론으로 나누면 엄청나게 많은 분야로 나누어지게 된다. 하지만 컴퓨터는 그 분야를 합친 하나이다. 그러므로 뜯어서 순서대로 공부를 하면 이론이 하나로 합쳐지는 것이 생각보다 힘들다. 그래서 하나의 객체인 컴퓨터를 이해하는 과정에서는 몇 가지의 이론을 동시에 공부하는 것이 좋은 방법으로 추천한다. 이론을 동시에 공부를 하는 것은 하나의 객체인 컴퓨터를 이해하는데 매우 도움을 줄 것이다.
한 분야만 고집하는 공부 지양
요즘 컴퓨터를 전공하는 사람들 중에 한 분야만 고집하는 프로그래머들이 많이 있다. 특히 프로그래밍 언어에서 많이 나타난다. 물론 자신이 전문가로 전공하는 언어를 만드는 것은 필요하다. 하지만 단지 그것만 있는 건 큰 문제를 불러일으킬 수 있다. IT 관련 언어들이 엄청나게 많이 쏟아져 나오고 그 기술들이 계속해서 발전해 나간다. 계속해서 다양한 기술들이 나오는 과정에서 만약 나는 한 가지 언어만 다룰 줄 안다면 다른 좋은 기술을 가진 사람이 나오면 밀려나올 수밖에 없다. 이러한 현상이 요즘 IT 관련 업계에 종사하는 사람들의 큰 문제로 다가온다. IT 정보 통신 관련 분야의 전공 사람들이 가장 빠른 퇴직 나이를 기록한다. 그런데 이렇게 교체되는 사람들의 큰 특징은 바로 코더라고 하는 점이다. 코더라고 하면 단순히 컴퓨터 프로그래밍만 할 줄 아는 사람이다. 기술이 발전하고 있는데 단순히 앉아서 코딩을 작성할 수 있는 사람은 넘쳐난다. 그러면 더 나은 사람으로 발전하려면 시간을 투자하여 계속 기술들을 접하고 나의 전문 언어를 제외하고서 다른 많은 기술들을 익혀야할 필요가 있다. 요즘 회사들은 많은 분야를 접한 전공자들을 원한다. 회사에 지원을 하는 사람들은 보고 기겁할 정도로 다양한 분야에 접해본 사람을 원하는 회사가 많다. 하지만 이것이 현실이다. 다양한 분야를 접해보지 않는다면 그 사람은 그 분야에 갇혀 나오지 못하는 상황만 발생하게 된다는 것이다.
'취업 > 과학 기술과 윤리' 카테고리의 다른 글
기업의 사회적 책임 - CSR & CSV (0) | 2018.04.30 |
---|---|
전문직에 대한 고찰 - 1 (0) | 2018.04.09 |