부제: 미국 취업을 위한 전공 선택 (CS, EE, or CE)

미국에서 IT 기업에 엔지니어로 취업하기에 제일 좋은 전공은 무엇일까? 한마디로 말하면 CS(Computer Science, 전산 혹은 컴퓨터 과학)다. 하지만 이와 비슷한 영역에 있는 EE(Electrical Engineering, 전기 및 전자공학), 그리고 CE(Computer Engineering, 컴퓨터 공학)도 미국에서 IT 엔지니어로 일하기에는 아주 유리한 전공이다.

하지만 왜 하필 CS일까? 다른 전공을 졸업한 많은 한국 유학생들도 미국 현지에서 직장을 잡고 있지만 CS를 전공한 사람이 취업 시장에서 가지는 이점은 무엇일까? 다음과 같이 정리해 볼 수 있겠다.

1. 영어를 쓰는 의사전달 능력보다는 소프트웨어 개발에 대한 엔지니어의 능력이 중시된다.

소프트웨어 엔지니어는 문과 전공과는 다르게 프로그래밍이라는 국가, 문화, 언어를 초월한 도구를 어떻게 활용하는지가 취업 시장에서의 그 사람의 가치를 말해준다. 즉, 영어를 유창하게 잘하지는 못해도 소프트웨어 개발을 잘할 수 있다면 취업할 때 제약사항이 많이 없는 것이다. (하지만 좀 더 높은 레벨의 일을 하거나 중요한 일을 하려면 커뮤니케이션 능력이 더 요구된다). 반면에 문과인 학과의 경우(심리학과, 경영학과, 경제학과, 사회학과 등)은 영어를 자기 생각을 잘 표현하고 글로 표현하는 능력이 무척 중요하다. 즉 그 학과의 공부에 상당한 재능이 있어도 미국에서 언어적 능력이 부족하다면 역량을 발휘하는데 상당한 시간이 필요하다는 뜻이다.

2. 외국인이 미국 내에서 일할 기회가 상당히 많이 주어진다.

CS의 경우 영어 문제가 큰 걸림돌이 되지 않으므로 외국인들이 일할 수 있는  기회가 상당히 많다. 또한 CS에서 수학이 특히나 많이 필요한데 이 분야에 보통 미국인들과 비교하면 외국인들이 뛰어난 경우가 많아 공학, 이학 분야의 취업 시장에서 경쟁력을 가지게 된다. 미국의 IT 회사에 가보면 인도 사람들이 엔지니어로 상당히 많이 일하는 것을 볼 수 있다. 언어적 제약이 있는데도 수학과 공학 부문에 뛰어난 이 사람들이 지속적으로 일하고 있는 것은 분명히 회사에 큰 기여를 하고 있기 때문이다. 그래서 외국인이라도 계속 일자리를 주고 기회를 주는 것이다.

3. 일할 수 있는 범위가 다른 전공에 비해 상당히 넓고 갈 수 있는 회사도 상대적으로 많다.

본인이 미국에서 처음 직장에 지원할 때 Software라는 단어가 Job Description에 있으면 무조건 지원했다. 필요한 언어가 C/C++이든 Java든 대부분의 프로그래밍 언어는 CS 전공자로서 기본은 알고 있었고 부족하면 나중에 회사에 들어가서 열심히 공부하면 되기 때문이었다. 사실 CS를 전공하고 열심히 공부했다면 시스템 소프트웨어, 리눅스 및 윈도즈 애플리케이션 소프트웨어, iOS 또는 안드로이드 프로그래밍, 그리고 웹 프로그래밍에 이르기까지 하기 힘들다고 생각되는 것이 별로 없다. 기본적인 소프트웨어 개발에 대한 마인드와 프로그래밍 경험이 있으면 새로운 언어라고 상당히 빠른 시일 내에 배울 수 있는 것이 CS 전공자들이다.

4. 능력이 뛰어날 경우 연봉 수준이 다른 전공에 비해 높다.

우선 미국에서 각 전공에 따른 연봉 수준을 알아보자. 2014-2015 College Salary Report를 보게 된다면

대학 전공별 예상 연봉 (신입평균 & 커리어중반평균) [출처: www.payscale.com]

대학 전공별 예상 연봉 (신입평균 & 경력중반평균)
[출처: www.payscale.com]

여기서 비교해 보는 것은 CE, ECE, EE, CS 전공자들이다. 정확한 숫자를 보자면

Major Degree Type Early Career Salary Mid-Career Salary
Computer Engineering (CE) Doctorate $108,100 $150,000
Electrical & Computer Engineering (ECE) Doctorate $103,200 $145,100
Electrical Engineering (EE) Doctorate $99,100 $141,400
Computer Science (CS) Doctorate $110,800 $140,600

이 수치상으로만 보자면 CE, EE, CS 전공자의 경우 커리어 초반과 중반의 차이는 그렇게 많이 차이는 나지 않는다. 그런데 여기서 이 숫자들은 박사 졸업생들을 기준으로 한 것이다.

그렇다면 미국 학사 졸업생들의 경우는 어떠할까? 다음 표를 보자.

미국 대학교 졸업자들의 전공에 따른 연봉 분포(신입평균 & 커리어중반 평균) [출처: www.payscale.com]

미국 대학교 졸업자들의 전공에 따른 연봉 분포(신입평균 & 커리어중반 평균)
[출처: www.payscale.com]

이제 다시 CS, CE, EE 학사 전공자들만의 평균 예상 연봉 수치를 보면

Major Degree Type Early Career Salary Mid-Career Salary
Computer Engineering (CE) Bachelor $67,300 $108,600
Electrical & Computer Engineering (ECE) Bachelor $66,500 $113,000
Electrical Engineering (EE) Bachelor $65,900 $107,900
Computer Science (CS) & Engineering Bachelor $66,700 $112,600

여기를 봐도 사실 CS, EE, CE의 학사 학위 졸업자들의 경우 연봉 차이를 그렇게 못 느끼게 된다. 대충 봐도 그 숫자들이 비슷하기 때문이다. 그렇다면 이제 CS학과의 학교별 졸업자 평균 연봉 수준을 알아보자.

CS학과 졸업자의 학교에 따른 평균 예상 연봉 [출처: www.payscale.com]

CS학과 졸업자의 학교에 따른 평균 예상 연봉
[출처: www.payscale.com]

이제 정확하게 숫자로 예상 연봉 수준을 한번 보자.

CS학과 졸업자의 학교별 예상 연봉 평균 [출처: www.payscale.com]

CS학과 졸업자의 학교별 예상 연봉 평균
[출처: www.payscale.com]

여기서 확연하게 경력 초기 연봉 차이가 난다. CS학과 졸업생의 평균 예상 연봉은 66k정도이지만 Stanford나 UC Berkeley 졸업생의 경우 평균 예상 연봉이 97k, 95k정도에 달한다. 이것은 평균 예상 연봉이지만 실제로 실리콘 밸리에서 일하는 이 탑스쿨 CS 전공자들의 경우 최소 10만불 이상에서 13만불 사이를 연봉 베이스로 받고 스톡 옵션과 보너스까지 합하면 13-17만불까지 육박한다. 즉 탑스쿨 CS학과를 졸업하고 실력이 갖춰져 있을 경우 평균 CS전공자 연봉을 훨씬 뛰어넘는 연봉을 받을 수가 있는 것이다.

관련 사항 검색을 하다가 재밌는 통계를 볼 수 있었다. 다음은 UC Berkeley의 Career Center에서 전공에 따른 졸업자들의 2014년 통계를 제공하고 있는 것이다.

여기서 관심이 가는 EECS 졸업자들의 통계를 보게 된다면 평균 연봉이 $108,911에 달하고 대부분의 졸업자들이 소프트웨어 엔지니어라는 직업을 택한 것을 볼 수 있다. UC 버클리는 전통적으로 전자와 전산의 탑스쿨인데 여기서 EECS학과 졸업자들이 대부분 소프트웨어 엔지니어가 되는 것을 택한 것을 보면 지금도 CS가 더 강한 대세라는 것을 볼 수 있다.

그렇다면 왜 CS 전공자들의 연봉이 편차가 심한 것일까? 이는 소프트웨어 개발의 생산성이 개인차가 많이 나기 때문이다. 하드웨어와 달리 소프트웨어는 장비와 부품에 큰 구애를 받지 않고 소프트웨어 엔지니어들이 능력이 있다면 빠른 시간 내에 구상한 아이디어를 실제 제품으로 만들어 낼 수 있다. 그리고 모든 물건을 생산해야 하는 제조업과 달리 소프트웨어는 인터넷을 통해서 거의 비용이 들지 않고 재생산해 낼 수 있으므로 뛰어난 소프트웨어 제품이 나온다면 그 파급 효과는 엄청난 것이다. NHN Next에서 만들어진 다음 동영상이 앞서 말한 개념을 잘 설명해 주고 있다.

그럼 왜 비슷한 세가지 전공(CS, CE, EE)으로 나눠져 있을까? 세가지 전공에 대해서 한번 알아보자.
요즘에는 학부제가 유행하고 학과가 합쳐지는 경향이 많아서 EECS(Electrical Engineering and Computer Science) 학과, 그리고 ECE(Electrical and Computer Engineering) 학과도 많이 생기고 있다.

많은 미국의 탑스쿨들의 EE와 CS학과가 합쳐지는 경향을 보이고 있다 [출처: MIT EECS 웹사이트]

많은 미국의 탑스쿨들의 EE와 CS학과가 합쳐지는 경향을 보이고 있다
[출처: MIT EECS 웹사이트]

본인이 카이스트를 다닐 때는 학과명이 전자공학과(EE)였다. 하지만 본인이 졸업할 때쯤이 되니 학과명이 전자전산학과(EECS)로 바뀌었다. 산업에서 점점 전자와 전산의 경계가 모호해지고 어떤 시스템이라도 하드웨어와 더불어 소프트웨어도 대등한 위치를 갖게 되니 시대의 흐름에 따른 결정이 아니었을까 생각한다. 사실 본인도 지금 일하는 회사에서 소프트웨어 엔지니어로 일하고 있지만 바이오스(BIOS, Basic Input/Output System)라는 특수 소프트웨어가 하드웨어와 깊은 연관을 가지고 동작하는 프로그램이다 보니 하드웨어를 속속들이 이해하고 상호 작용을 잘 제어하는 것이 필요하다. 또한 요즘에는 반도체 칩도 소프트웨어를 통해서 디자인되곤 한다. VHDL(VHSIC Hardware Description Language)이라는 하드웨어를 디자인 하는 프로그래밍 언어를 가지고 칩 내부의 로직을 만드는 것이다. 굳이 내부의 수천, 수만, 수억개의 트랜지스터 동작을 이해하지 않아도 단순히 C언어를 짜는 기분으로 칩을 만드는 것이다.

그럼 이 세가지 전공들의 차이는 무엇일까? 쉽게 말하면 CS는 소프트웨어를 공부하는 학문이고, EE는 하드웨어를 공부하는 학문이다. 그리고 CE는 중간에 끼여서 소프트웨어와 하드웨어를 같이 융합하는 학문이다. 하지만 요새는 그 경계가 상당히 모호해져서 EE를 공부한 사람도 소프트웨어 개발을 하고 있으며 CS를 공부한 사람도 하드웨어와 깊이 연관된 개발을 하는 경우도 많다. 하지만 CS를 공부한 사람은 소프트웨어를 하는 경향이 많고 EE를 공부한 사람은 하드웨어에 가까운 개발을 하고 있는 경향이 많은 것은 사실이다.

ACM과 IEEE에서 발행된 Computing Curricula 2005를 보게 된다면 CS, CE, EE를 비교 설명하는 항목이 나온다.

1990년 이전과 1990년 이후의 EE, CE, CS의 범위 변화 [출처: www.acm.org]

1990년 이전과 1990년 이후의 EE, CE, CS의 범위 변화
[출처: www.acm.org]

1990년대 이전에는 EE와 CE는 하드웨어를 다루고 CS는 소프트웨어를 다루고 있었지만, 1990년 이후에는 교차하는 부분이 생기고 그 역할을 CE가 담당해 주고 있다. 하지만 점점 시간이 갈수록 이 구분이 점점 모호해지는 현상이 나타나고 있다. 앞에도 언급했지만 소프트웨어에도 하드웨어와 밀접한 지식이 필요한 경우가 생기고 하드웨어를 소프트웨어만으로 만드는 경우도 생기기 때문이다.

Wikipedia에서는 다음 세 전공을 다음과 같이 설명하고 있다.

CS: “…the scientific and practical approach to computation and its applications.”
“연산과 그 응용에 대한 과학적이고 실용적인 접근법”

CE: “…a discipline that integrates several fields of electrical engineering and computer science required to develop computer hardware and software.”
“컴퓨터의 하드웨어 소프트웨어를 개발하기 위해서 요구되는 전자공학과 전산의 여러 분야를 통합하는 원리”

EE: “…a field of engineering that generally deals with the study and application of electricity, electronics, and electromagnetism.”
“전기, 전자, 전자기에 대한 학문과 그 응용을 다루는 엔지니어링의 한 분야”

CS는 사실 미국에서 수학과로부터 파생된 분야이다. 반도체가 발명되고 이를 이용한 컴퓨터가 개발되고, 연산이라는 주제에 대해서 수학적인 접근방법이 요구되게 되면서 알고리즘과 데이터 구조 같은 개념들이 형성된 것이다. EE는 물리와 화학을 기반으로 해서 전기, 전자, 전자기와 관련된 학문 및 그것을 응용하는 기술을 연구하는 분야인데 상당히 폭넓은 세부 분야가 있다. 많은 사람들이 잘 알고 있는 반도체부터 시작해서 광섬유, 레이저, 초고주파, 네트워크, 정보통신, 음성 및 영상 처리, 컴퓨터 비전 등 전자공학이 다루는 분야는 상당히 많다.

가장 큰 혼란을 일으키는 것이 CS와 CE의 차이점이다. Lewis University에 올라온 다음 글이 CS와 CE의 차이점을 잘 설명해 주고 있으니 한번 읽어보기 바란다.

“Computer Engineering is the marriage of Computer Science and Electrical Engineering. It focuses on computing in all forms, from microprocessors to embedded computing devices to laptop and desktop systems to supercomputers.

…computer engineers are electrical engineers who specialize in software design, hardware design, or systems design that integrates both.”

“CE는 CS와 EE의 만남입니다. 그것은 마이크로프로세서부터 시작해 임베디드 기기, 랩톱, 데스크톱톱, 그리고 슈퍼컴퓨터에 이르기까지 모든 형태의 연산작용을 다루고 있습니다.

…컴퓨터 공학자들은 소프트웨어 디자인, 하드웨어 디자인, 그리고 그것을 통합하는 시스템 디자인을 전문적으로 하는 전자공학도입니다.”

University of Buffalo에서 나온 다음 글Duke 대학에서 나온 글도 이 두 전공의 차이를 이해하는 데 도움이 되니 필요하면 읽어보기 바란다.

이제 결론을 한번 내려보자.

미국에 외국인이 와서 정착을 시도하는 경우 직장을 우선 얻어야 하는데 이때 언어적 장벽이 가장 낮은 분야가 공학, 이학 분야이다. 그중에서 산업의 수요가 많고 가장 대우가 좋은 직업이 컴퓨터 분야의 엔지니어인데 개인의 능력이 출중할 경우 평균적으로 가장 대우를 잘 받는 분야가 그중에서도 소프트웨어인 것을 통계를 통해서 볼 수 있었다. 그럼 소프트웨어 분야에서 일하려면 무엇을 전공하는 것이 제일 좋은가? 바로 CS이다.

(물론 CE, EE 분야를 전공한다고 해도 소프트웨어 분야에서 일을 못하는 것이 아니다. 다만 본인의 경험에 비추어 볼 때 소프트웨어 분야는 CS 학위를 가진 엔지니어를 선호하는 경향이 있고 소프트웨어 엔지니어의 Job Description을 보더라도 CS 학위 전공자는 빠지지 않는다)

(Visited 16,243 times, 8 visits today)
Share This