시스템 엔지니어와 네트워크 엔지니어

corone의 이미지

졸업을 앞둔 학생입니다
이제 학교 생활도 끝이네요

그동안 뭐하냐고 물으면 학생이라고 당당하게 버텼는데
이제는 뭐라고 말해야 할 지...ㅋ;
졸업을 앞두고 취업, 진로 고민에 빠졌는데요

길고도 긴 학생 생활하면서 (학교를 좀 오래 다녔어요 대학원생 아닙니다 학부생입니다)
비중을 두고 열심히 공부한 것은
서버 등의 시스템 분야와 네트워크 분야였습니다

# 앞으로 제가 쓰는 글에서 용어가 너무 포괄적이거나 틀릴 수 있습니다
# 양해해 주시고 추측해주세요

리눅스/유닉스 등에 흥미를 느끼고 이 쪽으로 열심히 공부했고요
라우터/스위치 등에도 흥미를 느끼고 이 쪽으로도 열심히 공부했습니다

저학년때는 리눅스/유닉스 익히는 것이 재미있어서
시스템 엔지니어가 되고자 했는데

3학년 되면서 네트워크 쪽으로 많이 매달렸는데
(왜 였는지는 생각이 안나는데 학교 커리큘럼 때문인지 스스로 전망이 좋다고 생각했는지)
아무튼 열심히 공부하고
남들 다 하는 것처럼 저도 CCNA, CCNP 준비하고 취득하면서
라우터, 스위치 제어하거나 네트워크 설계, 네트워크 원리 등을 공부하다가

다시 4학년 1학기 끝나가면서 최근까지는 유닉스 등 서버 시스템 쪽으로 공부하기 시작했는데

.

제가 현재 일하고 계시는 선배님들께 질문드리고 싶은 것은
시스템 엔지니어와 네트워크 엔지니어에 대해서 입니다

리눅스/유닉스 쪽으로 더 공부해서 시스템 엔지니어가 될 지
네트워크 쪽으로 더 공부해서 네트워크 엔지니어가 될 지 고민입니다

공부하면서 느낀 것은 리눅스/유닉스가 조금 더 재밌었고요
네트워크 쪽은 조금 어려웠어요
근데 지금 제 생각에는 재미나 어려움이 중요한 건 아니고요

시스템 엔지니어와 네트워크 엔지니어의 현재 IT 업계에서
전망, 대우, 급여, 환경, 입지(?) 등등이 궁금합니다

서로 비교해서 어떤가요?

지금까지는 둘 다 비슷하게 열심히 공부하고 준비해 왔는데
졸업을 앞두고 하나만 선택해서 진로를 정해보려고요

대기업에서, 외국계 기업에서, 중소기업에서는 어떤지도 궁금해요

제가 잘 모르지만 혹시 이런 답변이 있을지도 모르겠네요
"우리나라 기업에서는 시스템 엔지니어나 네트워크 엔지니어나 하는 일이 똑같습니다 구분없습니다"
아니면 그 반대로 완전히 구분될 수도 있고요
제가 잘 몰라서...

jachin의 이미지

잘 하시면 '네트워크 엔지니어'로서든 '시스템 엔지니어'로서든,
전망, 대우, 급여, 환경, 입지 좋은 직장에서 한가지 일만 하실 수 있으실테고,
못 하시면 '그게 그거인 인력'으로서
전망, 대우, 급여, 환경, 입지 안 좋은 직장에서 이것저것 다 하시면서 일하실 수 있습니다.

몇몇 군데를 제외하면, 전체적인 상황은 '다 안좋다'고 말씀드릴 수 있겠습니다.
제가 보기엔 살아남으시려면 그 두 가지 일 모두 잘 하셔야 되리라 생각합니다.
(밀접해서 둘 중 하나라도 소홀히 하시면 밥그릇 싸움에 휘말리실지도 몰라요.)
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.

나는오리의 이미지

결론은 "전망좋은 직종이 어느거냐"네요?

간단히 말하자면 '대기업' 입니다.

아빠곰의 이미지

글쓰신분은 기대가 크실텐데, 답들은 희망적이지 않네요.
제 짧은 경험으로, 작은 회사에서는 네트웍이나 시스템 엔니지어를 같이 하는것 같습니다. 그냥 OS 설치하고 안죽나 잘 보고 서비스 돌아가는거 모니터링하고, 설치할때 케이블 만들고, 라우터 설정하는 정도가 주 업무구요.
어떤 업무를 기대하시는지 모르겠지만, 대기업 아니면 기술력있는 중소기업에 잘 취직하시길 빕니다.
----
아발발다빠따반반나다발딸발발다빠따따맣밤밤따받따발발다따밝다발발다빠따따밤반다빠따다맣밥발
발다따밥다발발다따박다발발다빠따따밞밭밭다따다맣아희

----
아발발다빠따반반나다발딸발발다빠따따맣밤밤따받따발발다따밝다발발다빠따따밤반다빠따다맣밥발
발다따밥다발발다따박다발발다빠따따밞밭밭다따다맣아희

번스타인의 이미지

전혀 다른방향으로 생각해보시라고 권해드리고 싶습니다.

참고로 저는 미국에서 소프웨어 엔지니어로 일하고 있습니다. (C 와 Java가 주로 하는 언어입니다.)

위에서 몇분이 말씀하신것과 같이 우리나라에서의 상황은, 무엇을 선택하던 그리 희망적인것 같지는 않습니다. 제 생각으로, 하고자 하는일은 네트워크엔지니어가 되었든 시스템엔지니어 혹은 소프트웨어엔지니어가 되었든 그대로 밀고 나가시면 될것같고, 단 대상(들어가고자 하는 직장, 일자리)을 전혀 다른쪽으로 눈을 돌려보는게 어떨까 생각합니다. 사족을 굳이 붙이자면, 미국에서는 소프트웨어 엔지니어가 갈곳도 많고 보수도 좋습니다. (네트워크나 순수 시스템 엔지니어는 필요로 하는데가 그리 많지 않습니다.)

지금 미국에는 인도인들이 IT 종사자로 밀려 들어오고 있습니다. 그런데 열에 아홉은 실력이 별로인 사람들(비전공자 혹은 학원에서 몇달 연습하고 덤비는 사람들)입니다. 비교적 탄탄한 IT 기술인력이 자리하고 있는곳에는 잘 파고들어가지 못합니다. 하지만, 한국사람은 남다른데가 분명 있습니다. 굉장히 열심히 하고 결국 아무리 어려운것도 해내는 초능력을 발휘하는게 한국사람들입니다.

짧게 이야기 하자면, 미국으로 눈을 돌려보시라는것.
10년만에 모국을 방문했는데 (전산과 동기)친구들이 하는 얘기가 40대가 되어 컴퓨터프로그램한다는것이 한국에서는 어렵다는것입니다. 그럼, 님께서 어렵게 엔지니어가 되어 어느회사에서 일을 하더라도 40대쯤엔 경쟁을 뚫고 관리자가 되거나 아니면 후배들에게 치여서 물러나야 된다는거지요.
이런 현상은 한국의 케케묵은 사회분위기덕분이고 아마 가까운 장래에도 계속 그러리라 봅니다.

다시 원점으로 돌아가서,
만약 제가 님과같은, 졸업을 앞둔 전산관련학과 4학년이라면...
어차피 졸업을 해도 원하는 대기업 전산실에 들어갈 확률이 그리 높지 않다치면 재수해서라도 들어갈 요량으로 1-2년 더 투자해야 할생각도 할겁니다. 그 투자대신 몬스터(Monster.com)나 다이스(Dice.com) 에 4학년초부터 엔트리레벨 프로그래머로 계속 원서를 내 볼것을 권합니다. (물론 다 지나고 나니까 지금 그런 생각이 든거지요. 그래서 저보다 조금이라도 젊은분께 말씀을 드리는것이고 말입니다.)

엔트리레벨 프로그래머에게는 많은것을 원하지 않습니다.
그저 전화인터뷰때 좋지않은 발음이래도 질문을 이해하고 정확하게 답을 할 정도면 되고, 기술적인것은 자바프로그래머의 경우, 우리나라에서는 다들 잘 딴다는 SCJP 정도면 통과하기 쉽습니다. 물론 미국으로의 취업이므로 취업비자를 해당 회사에서 스폰서해주는 조건이 될겁니다. 부딛혀보면 길이 다 있는데도 꼭 브로커나 헤드헌터가 끼어야 일이 되는줄 알고 두려워서 도전을 못하는것입니다.

한국은 좁습니다.
그러다보니 정해진 숫자의 밥그릇을 놓고 서로 차지해야 하는 광경을 어느분야에서나 보게 됩니다.
외국으로 젊은이들이 과감하게 뛰쳐나와 한국인의 역량을 세계곳곳에서 보여줄때, 개인적으로도 커다란 성과요 보람된것이고, 국가적으로도 손해날게 없는것입니다. (얘기를 잘 못합니다, 제가 공돌이라서...)

어쨌거나, 좀 기개를 가지고 미국같은 선진국에 한국의 젊은이들이 많이 좀 나왔으면 합니다.


40대_컴쟁이

..

익명동생의 이미지

희망을 주시는 글, 감사합니다.
이런 좋은 글로 말미암아 우리나라도 더 많이 훌륭한 엔지니어를 배출해 내기를 기대해 봅니다.

다즐링의 이미지

상대(사장 혹은 뽑는 사람 )의 입장에서 생각해보세요.

1. 네트워크만 할줄 아는 사람
2. 시스템만 할줄 아는 사람
3. 둘 다 할줄 아는 사람
4. 둘 다 하고 관련된 경험이 이력서에 있는 사람
5. 하나만 완벽하게 할 줄 아는 사람
6. 4 + 프로그래밍으로 자동화까지 하는 사람

과연 누구를 뽑을까요?

------------------------------------------------------------------------------------------------
Life is in 다즐링

------------------------------------------------------------------------------------------------
Life is in 다즐링

brucewang의 이미지

시스템 엔지니어와 네트워크 엔지니어는 업무 범위가 다소 차이가 나긴 하지만, 공통 범위가 상당한 것도 사실입니다.

대부분의 경우 구인 란의 '시스템 엔지니어' 는 네트워크 엔지니어링을 포함하고 있는 것 같더군요. 그리고 경력이 쌓이시다 보면 두 영역을 자연스럽게 흡수하실 수 있을 것 같습니다. 예를 들어 CCNP이신 분이 네트워크 문제 발생시 시스템 설정을 확인하고 어떻게든 문제를 해결하시려면 시스템 깊숙한 부분도 당연히 아셔야 되는 것 처럼요.

즉, SE/NE를 필요로 하는 업체에서는 둘 다를 요구하는 것으로 보입니다. 제가 그동안 구직활동을 해오면서 느낀 것인데, 어쩌면 제가 잘못된 판단을 한 것인지도 모르겠습니다만...

그리고 SE의 전망에 대해 저는 대단히 긍정적으로 보고 있습니다. 그동안 많은 좋은 SE분들과 같이 일하면서 그분들의 열정과 노력, 그리고 전문지식, 인간성 등에서 많은 좋은 영향을 받았습니다.

알고보면 SE를 요구하는 수요도 참 많습니다. SE는 일반 IT회사가 아니더라도 그 어디에서든 유익한 존재가 될 수 있습니다. 예를들어 병원이라도 그 병원 시스템을 관리하려면 개발자가 아니라 SE가 필요하겠죠.

그리고 금융/보험/Equity/FixedIncome 분야 등 돈과 관련 된 부분에서는 SE 포지션은 항상 빈자리가 있습니다. 보수도 세고요, 외국어만 잘 하신다면 어느 나라에서든 환영입니다.

그에 반해 개발자들은 변하는 지식이 많아서 때로는 기존의 지식과 경력이 별로 도움이 안되는 경우에 대한 부담도 있고, 경력 연수가 높을수록 보수가 오른다는 보장은 별로 없습니다. 보다 높은 위치에 오르기 위해 학위를 요구하는 경우도 많구요..

제가 볼때는 SE는 참 매력적입니다. 개발직을 비하하는건 절대 아닙니다. 제 자신이 개발자이고요, 제 글의 요지는 어떤 분야든 외부에서는 보이지 않는 merit가 많다는 것입니다.

문제는 어떤 직종이 자신의 적성에 맞느냐, 그게 더 중요한 것 같습니다.

-------------------------------------------------
$yes 4 8 15 16 23 42

-------------------------------------------------
$yes 4 8 15 16 23 42

mycluster의 이미지

SE 한명 신입으로 뽑을려고 해도 영 뽑기가 쉽지 않군요.

아는 거 없어도 가르쳐주면 들을려는 의욕이라도 있어야하는데,
이건 완전 생초짜이면서, 자기가 완전 초고수인것처럼 착각들을 하고 있으니...

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

다즐링의 이미지

글쎄요.

se style 은 가르쳐서 되는게 아닌거 같습니다.

여러명을 가르쳐봤는데

1. 화두만 던지면 알아서 공부 , 안되는거 같이 토의 , 지속적으로 자기개발: 이 스타일이 최고 ( 거의 없음 , 저연봉에 도망가버림 )
2. 책주면 책만 공부 : 그나마 나음 ( 가끔 있음.. )
3. 가르켜줘도 않함 , 아는것만함 : -_-;; 대부분...

그렇기 때문에...
전 se 는 타고나는거라 생각합니다. -_-;;;;

아마 정균옹이 이거에 대해선 할말이 꽤 있으실지도 ㅎㅎ

------------------------------------------------------------------------------------------------
Life is in 다즐링

------------------------------------------------------------------------------------------------
Life is in 다즐링

김정균의 이미지

글로서 표현하기가 부족할 정도이죠.

극단적으로 우리나라에 S.E/N.E 는 없다고 생각합니다. S.A 와 N.A 가 있거나 또는 Troble shooter가 존재할 뿐이죠. 저급인력의 경우에는 대부분이 프로그래밍에 좌절을 하고 입문을 한 경우이고, 고급 인력의 경우에는 S.E의 역할 보다는 SKILL 에 집착을 하는 경우를 너무 많이 봐야서요.

그리고, 제일 중요한 것은 "사고"입니다. 생각/고민 하지 않는 자는 Engineer가 될 수 없습니다. 그냥 단순 기술자로 전락할 뿐입니다. 제가 interview 를 하면서 느낀 점은, 대부분 연차만 강조를 합니다. 하지만 제가 Interview를 본 소감으로는, 익숙한 1-2년차가 대부분입니다. 즉 일은 오래해서 익숙할지 모르지만 Skill 이나 필요한 경험은 1-2년차와 다를 바가 없다는 점입니다.

즉, 요즘은 5-7년차 Engineer들은 뽑기가 두려울 정도입니다. 차라리 아무것도 모르는 신입을 입맛에 맞게 키우는 것이 더 바람직하다고 생각될 정도입니다. 다만, 요즘은 그 새싹들도 찾기가 쉽지 않군요 T.T

모지리의 이미지

위에 미국 조언해주신분 // 미국 H1-B는 거의 불가능하다고 보는게 현실입니다. 현실이 이렇다 보니 H1-B 트렌스퍼 스폰이 아닌 첫 스폰 해주는 회사는 드뭅니다. 회계년도 시작하는날 전부다 마감되고 그게 끝이 아니라 그걸 가지고 추첨합니다. 게다가 타국에 있는 사람 전화로 인터뷰해서 같이 일하자고 해도 비자가 나와야 되는데 회사입장에서는 그거 기다려주면서까지(비자 받을 확률상 적은) 채용할려고 하지는 않을거 같습니다. 따라서 현실적으로 거의 불가능에 가깝다고 보시는게.... 한 10년전에는 H1-B 껌이었었는데....

환골탈태의 이미지

저는 SE의 범위가 넓어지고 있다고 생각됩니다.
시스템 설계나 운영뿐만 아니라
장비 및 소프트웨어 구매 결정, 서비스 기획, 솔루션 개발, 헬프데스크, 사후처리등에도
상황에 따라서 관여하고 있고 그 정도는 점점 더 커지는 것 같습니다.
결국 SE는 영화에서 보면 홍반장이나 엑스맨쯤 되어가고 있는데요 ^^
그만큼 중요한 역할을 수행한다는 거겠죠.

__________________________________________________
모두 다 Hardy로 업그레이드 하고 있습니다.

__________________________________________________
모두 다 Hardy로 업그레이드 하고 있습니다.

elflord의 이미지

네트워크를 모르고 SE가 된다는건 어불성설이고, 서버 하나도 모르고 NE라고 하는 것도 짝퉁이라고 봅니다. Cisco자격증이 제일 비난받는점중에 하나가 서버공부가 없다는 거고 그점에서 Cisco자격증의 최고위라는 CCIE조차도 별볼일 없다는 이야기가 나오기도 합니다.

물론 저는 시스코 등 네트워크 전문 자격이 쓸모없다는 생각은 결코 하고 있지 않습니다만 서버를 모르고는 절름발이 공부라고 봅니다. 네트워크는 결국 서버와 서버, 서버와 클라이언트간을 연결하는 인프라니까요. 즉 SE와 NE의 업무는 밀접하게 연결되어 있습니다. 대기업에서 근무할지라도.

다만 개발자쪽은 방향이 좀 틀리다고 생각합니다. SE도 개발스킬이 있으면 좋긴 좋지만 스크립트만 어느 정도 다루어도 SE로서 최소한의 요건은 충족한다고 보니까요.

개발자쪽이나 SE,NE쪽이냐를 먼저 자신의 적성과 희망을 보고 결정하시는 것도 진로 결정의 한 방법이 될 것 같습니다.

===== ===== ===== ===== =====
그럼 이만 총총...[竹]
http://elflord.egloos.com


===== ===== ===== ===== =====
그럼 이만 총총...[竹]
http://elflord.egloos.com

다즐링의 이미지

SE와 NE 의 능력을 동시에 지녀야한 다는 말은 동의합니다만

SE 가 프로그래밍이 안되면 SE 라고 불려서는 안된다고 생각합니다.

프로그래밍 + 설계 스킬 정도는 있어야죠 ^-^

------------------------------------------------------------------------------------------------
Life is in 다즐링

------------------------------------------------------------------------------------------------
Life is in 다즐링

김정균의 이미지

다만 개발자쪽은 방향이 좀 틀리다고 생각합니다. SE도 개발스킬이 있으면 좋긴 좋지만 스크립트만 어느 정도 다루어도 SE로서 최소한의 요건은 충족한다고 보니까요. 

이건 S.A 의 기본 요건이라고 봅니다. script 는 운영에 필요한 조치를 할 수 있을 뿐입니다. 이정도 능력이라면 서버가 장애가 났을 때 왜 장애가 발생했는지에 대한 명확한 판단을 할 수가 없습니다. 가공된 data만 볼 수 있을 뿐이지 low data 를 확인할 방법이 없을 테니까요.

예를 들어 binary data 가 돌아다니는 데몬이 장애가 난다면 packet dump를 할 수 있는 능력이 있을 수가 없겠죠. unpack 을 해야 할 텐데.. unpack 자체가 이해가 되지 않을테니까요.

그리고 개발 능력이라는 것은 단순하게 trouble shooting 시에만 필요한 것이 아닙니다. 시스템 설계를 할 때 사용할 서비스들의 API단의 특징을 파악해서 설계를 하는 것도 필요한 부분이 될 수 있습니다. 단적인 예이지, 저의 경우 설계시에 제 자신의 개발 능력을 배제하고 설계를 해 본적이 없습니다. 그렇다고 제가 개발 능력이 좋은 것은 압니다.

SE에게 필요한 개발 능력은 코드를 이해할 수 있는 능력과, 해당 개발 환경에 대한 이해입니다. 코드를 직접 짜라고 한다면 제가 개발자들 보다 월등히 못할 것입니다만, 해당 언어의 특징 같은 것에 대해서는 아마 제가 훨씬 더 잘 알겁니다. 이런 부분의 개발 능력이 필요하다는 것입니다.

간단하게 SE의 개발 능력에 대해 논해 보자면..

[ 1-3번까지는 옵션]
1. PHP 에서 include 를 사용할 경우와 require 를 사용해야 할 때의 구분을 할 수 있는가?
2. PHP 에서

$p = fopen ('path/file', 'rb);
while ( !feof ($p) ) {
  $r[] = fgets ($p, 1024);
}
fclose ($p)


$r = file ('path/file');

중 어느것이 성능이 좋을까? 그렇다면 왜 좋을까?
3. PHP 에서 32bit 시스템에서 64bit 의 정수를 serialize 하여, 64bit 시스템에서 unserialize 를 하면 어떻게 될까?

4. gcc로 빌드시에, 32bit/64bit 시스템의 long 의 차이는 무엇일까?
5. gcc 옵션에서 -O3 를 어떤 문제를 야기할 수 있는가? -O 옵션이 어떤 영향을 미치는가?
6. 특정 데몬의 프로토콜에서 첫 bit 가 1일 경우 정상인데, 비정상 작동을 한다. 이때 첫번째 비트가 1인지 확인할 능력이 있는가?
7. CFLAGS, CPPFLAGS, LDFLAGS, CXXFLAGS 가 뭔가?
8. 각 장비에서 직접 컴파일을 하면 정말 최적화된 binary 를 얻을 수가 있는가? 그렇다면 어떻게, 왜 그런 결과가 도출이 되는가?
9. 64bit linux 배포본 상에서 현재 작동하고 있는 binary 가 32bit binary 인지 64bit binary 인지 확인할 수 있는 방법은?

이 외에도 수없는 case by case 가 나오지만, 제가 trouble shooting 을 해야 했던 일들 중 몇가지 case를 추려본 것입니다. 이런일을 한 저 조차도 SE라는 명함을 내밀기는 좀 쑥스럽습니다.

개인적인 차이가 있을지도 모르겠지만, 제 자신의 가장 최종적인 SE의 궁극의 모델은 앨런 콕스가 아닐까 싶습니다. 다들 커널 개발자로 알고 있으시겠지만, 제 눈에는 이 사람은 개발자 보다는 SE의 모델에 더 적합하지 않을까 싶습니다. 엔지니어의 입장에서 가려운 부분을 정말 잘 긁어 주는 사람중의 한 사람이 아닐까 싶기 때문입니다.

pcharley의 이미지

신입 또는 1-2년차 SE 인력에 대한 불만이 저만 느끼는게 아닌듯 하군요...
물론 "저"와 같은 "남"을 바란다는 자체가 좀 어불성설이기는 하지만
엔지니어로서 자세나 기술을 둘째 치고, 최소한 사회 초년생으로 자세라도
됐으면 하는 바램이 드네요...

저 개인적으로 SE는 년차가 늘수록 엔지니어라기 보다는 관리자로서의
역활이 더 중요해지는 듯 합니다.