소프트웨어 개발자는 영어로 developer 또는 programmer 또는 coder라고 합니다. 그리고 편의상 포괄적인 의미로 engineer로 분류하기도 하지요.
그런데 IT분야, 그리고 제가 종사해온 소프트웨어 분야에서는 개발자만 기술을 다루는 게 아닙니다. 의외로 개발하지 않는 인력이 훨씬 더 많습니다. 업계 종사자든 아니든 잘 인지를 못 하고 있는 것이 현실입니다.
그중에 대표적인 것이 시스템을 다루는 인력들입니다. 주로 하는 일이 고객이 필요한 소프트웨어나 장비를 설치하고 고객의 상황에 맞게 복잡한 설계 및 설정을 해야 하며 현장에서 문제가 생겼을 때 원인 파악하고 그에 따른 조처를 하는 역할을 합니다.
"고객의 상황"이란 단순한 듯하면서 모호한 단어로 표현했지만, 그 고객이 굉장히 여러 단계의 복잡성을 띄는 경우도 많습니다. 예를 들면 통신사나 금융사에 소프트웨어가 포함된 장비를 납품해야 하는데 서로 연동해야 할 업체가 10개가 넘는 경우도 있습니다. 이런 경우 각 회사와 커뮤니케이션하면서 서로 간에 지원되는 기능을 맞춰야 하고 안될 경우 본사에 요청하고 업체들이랑 협의해서 차선을 마련하고 하는 역할입니다. 하드웨어 업체는 하드웨어대로 여러 업체의 부품을 협의해서 조달해와야 하며 서로 연동할 수 있는지도 확인해야 합니다. 무역 단계에서 생기는 또 다른 문제까지 고려해야 합니다.
현재 대한민국에서 IT업체에는 이런 역할을 하는 사람들이 소프트웨어든 하드웨어든 개발자보다 훨씬 많습니다. 이런 기술자들을 통틀어서 엔지니어(engineer)라고 명칭합니다. 그리고 안타깝게도 프런트에 나설 수 있는 위치가 아니므로 스타 개발자들에 비해서 상대적으로 인정을 못 받고 있는 직종이기도 합니다.
![]() |
| 옛날 소시적 Doom이란 게임으로 대박난 개발자 존 카맥 |
물론 연봉은 다른 이야기입니다. 능력이 뛰어나도 동급의 개발자에 비해서 상대적으로 유명해지기가 힘들 뿐이지 연봉은 그것과는 다른 이야기거든요.
이 말인즉슨 한국의 IT업계는 개발자가 필요 없는 외산 소프트웨어나 장비나 부품을 많이 쓰고 있고 그렇게 돈 버는 회사가 아주 많고 유명해지기는 어려워도 평균적으로 봤을 때 엔지니어들이 월급을 더 많이 받고 있다는 뜻입니다.
![]() |
| 언제 올렸는지 모르겠지만 개발자 없이 엔지니어만 있는 회사의 평균 연봉. 실제로는 더 많음. |
단지 항상 기사나 다른 이슈에서 성공한 몇몇 개발자나 개발 회사들이 이슈가 되기 때문에 체감이 개발자가 나아 보이는 것일 뿐입니다.
사설이 길었는데 소프트웨어 전문 업체도 이런 일을 하는 엔지니어가 분명히 많이 있습니다. 그리고 최근은 이런 엔지니어들이 주로 리눅스를 다루는 비중이 매우 큽니다. 하드웨어 업체는 임베디드 리눅스, 소프트웨어 업체는 그냥 리눅스지요. MS제품도 다루기는 하지만 아무래도 MS제품은 워낙에 고객 지향적으로 잘 만들어져서 나오기 때문에 웬만한 사람들이 어느 정도 잘 다루므로 개별 회사에서 엔지니어가 전문성을 인정받기는 애매한 상황이고 MS제품만 전문적으로 다루는 회사에서나 전문성을 인정받고 있는 경향이 있습니다.
이제야 본론으로 들어가서, 소프트웨어 회사는 엔지니어가 있음에도 불구하고 개발자가 시스템을 다루는 일이 많습니다. 회사 규모가 작을 수록 더 합니다. 작은 회사는 엔지니어가 아예 없는 회사도 많습니다. 개발자가 엔지니어의 역할을 해야 합니다. 개발 외의 다른 부가적인 일들도 개발자가 해야 한다는 이야기지요.
그렇다면 이제 개발자든 엔지니어든 필연적으로 리눅스를 다뤄야 합니다. MS를 동경해서 IT업계에 진입한 초짜 엔지니어들도 개나 소나 MS제품 설정 잘하고 "나도 하는데 니들은 왜 있냐?"라는 뉘앙스의 상황을 몇 번 접해보면 리눅스를 해야 할 것 같다는 압박감에서 벗어나기 어렵습니다.
![]() |
| 리눅스 만든 사람. 확실히 회사들은 돈을 벌고, 일하는 사람들은 고통속에 돈을 받고 있죠~ 물론 사장들도 고통을 받고 있습니다. 돈 벌면서 고통받고... IT뿐만 아니고 대부분의 삶이 그렇지요. |
네. 맞습니다. 리눅스는 개나 소나 치킨도 하기 어렵습니다. 나아가서 저 같은 초특급 슈퍼 개발자도 리눅스를 없애버리고 싶을 정도로 할 때마다 짜증이 납니다. 그래도 리눅스를 다룬다면 뭔가 전문가적인 냄새가 나는 것 같습니다.
컴퓨터를 좋아하는 사람이라면 단연코 "최신 버전"을 좋아합니다. 예전엔 최신의 기능을 써야 한다는 강박관념이었지만 최근은 기능보다 허구한 날 발생하는 해킹 및 랜섬웨어 등의 보안 사고가 나고, 아무것도 모르는 순진무구한 기자들이 그냥 갈겨 써대는 기사에는 최신 패치를 안 해서 그렇다고 하니 무조건 "최신 버전"을 써야 하겠습니다.
그리고 역시 우리 순진무구한 엔지니어들과 우리 회사같이 쪼그만 회사의 개발자들은 "무조건 최신 버전"의 리눅스를 깔고 임원이나 팀장이 시키는 일을 합니다....
![]() |
| 나의 핵융합 에너지. 라이언킹의 좌절 |
그리고 미칠 듯한 좌절을 겪습니다.
되는 게 없거든요. 우여 곡절을 겪어서 얼기설기 되게는 합니다만 그게 나중에 보면 맞는 것도 아니게 됩니다. 보안하고 상관없는 아주 기초적인 방법으로만 될 때가 많거든요...
기술자들의 진리인 구글님께서도 뭔 그런 헛소리들을 길게도 써놨는지 어처구니가 없지요.
결국, 개삽질을 몇 날 며칠을 합니다.
저는 골수 개발자입니다. 개발자라도 시스템을 잘 알아야 개발도 잘한다는 마인드를 가지고 있습니다. 20년 전에 리눅스를 다뤄 봤을 때, 10년 전에 리눅스를 다뤄 봤을 때, 5년 전, 1년 전, 그리고 불과 일주일 전에 리눅스를 다뤄 봤을 때 언제나 개삽질을 합니다. 정말 희한한 건 20년 전, 10년 전, 5년 전, 1년 전, 1주일 전도, 개삽질의 시간은 언제나 비슷하더라고요. 하루에서 3일 정도 걸리네요.
곰곰이 생각해보면 제가 그 오랜 세월 해 온 것이 있어서 그 쌓인 노하우가 있었기에 항상 비슷한 시간을 소모한 것 같습니다. 현시점에서 봤을 때 노하우가 없었다면 해결하는데 일주일 이상이 걸릴 수도 있고 해결을 못 할 수도 있겠습니다.
시스템도 오래 다뤄온 초특급 슈퍼 개발자가 이 정도면 이제 막 시작하는 초급 엔지니어나 개발자들은 정말 죽을 맛일 것 같습니다. 최근에 제가 접하는 문제를 해결하는 데는 기반 지식, 즉 노하우가 매우 많이 들어가고 있습니다.
기반 지식이 없는 사람에게는 정말 백사장에 흘린 반지 찾기나 마찬가지겠습니다. 그리고 백사장에서 반지 찾아서 해결되면 다행인데 그렇지가 않습니다. 예전에 비해서 해결이 안 되는 상황이 매우 많아졌습니다. 반지를 찾았더니 내 반지가 아니거든요. 그래서 내 반지를 다시 찾으려니 임원이나 팀장이 개처럼 쪼아대고 님은 무능한 사람이 되어 버리니까요.
![]() |
| 손이 참 이쁘기도 하네~ |
저는 골수 개발자입니다. 그래서 잘 안될 때 소스를 분석해서 수정하여 해결하는 경우도 많습니다. 실제로 다니던 회사에서 엔지니어들이 도움을 청해서 간단히 소스를 수정해서 대신 해결해 준 적도 많습니다. 그런데 이제는 너무 복잡하고 엮인 것들이 많아서 그것도 잘 안됩니다. 그럴 시간도 주어지지 않습니다. 저의 성격상 시간이 주어진다면 어떻게든 해볼 텐데 이제는 월급쟁이도 아니고 그럴 입장도 못되네요...
그리고...
솔직히 리눅스는 이제 그렇게 쓸데없는 시간을 들일 가치가 없습니다.
시간을 들인다는 것은 그만큼의 남는 것이 있어야 하는데 그런 것이 없다는 겁니다. 절대다수의 소프트웨어가 오픈소스인 리눅스에서 시간 들여서 파헤쳐 봐야 오픈소스 개발자의 실수인 경우도 많고 더 이상 지원이 안 되는 경우도 많고 서로 간에 연동을 서로 자존심 세워서 해결 안 하는 경우도 많고... 기타 등등
정말 체계도 없고 지저분합니다. 그리고 당연합니다. 돈을 받든 안 받든 압박감 없이 개발해서 배포하는 게 오픈소스니까요. 그만큼 쓰는 사람의 애로사항은 고려할 바가 아니지요.
오픈소스의 전도사 에릭 레이먼드의 "성당과 시장"을 두 번 정도 읽어 봤습니다. 성당은 책을 쓰던 당시의 절대 강자 MS, 시장은 그냥 잡다구리한 오픈소스 단체들입니다. 읽은지 오래됐기 때문에 제목만 기억에 남아 있습니다. 그런데 제목이 딱 맞아요. 그냥 시장 그 자체입니다.
시장 가보세요. 지나가는 사람에게 호객행위 하는 가게가 있지만, 시장 바깥에서는 호객행위도 안 합니다. 그 호객행위도 안 하고 그냥 배째라 하는 가게도 많습니다. 그리고 팔면 땡입니다. 나중에 가서 제품 후졌다고 따져봐야 들은 척도 안 하는 곳도 있습니다.
에릭 레이먼드가 제목 하나는 기가 멕히게 지었네요. 오픈소스는 "시장" 그 자체이고 앞으로도 바뀔 방법이 없습니다.
![]() |
| 출처: 구글 이미지 검색 |
그러면 우리는 이렇게 거지 같은 의미 없이 소모적인 개고생을 평생 해야만 할까요? 아니면 리눅스를 때려치우고 MS나 유닉스만 해야 할까요? 유닉스는 IBM이나 HP에 입사하지 않으면 하고 싶어도 이제는 할 수가 없잖습니까... MS는 진짜 한국 MS에 들어가지 않으면 잘 해봤자 아무도 알아주지 않습니다... 아니면 그냥 IT를 떠나야 할까요?
그렇지 않습니다. 우리 정신 속에 자리 잡고 있는 고정관념만 바꾸면 됩니다.
최신버전...
누가 어떻게 어디서 뭣 때문에 만들어 낸 관념인지는 모르겠지만, 저것만 버리면 됩니다. 최신버전이 좋다는 근거도 없습니다. 최신 버전은 항상 새로운 버그를 동반하고 유저는 베타 테스터가 되니까요.
리눅스, 그리고 필요한 소프트웨어는 최신 버전에 대한 고정관념을 버리고 그동안의 자료를 바탕으로 가장 많은 사람이 안정적으로 쓰는 버전을 선택하면 됩니다. 고정관념만 버리면 인생이 행복해집니다. 그리고 스트레스도 매우 많이 덜 받게 됩니다. 임원이나 팀장들로부터 무능하다는 눈빛을 안 느낄 수 있습니다.
그렇지만 나름 뛰어난 엔지니어를 추구하는 님은 시대에 뒤떨어지는 느낌을 받을 수밖에 없겠군요. 리눅스 커널 3.0이 나온지가 언제인데 아직도 서비스에 적용을 못하고 있고, 내가 존재하는 이유가 뭔가? 뭐 이런 또 다른 고정관념이 있을 수 있겠습니다.
고정관념입니다.
신기술을 꼭 회사 업무에 적용해야만 할 필요 있나요? 그런 경우가 있을 수 있겠습니다만 반드시 리눅스 또는 같이 써야 할 소프트웨어를 최신 버전으로 써야만 하는 제약은 많지 않습니다. 리눅스는 그냥 OS일 뿐이니까요. 같이 써야 할 소프트웨어도 그냥 서비스의 수단일 뿐이니까요. 본인의 강박관념일 뿐입니다.
회사에서 도입해야 할 소프트웨어가 리눅스 특정 버전에만 동작하는데 본인이 최신 리눅스를 쓰고 싶을 뿐입니다. 반대의 경우도 마찬가지입니다. 또는 리눅스를 새로 설치 하는 것이 귀찮아서 이미 돌고 있는 서버에 도입해야 할 소프트웨어를 올리고 싶은데 그게 잘 안될 뿐입니다. 그냥 서버 하나 새로 설치하면 되는 아주 간단한 문제를 본인의 고정관념 때문에 개고생을 할 뿐입니다.
그러면 리눅스와 오픈소스들의 최신 버전은 하면 안되나요?
저는 아직까지 그런 말 한적 없습니다. 최신은 항상 해야합니다. 다만 섣부르게 업무에 적용시켜서 그에 따른 피해를 회사와 당사자인 님이 입지 말라는 뜻으로 여태까지 길게 썼습니다. 최신 버전은 틈틈이 따로 해보면 됩니다. 요새는 멀티 부팅이나 가상 서버를 아주 손쉽게 할 수 있으니 그냥 본인의 PC에서 해보고 잘 되면 그 때 회사 업무에 적용해도 늦지 않습니다. 오히려 충분한 습득 후에 실제 서비스에 차질 없이 적용함으로 능력을 인정 받을 수 있습니다.
여기서 잠깐 딴 길로 새 나가자면 "내가 왜 회사의 사정까지 봐가면서 일해야 하나?"
이런 황당한 마인드를 가진 사람들을 정말 많이 겪어 봤습니다. 입 밖으로 안 내도 그런 태도를 봤으며 실제로 저렇게 말하는 사람도 겪어 봤습니다.
위에서와 마찬가지로 저는 회사를 위해서 일해야 한다고 말한 적이 없습니다.
하지만 저딴 마인드가 왜 황당한지 공돌이식 글쓰기로 아래에 나열해보겠습니다.
1. 임원이나 팀장이 원하는 시간에 해결이 안 되면 무능한 사람 취급받는다.
2. 시스템 세팅을 기다리는 갑, 을, 병, 직장 동료들이 있다. 그 모든 사람에게 무능하거나 이기적인 사람 취급받는다.
3. 사람 버리고 개인의 취향대로만 고집한다면 몇 년 후에 갈 곳이 없다.
집에 돈 많은 데 백수로 놀고먹기 뭐해서 일하는 사람 많이 봤습니다. 돈 걱정이 없으니 본인은 놀고 싶고, 놀아도 되는데 엄하신 아버님께서 자식 놀고먹는 꼴은 못 봐서 어쩔 수 없이 회사 다니는 사람도 봤습니다. 이런 부류의 사람이 아니라면 앞으로의 인생에 아주 치명적인 겁니다.
![]() |
| 금수저: 가격도 비싼 놈이 모양도 아주 이쁘군요... |
고정관념을 깨면 되는데 지독히 고지식한 관점으로 회사 서비스에 충분한 테스트도 없이 최신 버전을 적용하려다 일정은 일정대로 까먹고 스트레스는 스트레스대로 받으며 무능력하다는 남의 시선까지 받을 필요는 없는 것입니다.
"리눅스는 궁합을 따져 보고 최신 버전이 아니더라도 서로 맞는 버전으로 세팅해야 합니다. 최신 버전에 대한 강박관념을 버리세요."
무조건 최신을 고집할 필요 없이 실제 운영해야할 소프트웨어와 리눅스 버전과의 궁합이 잘 맞는 버전을 선택해서 하는 것이 낫다는 이야기입니다. 이 말 하나 쓰려고 참 무지막지하게도 길게 썼네요. 아마도 읽다가 중간에 몇몇 분들이 나가 떨어졌을거라 봅니다.
![]() |
| 좋겠어요... 누구는 그냥 재미로 했다가 유명해지고 돈 많이 벌고 노후 걱정도 없으니. |
리눅스 만든 핀란드 사람이 저의 블로그를 볼 일도 없고 한글을 알 수도 없을테니 "명예회손(어느 돈 많은 그룹 회장의 따님이자 이사님께서 이렇게 썼더라고요.)" 소송은 안 당하겠네요.
비꼬긴 했지만, 리눅스는 개발자를 포함한 엔지니어 입장에서는 정말 재미있는 물건입니다. 돈과 시간이 받쳐준다면 말이지요. 커널 소스를 보고 있으면 이렇게도 하는 구나! 라는 생각이 많이 듭니다. 그 수 많은 오픈소스들을 보고 있자면 내 생각이 다 맞는 것도 아니구나 하는 생각도 듭니다. 개발자가 아니라도 그 수 많은 오픈소스들을 설치해서 잘 동작하는 것을 보는 재미와 보람도 정말 쏠쏠할 것입니다.
그렇지만 그건 그거고 일은 일입니다. 일 할 때는 여러 상황에 맞춰서 주어진 짧은 시간에 맞춰서 제대로 해내야 하는 거지요.
최대한 간결하게 글을 쓰려고 노력하겠지만 아무래도 정보를 다루는 글이다 보니 그러기엔 힘들것 같습니다. 앞으로도 제 글은 그렇겠지만 그래도 노력해 보도록 하겠습니다.









댓글 없음:
댓글 쓰기