한국에서 시스템 엔지니어로 산다는거.
한국에서 가장 큰 병폐가 무엇일까? 자주자주 그리고 오랫동안 생각해온 문제였고 사회생활을 비롯한 각종 활동에서도 이러한 물음에 대한 답을 찾기위한 약간의 실험같은 것을 했었다.
이에 대한 물음에 적절한 또 다른 물음은 ‘당신 곁에서 나약해보이고 없어보이는, 능력이던 재력이던간에, 사람이 있을 경우에 어떻게 대할 것인가?’ 라는 것이 있다. 한국에서 ‘없어보인다’ 라는 말은 굉장히 많은 의미를 담아낼 수 있는 말이다. 능력이 없을수도 있고 재력이 없을수도 있고 외모가 없을수도 있고 전체적으로 풍기는 이미지가 못미더울 수도 있는 가져다 붙이면 다 되는 말이라고나 할까.
내 직업은 시스템 엔지니어다. 아니, 정확하게 말하면 시스템 엔지니어도 아니고 그렇다고 개발자도 아니다. 굳이 말하자면 소프트웨어 엔지니어라에 더 근접한다. 그런데도 일단은 서버 시스템을 더 많이 다룬다. 뭔가를 설치하고 설치한 프로그램이 제대로 동작하는지를 모니터링하고 시스템을 튜닝하고 보안 업데이트를 하고 하는 일이 주다.
그런데, 지금 내가 하는 직업이 한국에서는 별로 좋은 직업이 아닌게 분명해지고 있다. 여기서 별로 좋은 직업이 아니다라는 말에 의미는 앞에서 말한 ‘없어보이는 직업’이라는 뜻과 같다.
IT 산업은 거대하다. 그 속에는 각종 직업군들이 존재한다. 프로그래머, 시스템 엔지니어, 네트워크 엔지니어등등 다양하다. 그런데, 시스템 엔지니어를 수년간하면서 느낀점은 제일 없어보이는 직업군이라는 거다.
잘 동작하던 서버 프로그램이 오류를내거나 응답반응을 하지 않을 경우에 제일 먼저 누구를 찾을까? 시스템에는 몇달간 변경사항이 없었지만 서버 프로그램에서 돌리는 소프트웨어에는(예를들면, Python, php, Java등등) 많은 변경이 있었다. 그런데도 문제가 생기면 시스템 엔지니어를 먼저 찾는다. 왜? 프로그래머는 자신이 변경한 코드에 대해서 발생되는 문제에 대해서 1차적 책임을 지지않는가?
시스템 엔지니어는 고달픈 직업이다. 예를들어, LAMP 시스템을 운영한다고 한다면 시스템 엔지니어는 리눅스만 알아서는 안된다. Apache, MySQL, PHP 에 대한 설정과 그러한 설정이 시스템에 어떠한 영향을 미치는지도 함께 알아야 한다. 더 나가서는 PHP, MySQL 개발 경력도 필요로한다.
실제로 시스템 엔지니어를 뽑는다는 구직조건들을보면 다음과 같은 것들을 자주 보게 된다.
SM – Java 개발경력 3년차, Tomcat, Spring, Hibernate 시스템 운영.
시스템엔지니어 – LAMP 시스템. PHP개발자 경험자 우대. L4 스위치 및 네트워크 운영.
그런데도 이러한 사람들의 경력 5년차의 경우에 국내 연봉이 얼마정도 일까? 잘나간다는, 다섯손가락에 꼽는 회사들을 빼고는 거의 대기업 신입초봉과 비슷한 정도다.
더욱 심각한 문제는 사공이 많은 것이다. 시스템을 구축할때에 이래라 저래라하는 인간들이 너무나 많다. IT 산업내 직업군중에서 자신의 소관도 아닌데도 타인에게 감놔라 배추놔라를 직업군이 있다면 그게바로 시스템엔지니어들이다.
이번에 시스템 구축할때 우리도 AWS 로하면 안되요?
AWS 로 하면 AutoScaling, Provisioning 도 되게 준비를 다해줬으면 좋겠습니다. 아, 거기다 자동배포도 되게 해주세요.
시스템엔지니어들이 언제부터가 개발자들을 고객으로 맞이했는지는 모르겠다. 저런걸 구축해주면 AWS 모니터링부터 AutoScaling, Provisioning 등에 유지보수등을 도맞아서 해줄건가? 거기다 안타갑게도 대부분의 국내시스템에서 AutoScaling, Provisioning 을 할만큼 예측불가능한 전체 시스템 스케일을 가진 경우는 거의 없다. 바꿔 말하면 대략적으로 몇대정도 시스템이 필요한지 다 예측가능한 시스템이다.
그런데도 어디서 주워들었는지 트랜드를 쫓아가고 싶어서인지 이것저것 간섭하는 이들이 적지 않다. 그런 간섭은 거의다 개발자들이 였다.
개발자들이 보기에 시스템엔지니어는 없어보이는 직업군이다. 자신들은 개발자들이기에 TCP 서버도 개발해보고 C도 개발해보고 더나가 C로 짜여진 리눅스 시스템을 시스템엔지니어들보다 더 잘 이해한다고 생각하고 그래서 개발하고는 거리가 먼 시스템엔지니어를 한단계 낮게 본다.
그래서 뭔가 시스템엔지니어가 시스템에 뭔가를 바꾼다라고 공지를하면 자신이 개발한 경험 TCP/IP 개발이나 시스템개발을 한 지식을 기반으로 ‘니들이 시스템 내부를 잘 모르나본데, 그거 바꾸는 이유는 알고 하는거냐?’ 식의 핀잔이나 ‘개발자가 갑이지 시스템엔지니어는 무슨… ‘ 식의 면박을 받기 쉽상이다. 개발자들은 그냥 시스템을 다루는 명령어 사전만 모를뿐이고 그러한 명령어 사전은 별 의미가 없다는 인식이 팽배하다.
자, 다시 글의 처음으로 돌아가보자. 한국 사회의 병폐가 무엇이라 보는가? IT산업내에 많은 직업군내에서 존재하는 서열. 개발자 갑, 시스템엔지니어 을, 네트워크 엔지니어 별동대. 이글을 읽는 개발자들은 ‘니만 경험한 세계’, ‘소수일뿐이다’ 따위의 생각은 ‘당신은 경험이 없다’는 걸 반증하는 것밖에 안된다. 자신은 고결한 경력을 쌓아서 주변에 그렇지 않았다가 아니라 그런한 문제를 피했다라는걸 말하는거밖에 안된다. 마치 사회문제에 무감각한것처럼..
한국 사회의 병폐는 ‘없어보이는자’ 위에 올라서서 이래라 저래라하는 사고체계에 있다. 한국인이 이해하려고 하지 않는 단어
Respect
개발자들은 시스템엔지니어를 Respect 합니까? 아니 더나가 각종 타 직업군들에 대해서 Respect 합니까?