컴퓨터 공학과 실무 기술을 처음 접하게 될 때
공부가 너무 어렵다고 느껴질 때가 많다.
특히 컴퓨터 공학과 학부 과정의 1, 2학년 과정에 적응하지 못하는 학생들이 특히 그렇다.
컴퓨터 분야로 전향한 비전공자는 더욱 힘들 것이다.
아주 기초적인 컴퓨터 개념을 공부하는데도
책이나 설명, 심지어 강의에서도
처음 들어보는 컴퓨터 용어들을 남발한다.
그래서 나는 머리가 나쁜가 보다 하고 일찍 포기하는 경우가 생기는데
이는 머리가 나쁜 것도 아니고 컴퓨터라는 분야가 너무 어려워서도 아니다.
이러한 현상의 원인은 컴퓨터 분야의 '언어 장벽' 때문이다.
컴퓨터 분야에서는 특정 용어의 '개념과 원리, 예시'를 안다는 가정 하에
그 용어를 사용하여 설명하는 경우가 매우 많다.
그렇지 않으면 설명이 너무 길어지기 때문에 어쩔 수가 없는 것이다.
그리고 정작 그 용어의 의미를 알고 나면
별 것도 아닌 '쉬운 개념'을 지칭하기 위해
괜히 '어려워 보이는 단어'를 쓴 것뿐이라는 것을 곧 깨닫게 된다.
물론 컴퓨터의 각 분야를 '깊이' 파고들면 굉장히 어렵고 복잡하고 방대한 것은 사실이다.
하지만 적어도 '기초'적인 분야만큼은, 용어만 잘 안다면 생각보다 이해하기 쉽다.
단, 용어의 의미를 이해하기까지 오래 걸리는 2가지 경우가 있는데, 예를 들어보겠다.
('용어 A ~ 용어 F'를 이해해야 하는 상황이라고 가정하겠다.)
첫번째로, A를 알기 위해서 B와 C를 알아야 하고, B와 C를 알기 위해서 D와 E와 F를 모두 알아햐 하는 다중 의존 관계이다.
이러한 경우에는 A를 구글링 하다가 B/C를 구글링 해보고 또 D/E/F를 구글링 해본 뒤
다시 B/C로 돌아와서 이해해보고, 다시 A로 돌아와 이해해볼 필요가 있다.
두번째로, A를 알기 위해서 B를 알아야 하고, B를 알기 위해서 C를 알아야 하고, C를 알기 위해서 A를 알아야 하는 순환 의존 관계이다.
이러한 경우에는 한 가지 용어를 이해하기 위해서
그 용어와 관련된 이론과 실습, 예시 등을 번갈아가면서 공부해볼 필요가 있다.
마치 장님이 코끼리 만지듯 다양하게 각도에서 파악하다 보면,
어렵게 느껴졌던 개념들이 어느 순간 아주 간단한 개념임을 깨닫게 된다.
물론, 이러한 언어 장벽과 컴퓨팅적 사고 능력은 별개의 영역이다.
알고리즘을 잘 짜는 것은 '컴퓨팅적 사고 능력'을 길러야만 잘할 수 있다.
컴퓨팅적 사고 능력은 논리적인 흐름에 따라 풀이하는 훈련을 통해 길러야 한다.
하지만 양질의 알고리즘을 짜고 원리를 응용하기 위해서는
'기초 컴퓨터 전공 지식'이라는 배경 지식이 탄탄해야 한다.
그리고 그 배경 지식은 언어 장벽을 통과해야 이해할 수 있다.
고급 엔지니어, 개발자로서 취업하고자 한다면
기업 입장에서 '전공 지식'과 '컴퓨팅적 사고 능력'을
둘 다 우수하게 갖춘 인재를 채용하고 싶어 한다는 것을 기억하자.
'취업 정보' 카테고리의 다른 글
코딩 테스트 빈출 유형 (0) | 2021.01.03 |
---|---|
IT 업계의 종류 (0) | 2021.01.01 |